代码之家  ›  专栏  ›  技术社区  ›  rupps

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

  •  0
  • rupps  · 技术社区  · 6 年前

    我为Firebase使用自定义的身份验证方案代币由我的 nodejs 后端:

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

    当我检查firebase控制台的“users”部分时,“identifier”字段总是空的。

    我想知道这是否是预期的行为,或者我可以从我的后端提供额外的东西,如用户名或电子邮件,显示在那里。

    enter image description here

    1 回复  |  直到 6 年前
        1
  •  1
  •   bojeil    6 年前

    这是意料之中的。如果要显示电子邮件,需要将其设置在用户上。 你有两个选择。

    在您创建自定义标记之前设置:

    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.
    });