CEN*_*EDE 3 firebase google-cloud-functions firebase-admin
我用以下方式设置我的云功能firebase-admin:
const admin = require('firebase-admin');
const fn = require('firebase-functions');
admin.initializeApp(fn.config().firebase);
Run Code Online (Sandbox Code Playgroud)
但是,我在写入数据库时获得了许可.奇怪的是它只发生在某些集合中,而不是发生在所有集合中.有些是作品,有些则不然.
我的理解admin.initializeApp(fn.config().firebase);是,这将允许我的云功能对数据库具有绝对的权力,无论如何security rules.
这是错误:
编辑
我写这样的数据.
exports.foo = fn.database.ref('some-path').onWrite(e => {
// some handling
const ref = e.data.ref;
return ref.child('bar').set('some-data').then( // ).catch( // );
})
Run Code Online (Sandbox Code Playgroud)
要从事件中提供的DeltaSnapshot获得对数据库的完全访问权限,请使用adminRef:
返回对发生触发写入的数据库位置的引用.与ref类似,但具有完全读写访问权限,而不是最终用户访问权限
exports.foo = fn.database.ref('some-path').onWrite(e => {
// some handling
const ref = e.data.adminRef; // <== CHANGED
return ref.child('bar').set('some-data').then( // ).catch( // );
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
697 次 |
| 最近记录: |