其他分享
首页 > 其他分享> > Android:如何通过Google登录API获取刷新令牌?

Android:如何通过Google登录API获取刷新令牌?

作者:互联网

目前,我正在开发用户可以使用Google登录的应用程序.作为登录过程的一部分,我们需要将Google ACCESS TOKEN和REFRESH TOKEN发送到服务器端.

我通过以下方法检索访问令牌,

        mAccountName = googleSignInAccount.getEmail();
        String scopes = "oauth2:profile email";
        String token = null;
        try {
            token = GoogleAuthUtil.getToken(activity.getApplicationContext(), mAccountName, scopes);
        } catch (IOException e) {
            Logger.eLog(TAG, e.getMessage());
        }

我正在访问访问令牌的GoogleAuthUtil类没有刷新令牌的功能.那么如何访问Refresh Token呢?提前致谢!

解决方法:

您应该使用server auth code flow via Auth.GOOGLE_SIGN_IN_API:在Android客户端上获取服务器授权代码,发送到您的服务器,服务器交换代码以进行刷新和访问令牌(带有秘密).此blog post还有更多细节.

此外,如果您现在使用GoogleAuthUtil.getToken作为访问令牌,您需要查看此Google Sign-In best practice blog post以了解如何迁移到建议的流程以确保安全性和最佳用户体验.

标签:android,google-play-services,google-api,access-token,google-signin
来源: https://codeday.me/bug/20191004/1854478.html