簡體   English   中英

使用OAuth2令牌對Google App Engine上托管的API進行身份驗證?

[英]Using OAuth2 token to authenticate to an API hosted on Google App Engine?

我正在使用GAE為我的Android應用程序構建后端,我想使用從Android應用程序發送的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進行驗證。 但是我還沒有辦法像使用Cookie一樣,找到一種方法來使用這樣的令牌在GAE中觸發身份驗證。 該文檔似乎指示將其作為標題傳遞: Authorization: Bearer <TOKEN>但這似乎不起作用。

檢索令牌並將令牌傳遞到我的GAE端點以驗證用戶身份的正確方法是什么?

實現此目的的正確且有文件證明的方法是:

1)使用以下命令創建一個受OAuth保護的端點

https://www.googleapis.com/auth/plus.login

要么

https://www.googleapis.com/auth/userinfo.email

Android客戶端應用的范圍和授權的客戶端ID。

2) 生成客戶端庫並與您的應用程序集成

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM