Firebase控制台显示用于自定义身份验证的空标识符

时间:2018-07-20 16:28:09

标签: node.js firebase firebase-authentication

我为Firebase使用了自定义身份验证方案。令牌是由我的nodejs后端生成的:

mFirebase
        .getAuth(token)
        .createCustomToken(uid, claims)
        .then(sendToken)
        .
        .

当我查看Firebase控制台的“用户”部分时,“标识符”字段始终为空。

我想知道这是否是预期的行为,还是可以从后端提供其他名称(例如用户名或电子邮件)显示在这里?

enter image description here

1 个答案:

答案 0 :(得分:1)

这是预期的。如果要显示该电子邮件,则需要为该用户设置电子邮件。 您有2个选择。

在设置自定义令牌之前进行设置:

return admin.auth().createUser({
  uid: 'customUserUid',
  email: 'user@example.com'
}).then((userRecord) => {
  return admin.auth().createCustomToken(userRecord.uid);
}).catch((error) => {
  // Error.
});

登录后更新用户电子邮件客户端:

firebase.auth().signInWithCustomToken(customToken).then((result) => {
  return result.user.updateEmail(userEmail);
}).catch((error) => {
  // Error.
});