【问题标题】:get user displayName in firebase cloud function using context使用上下文在 Firebase 云函数中获取用户 displayName
【发布时间】:2022-02-16 21:56:42
【问题描述】:
在我的 firebase 云功能中,我可以使用以下方式获取在客户端拨打电话的每个用户的电子邮件:
context.auth.token.email
有没有办法获取用户的显示名?我试过context.auth.token.name,但它仍然返回一个未定义的属性。
【问题讨论】:
标签:
node.js
firebase
firebase-authentication
google-cloud-functions
【解决方案1】:
context.auth.token 是 DecodedToken 类型的对象,不包含用户显示名称。您必须使用 Admin SDK 并通过 UID/电子邮件获取用户。
export const functionName = functions.https.onCall(async (data, ctx) => {
const { uid } = ctx.auth?.token
const user = await getAuth().getUser(uid)
console.log(user.displayName)
// ...
})