我正在关注我的应用的最新Google+登录集成(https://developers.google.com/+/mobile/android/sign-in),其中包含
Google+登录按钮可对用户进行身份验证并对其进行管理 OAuth 2.0流程,简化了您与Google的集成 的API。
所以在用户通过google +成功登录后,(我们认为不需要手动管理令牌以及所有这些?)推荐服务器身份验证端点的安全方法是什么? (例如,将用户电子邮件传递到您自己的服务器端点,并获取用户信息?我们是否应该传递一些令牌?或会话ID?我们从谷歌+用户数据中获取?)
答案 0 :(得分:1)
如果您只需要对自己的服务器进行身份验证(而不是访问任何Google托管信息),则可以使用Using Google Sign-In with your server技术,这样您就可以使用新的Google Sign In API获取令牌:< / p>
GoogleSignInOptions gso =
new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(getString(R.string.server_client_id))
.requestEmail()
.build();
server_client_id
是来自Credentials page的Web应用程序的OAuth 2.0客户端ID。然后,您将从googleSignInResult.getSignInAccount().getIdToken()获取ID令牌。
然后,您可以验证服务器端的ID令牌,并且您将知道用户的电子邮件地址,并且该请求来自您的Android应用。
documentation贯穿整个工作流程,包括指出GoogleIdTokenVerifier类,这样可以更轻松地验证令牌。