android – 服务器端访问与跨平台单点登录配置不清楚

android – 服务器端访问与跨平台单点登录配置不清楚,第1张

概述我无法理解 Android Google+ Sign in documentation 我想用Server-side access for your app支持“用Google登录”,我也想支持Cross-platform single sign on.但是我不清楚我是否真的可以同时使用GoogleApiClient.connect()和另一个GoogleAuthUtil.getToken (). 我无法理解 Android Google+ Sign in documentation

我想用Server-side access for your app支持“用Google登录”,我也想支持Cross-platform single sign on.但是我不清楚我是否真的可以同时使用Googleapiclient.connect()和另一个GoogleAuthUtil.getToken ().

如果我尝试同时使用GoogleAuthUtil.getToken()获取离线令牌,并使用Googleapiclient.connect()进行跨平台单点登录,则用户会在权限屏幕上提示两次.
(我还必须设置两次服务器客户端ID和范围接缝愚蠢)

有什么想法吗?我做错了吗?

解决方法 好消息是你想要做的事情得到支持!

您看到两次权限提示的原因是您在解析服务器端问题(GoogleAuthUtil.getToken()问题之前)解决客户端问题(Googleapiclient.connect()问题).

Googleapiclient.connect()仅在用户尚未授予您的应用权限时才会要求权限. GoogleAuthUtil.getToken(“oauth2:server:clIEnt_ID:< server clIEnt-ID>:API_scope:< scope1>< scope2>”)每次都会请求权限,因为您正在为您请求脱机访问(刷新令牌)服务器.

为确保您只看到一次权限屏幕,您必须先检查您的服务器是否需要访问令牌,如果没有,请先使用GoogleAuthUtil.getToken()请求服务器(这将向用户显示权限屏幕).确保服务器具有有效的刷新令牌后,您可以调用Googleapiclient.connect(),这将不会显示权限屏幕.

伊恩·巴伯写了一篇博文,解释了实现这种流程的方法:

http://www.riskcompletefailure.com/2013/10/google-android-client-server-sign-in.html

该帖子以PlusClIEnt方式进行谈判,现在已弃用Googleapiclient,但该流程仍然有效.

总结

以上是内存溢出为你收集整理的android – 服务器端访问与跨平台单点登录配置不清楚全部内容,希望文章能够帮你解决android – 服务器端访问与跨平台单点登录配置不清楚所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1127564.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存