The example在Firebase中使用 reauthenticate()
仅显示如何重新验证使用 Email and Password 签名的用户:
AuthCredential credential = EmailAuthProvider.getCredential("user@example.com", "password1234");
FirebaseAuth.getInstance().getCurrentUser().reauthenticate(credential);
我也知道如何使用Facebook提供商重新进行身份验证( credential = FacebookAuthProvider.getCredential(AccessToken.getCurrentAccessToken().toString())
) .
问题是Google API中没有等效方法来获取当前的访问令牌并最终获得 AuthCredential
. 那么在这种情况下我应该传递给 getCredential()
?
3 回答
我知道这是一个老问题,但我没有找到完整的答案 . 这是在Android上如何做到这一点 .
考虑到您将收到
GoogleSignInResult
作为对登录的回复,我认为您可以使用以下代码:您可以通过2种方式获得
GoogleSignInResult
进行身份验证 .i)通过在谷歌登录界面输入电子邮件ID和密码 .
ii)从电话中已登录的帐户中选择帐户 .
我使用第二种方法获取访问令牌并验证用户身份 .
更多支持参考链接如下 .
google sign in link 1
Stackoverflow - token refresh
google auth provider documentation
server side token verification docs
如果您唯一的目标是获得令牌,那么您也可以尝试this github source .
//使用登录选项来构建api客户端权限 .
//获得身份验证