fal*_*it3 5 android google-authentication google-login google-oauth
我正在尝试使用以下指南登录谷歌工作:http : //www.androidhive.info/2014/02/android-login-with-google-plus-account-1/ https://developers.google. COM/+ /移动/安卓/工具入门
登录工作正常,我可以正确登录.现在我需要的下一步是将访问和刷新令牌发送到我的服务器,以便服务器可以访问用户谷歌帐户详细信息(图片/名称等)并将其作为新用户保存在数据库中.
我尝试使用以下代码获取访问令牌:https: //github.com/googleplus/gplus-photohunt-client-android/blob/master/src/com/google/plus/samples/photohunt/auth/AuthUtil.java
当我在这里插入访问令牌时:https: //www.googleapis.com/oauth2/v1/tokeninfo?access_token =
我看到access_type是"在线".我相信为了接收刷新令牌并使其工作,我将需要请求用户离线访问.我不确定如何从上面的指南中的代码中做到这一点.
我怀疑它一定在这里:
// Initializing google plus api client
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this).addApi(Plus.API, null)
.addScope(Plus.SCOPE_PLUS_LOGIN).build();
Run Code Online (Sandbox Code Playgroud)
但是我没办法在这里将访问类型设置为脱机.在这一点上,整个过程听起来相当复杂,我希望之前有过这样做的人有一个指南/教程写在某个地方,这使得更容易理解如何让用户登录到您的Android设备并将该用户保存在您的数据库中在您的服务器上,所以他们都是同步的.任何帮助和方向将不胜感激.
编辑1: 在阅读谷歌文档更多,有可能让流程按上述方式运行:https: //developers.google.com/accounts/docs/CrossClientAuth 所有Android应用程序如何处理多个平台上的用户注册?像Android和网站一样?如果我正在尝试的方法是唯一的方法,我会期望更多的资源.或者,如果有另一种替代解决方案,我很想知道.谢谢.
事实上,正确的方法是使用 CrossClientAuth 方向。
用户第一次打开您的应用程序时,您可以请求一个 id_token w/ 受众等于您的网站 client_id。如果您已经知道用户的电子邮件地址,则不需要额外的用户同意,因为 id_token 只是一个识别令牌。然后,您可以验证该帐户是否存在于您的家庭服务器中,而无需额外的人工交互。如果该帐户不存在,您可以获取授权码并使用 CrossClientAuth 技术将其发送到您的家庭服务器。在您的家庭服务器获得授权后,您的 Android 应用程序应该能够通过简单地请求此类令牌来获取 access_tokens,而无需进一步批准。
| 归档时间: |
|
| 查看次数: |
1890 次 |
| 最近记录: |