【发布时间】:2022-03-30 14:39:07
【问题描述】:
我正在尝试通过 Firebase Javascript SDK 在网络上使用 Apple OAuth,当我这样做时,返回的用户对象很好,除了 displayName,它为 null。
let provider = new firebase.auth.OAuthProvider("apple.com");
provider.addScope("email");
provider.addScope("name");
let userCred = await firebase.auth().signInWithPopup(provider);
但是,当我查看 userCred 时,我得到:
displayName: null
我尝试了fullName 的范围,但没有成功。
有什么方法可以获取显示名称吗?我使用它是为了让我的用户可以在网站上看到他们的名字,从而个性化体验。
【问题讨论】:
-
只是为了确认:“Apple 仅在用户首次登录时与应用共享用户信息,例如显示名称。通常,Firebase 会在用户首次登录 Apple 时存储显示名称,您可以通过 firebase.auth().currentUser.displayName 获得。但是,如果您之前使用 Apple 在不使用 Firebase 的情况下将用户登录到应用程序,Apple 将不会向 Firebase 提供用户的显示名称。”你确定你是第一次使用?您可以尝试使用任何其他 Apple ID 吗?
-
我现在真的没有其他可用的 Apple ID。这是一个新的应用程序,虽然我在开发过程中确实使用了另一种登录方法。这可能是这里的问题吗?我已经多次测试使用 Apple ID 登录 - 有没有办法“重置”Apple ID 以供 firebase 进行测试?
-
您可以尝试从 Firebase 控制台删除您的帐户吗?
-
我已多次从 Firebase 控制台删除我的帐户。在这方面没有运气。我正在让其他人尝试登录。
-
我让其他人尝试过,它确实出现了。所以我想这只是我的Apple ID。我想知道是否有办法重置它。
标签: javascript firebase oauth firebase-authentication apple-login