gpt4 book ai didi

android - GoogleAuthUtil.getToken() 方法的范围是什么?

转载 作者:搜寻专家 更新时间:2023-11-01 08:39:18 25 4
gpt4 key购买 nike

我正在使用 OAuth2 进行自动登录。但我不知道 getToken() 方法中的范围参数是什么,请帮助我。

最佳答案

OAuth2 authorization uses access token to access APIs instead of using username and password. In normal OAuth2 method we would initially request Authorization code from the Authority using scope, redirect URL, and client id,then exchange the code with client id and client secret to get access token and refresh token. But using Android AccountManager we can obtain the access token easily for Google APIs.

GoogleAuthUtil.getToken() 采用三个参数:上下文、电子邮件地址和另一个称为范围的字符串参数。每个愿意谈论 OAuth 2.0 的信息资源都需要发布它使用的范围。例如,要访问 Google+ API,范围是 oauth2:https://www.googleapis.com/auth/plus.me. 您可以在一次调用中提供多个以空格分隔的范围并获取提供对所有这些的访问权限的 token 。像这样的代码可能很典型:

private final static String G_PLUS_SCOPE = 
"oauth2:https://www.googleapis.com/auth/plus.me";
private final static String USERINFO_SCOPE =
"https://www.googleapis.com/auth/userinfo.profile";
private final static String SCOPES = G_PLUS_SCOPE + " " + USERINFO_SCOPE;

getToken() 将是同步的,但有三件事使它变得不那么简单:

应用首次请求 token 以访问某些资源时,系统将需要与用户交互以确保他们同意。

每当您请求 token 时,系统很可能会与身份后端服务进行网络对话。

处理这些请求的基础架构可能负载很重,无法立即为您获取 token 。它不会让您等待或只是失败,它可能会要求您离开并稍后再回来。

致谢 OAuth Identity Tools

https://developers.google.com/android/reference/com/google/android/gms/auth/GoogleAuthUtil.html#getToken(android.content.Context)

关于android - GoogleAuthUtil.getToken() 方法的范围是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34282560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com