我刚刚将Twitter登录到我的Firebase Web应用程序。当用户成功登录后,我想查看用户的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?)
uid似乎是一个唯一的ID,但它与我们通常使用的Twitter ID不同,例如@snakajime(属于我的)。
我想知道为什么我在这里看不到Twitter ID。我想念什么吗?是否有任何API可以从这个奇怪的uid获取Twitter ID?
实际上,您可以在登录后立即通过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.
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句