【发布时间】:2020-06-01 17:13:21
【问题描述】:
Firebase 正在使用 startActivityForSignInWithProvider 为用户登录的回调提供 AuthResult(在我的例子中,提供者是 Android 平台上的苹果)。 我似乎无法以正确(同步)的方式从中获取 idToken。
到目前为止,我找到了两个选项,都不满意:
选项 1:投射
((OAuthCredential)authResult.getCredential()).getIdToken()
这可行,但我不确定它是否安全。 Plis,我在想,如果 Firebase 希望我们以这种方式获取 idToken,他们就会将其添加到 AuthCredential 中。
选项 2:从用户那里获取它
authResult.getUser().getIdToken(false).addOnCompleteListener { ... }
这似乎是一个安全的解决方案,但它是一种异步方法。在用户手动登录之后执行另一个异步方法似乎没有意义(这是我为现有用户所做的)。
【问题讨论】:
标签: android firebase-authentication apple-sign-in