目前,我正在开发用户可以使用 Google 登录的应用程序。作为登录过程的一部分,我们需要将 Google ACCESS TOKEN 和 REFRESH TOKEN 发送到服务器端。
我正在通过以下方法检索访问 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());
}
我从中访问访问 token 的 GoogleAuthUtil 类没有刷新 token 的功能。那么如何获取Refresh Token呢?提前致谢!
最佳答案
你应该使用 server auth code flow via Auth.GOOGLE_SIGN_IN_API :在 Android 客户端上获取服务器授权代码,发送到您的服务器,服务器交换刷新代码和访问 token (带有 secret )。 blog post 中有更多详细信息
此外,如果您现在正在使用 GoogleAuthUtil.getToken 作为访问 token ,您确实想看看这个 Google Sign-In best practice blog post查看如何迁移到推荐的流程以确保安全性和最佳用户体验。
关于Android:如何通过 Google Sign-In API 获取 Refresh Token?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35154509/