Возможно, вы захотите просмотреть эту документацию .
2 вещи о вашем подходе:
1) Синтаксис строки разрешения в правиле безопасности неПосмотрите правильно для того, что вы пытаетесь сделать, поскольку в нем отсутствует предложение if <condition>
, на основе примеров на этой странице выше должно читаться:
// Allow read/write access to all users under any conditions
// Warning: **NEVER** use this rule set in production; it allows
// anyone to overwrite your entire database.
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if true;
}
}
}
Попробовав это, хотя, пропуская это, действительно появляетсягенерировать предупреждение о том, что база данных открыта для всех, поэтому вряд ли это станет проблемой.
2) На этой странице также ясно, что облачные функции не полагаются на правила безопасности для базы данных и вместо этого зависятв IAM, поэтому вы можете проверить идентичность, выполняемую функцией, а также роли, которыми обладает эта идентичность. (Подробнее здесь ). Однако, как правило, здесь должны работать настройки по умолчанию (особенно если вы используете только Firebase, а не обычную облачную консоль Google).
И последнее: в коде функций вам никогда не требуется модуль функций. Вам также необходимо включить строку, подобную этой:
const functions = require('firebase-functions');
Это, конечно, должно произойти сбой во время развертывания с ошибкой типа «ReferenceError: функция не определена», так как JavaScript не будет анализироваться.
Если это не поможет, предоставьте больше информации об ошибке, которую вы получаете (когда она генерируется - при развертывании? Когда функция выполняется? Есть ли какая-либо трассировка стека и т. Д.).