我使用OAuth2进行自动登录。但我不知道getToken()方法中的scope参数是什么,请帮助我。GoogleAuthUtil.getToken()方法的范围是什么?
1
A
回答
2
的OAuth2授权使用 访问令牌来访问,而不是使用用户名和密码的API。在 正常的OAuth2方法中,我们最初将使用范围,重定向URL和客户端ID从授权机构请求授权代码 ,然后 与客户端ID和客户端密钥交换代码以获得访问令牌 和刷新令牌。但使用Android AccountManager,我们可以轻松获得Google API的 访问令牌。
GoogleAuthUtil.getToken()
有三个参数:上下文,电子邮件地址,以及另一个名为范围字符串参数。每个愿意谈论OAuth 2.0的信息资源都需要发布它使用的范围(或范围)。例如,要访问Google+ API,范围为oauth2:https://www.googleapis.com/auth/plus.me.
您可以在一次调用中提供多个以空格分隔的范围,并获取提供对其全部访问权限的令牌。这样的代码可能是典型的:
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()
将是同步的,但三件事情保持它没有那么简单:
第一次应用程序请求令牌访问某些资源时,系统将需要与用户进行交互,以确保他们没问题。
无论何时您询问令牌,系统都可能与身份后端服务进行网络对话。
处理这些请求的基础架构可能会被大量加载,并且无法立即让您获得令牌。它不会让你等待,或者只是失败,它可能会要求你离开并稍后再回来。
相关问题
- 1. android:largeScreens的范围是什么?
- 2. @EnableTransactionManagement的范围是什么?
- 3. LoaderManager的范围是什么?
- 4. PTRACE_TRACEME的范围是什么?
- 5. keywordstats的范围是什么?
- 6. 什么是Server.MapPath的范围
- 7. DateTime的范围是什么?
- 8. 究竟是什么地方范围?
- 9. Java中的范围,最好的方法是什么?
- 10. 解决这个范围问题的最好方法是什么?
- 11. 什么是在数字线上设置范围的好方法?
- 12. 什么是获得范围补充的最快方法?
- 13. 什么是范围锁?
- 14. 什么范围是从
- 15. 什么是范围(在FS)?
- 16. GoogleAuthUtil.getToken()方法抛出IllegalStateException
- 17. 范围的方法
- 18. 脚本范围的目的是什么?
- 19. Scala中的Random.nextDouble的范围是什么?
- 20. ColdFusion组件中Client范围和参数范围的用法是什么?
- 21. JavaScript中的文档是什么,它的范围是什么?
- 22. 什么是javascript中的文件范围
- 23. 什么是Go的范围time.Tick?
- 24. JavaScript中的范围链是什么?
- 25. 什么是MongoDB中的“JavaScript与范围”
- 26. 嵌套结构的范围是什么?
- 27. c中的范围检查是什么?
- 28. 什么是TimeSeriesChart的最大范围值
- 29. 什么是Hybris的租户范围?
- 30. 什么是OpenGL纹理ID的范围?