使用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