使用OAuth2令牌对托管在Google App Engine上的API进行身份验证?
我正在使用GAE为我的Android应用程序构建一个后端,并且我想使用Google应用程序发送的Google帐户对用户进行身份验证。
在OAuth2之前,您可以使用从_ah/login
端点检索的Cookie将用户认证到您的Web应用中,但该方法已被弃用,我希望能够使用更新的OAuth2方法。
在我的Android应用程序中,我已经能够使用以下行生成JSON Web令牌:
String jwt = GoogleAuthUtil.getToken(FamiliarActivity.this, Plus.AccountApi.getAccountName(mGoogleApiClient), "audience:server:client_id:1234567.apps.googleusercontent.com");
或OAuth令牌:
String oauth2 = GoogleAuthUtil.getToken(FamiliarActivity.this, Plus.AccountApi.getAccountName(mGoogleApiClient), "oauth2:server:client_id:1234567.apps.googleusercontent.com:api_scope:https://www.googleapis.com/auth/plus.login");
要么手动,我可以传递给我的API并针对Google进行验证。 但我一直无法找出像这样使用像这样的标记来触发GAE中的认证的方式,就像Cookie曾经用过的那样。 该文档似乎表明将它作为标题传递: Authorization: Bearer <TOKEN>
但似乎不起作用。
什么是正确的方式来检索并传递令牌到我的GAE端点,以便验证用户?
正确和记录的方式来完成这一点是:
1)使用。创建一个OAuth保护端点
https://www.googleapis.com/auth/plus.login
要么
https://www.googleapis.com/auth/userinfo.email
Android客户端应用的范围和授权客户端ID。
2)生成客户端库并与您的应用程序集成。
链接地址: http://www.djcxy.com/p/80057.html上一篇: Using OAuth2 token to authenticate to an API hosted on Google App Engine?
下一篇: Update google spreadsheet using python client API on GAE app