android – Google登录后端服务器身份验证

前端之家收集整理的这篇文章主要介绍了android – Google登录后端服务器身份验证前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在编写一个用于语音聊天的 Android应用程序,并决定使用Google Sign-In对我的后端服务器进行简单的用户身份验证.但是,我不明白应用程序应该如何通过我的后端进行身份验证.当用户使用他的Google帐户登录并且我收到ID令牌时,我可以将ID令牌发送到服务器,然后服务器验证它.那是什么呢?如何验证以下请求,例如当用户发送/接收语音邮件并且应用程序需要向/从服务器上传/下载邮件时?服务器需要知道哪个用户正在发出请求,但ID令牌是不合适的,因为它很快就会过期,其完整性验证是一个复杂且相对较长的过程.

解决方法

Google登录API:涉及以下步骤:

>用户使用iOS / Android应用程序登录Google.
> Google向客户端(iOS / Android应用程序)返回tokenid(以及一些额外信息.请参阅link获取更多信息).
>客户端将tokenid发送到后端服务器.
>服务器使用Google客户端API(或通过发出GET请求来调用google端点,但要注意它有与之关联的网络延迟)以验证令牌的完整性.在此步骤中,应满足某些标准.见Here.
> GoogleAPI会向服务器返回一些信息.什么样的信息?
像这样的东西:

{u’picture’:
u’07002′,
u’sub’: u’10270538098780639-55′,u’family_name’: u’Dusad’,u’iss’:
u’07003′,u’email_verified’: True,u’name’:
u’Utsav Dusad’,u’at_hash’: u’BMjN0mWeOMqVVBhjW_W9A’,u’given_name’:
u’Utsav’,u’exp’: 1484582338,u’azp’:
u’85959433390-npk1ss7juimjqt5hrlhm7v2fj2u7593f.apps.googleusercontent.com’,
u’iat’: 1484578738,u’locale’: u’en-GB’,u’email’:
u’utsavdusad@gmail.com’,u’aud’:
u’85959433390-npk1ss7juimjqt5hrlhm7v2fj2u7593f.apps.googleusercontent.com’}

sub:主题.用户身份.不要将电子邮件ID用作主键,因为它可能会更改.使用userID.

An identifier for the user,unique among all Google accounts and never
reused. A Google account can have multiple emails at different points
in time,but the sub value is never changed. Use sub within your
application as the unique-identifier key for the user.

有关详细信息,请参阅here

>服务器返回成功登录客户端.>客户端使用tokenID进行后续(HTTP POST,GET)请求.>服务器通过验证idtoken并检查’sub’信息(sub是用户的唯一标识)来提供数据.

原文链接:https://www.f2er.com/android/318092.html

猜你在找的Android相关文章