我刚刚升级到Firebase云功能1.0,由于没有event参数,因此没有event.auth.variable.uid用于提供有关当前用户的信息(尽管未记录)。

Firebase 1.0具有新的上下文参数,类似于

{ service: 'firebaseio.com',
 name: 'projects/_/<ref>/pushId5' },
 authType: 'ADMIN',
 params: { pushId: 'pushId5' } }


如何在新的Firebase函数sdk中获取当前用户信息?

最佳答案

根据文档:


  EventContext.auth V1.0.0引入了两个新属性,用于为触发功能的用户访问用户信息,包括权限。
  
  EventContext.auth包含诸如uid和经过身份验证的用户的auth令牌的信息。
  
  EventContext.authType包含权限级别,例如,允许您检测用户是否为管理员用户。


使用未记录的event.auth字段的开发人员应更新任何相关代码以使用这些新属性。

因此,要获取有关用户的信息,请执行以下操作:

exports.dbWrite = functions.database.ref('/path/with/{id}').onWrite((data, context) => {
const authVar = context.auth.uid;
const authType = context.authType.ADMIN;

});


更多信息在这里:

https://firebase.google.com/docs/functions/beta-v1-diff#sdk_changes_by_trigger_type

https://firebase.google.com/docs/reference/functions/functions.EventContext#.authType

09-19 17:24
查看更多