Firebase 身份验证:是否可以查看用户的 Twitter ID?

Sat*_*ima 5 twitter firebase firebase-authentication

我刚刚在我的 Firebase 网络应用中实现了 Twitter 登录。当用户成功登录时,我想查看用户的 Twitter ID(以启用用户之间基于 Twitter 的通信)。

根据文档(https://firebase.google.com/docs/auth/web/manage-users),提供者特定信息位于用户信息的 providerData 下。

在 providerData 下,我看到以下内容

displayName: "Satoshi Nakajima" (as I expected)
email: null (as I expected)
phoneNumber: null (as I expected)
photoURL: "https://abs.twimg.com/..." (as I expected) 
providerId: "twitter.com" (of course)
uid: "1129128..." (what is this?)
Run Code Online (Sandbox Code Playgroud)

uid 看起来像一个唯一的id,但它与我们通常使用的Twitter ID 不同,例如@snakajime(这是我的)。

我想知道为什么我在这里看不到 Twitter id。我错过了什么吗?是否有任何 API 可以从这个奇怪的 uid 中获取 Twitter ID?

boj*_*eil 6

您实际上可以在登录后立即通过 AdditionalUserInfo 获取它。

以下是 Web API 的示例:

firebase.auth().signInWithPopup(new firebase.auth.TwitterAuthProvider())
  .then((userCredential) => {
    // Get the Twitter screen name.
    console.log(userCredential.additionalUserInfo.username);
  })
  .catch((error) => {
    // An error occurred.
  });
Run Code Online (Sandbox Code Playgroud)