我正在深入Firebase功能(服务器端),并且无法从功能中获取身份验证信息.在它最简单的形式中,我将部署到Firebase函数的index.ts如下所示:
import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';
admin.initializeApp();
export const createOrganization = functions.firestore.document("Organizations/{organizationId}").
onCreate((snap, context) => {
console.log(context)
});
Run Code Online (Sandbox Code Playgroud)
我可以从Firebase的日志记录中看到这个函数确实被调用,并且记录的上下文看起来像这样:
{ eventId: 'XXXXX-XXXX-XXXX',
timestamp: '2018-04-13T21:37:33.349247Z',
eventType: 'google.firestore.document.write',
resource:
{ service: 'firestore.googleapis.com',
name: 'projects/XXXX/databases/(default)/documents/Organizations/XXXXXXXXXXXX'
},
params: { organizationId: 'XXXXXXXXXXXX' }
}
Run Code Online (Sandbox Code Playgroud)
我希望从文档中可以看到context参数还包含名为"authType"和"auth"的属性,这些属性包含有关发出请求的用户的信息.但是,在尝试了各种各样的事情之后,context.authType和context.auth总是未定义的.
我作为授权用户和未经授权的用户尝试了这一点,没有任何变化.
任何帮助搞清楚为什么没有填充context.authType和context.auth会非常有帮助,谢谢!