2015-03-13 145 views
0

我有一個帶有Google App Engine後端的基於Web的應用程序(Webapp2)。使用Webapp2框架使用自定義用戶標識/密碼完成身份驗證。現在從Android客戶端到Google App Engine的身份驗證Webapp2

,我使用擴展Android客戶端向手機發送此Web應用程序。我如何從Android客戶端到Google App Engine後端進行身份驗證? Google Cloud Endpoints是否支持自定義用戶ID /密碼認證?

回答

0

這取決於認證的用途。你需要用戶授權訪問他們的數據,還是僅僅保護提供給你的應用程序的REST服務?

雲端點使用OAuth 2.0,可以驗證使用谷歌帳戶,或者你也可以授權對「服務帳戶」爲您的應用程序如果不需要用戶的同意。一個很好的信息來源是文檔[1]。當然,沒有什麼會阻止您實現自己的身份驗證方案或使用其他庫,就像您將移動後端託管在其他某個平臺上一樣。

特定於移動認證另一個好DOC在「在移動應用驗證用戶」 [2]。

[1] https://cloud.google.com/appengine/docs/java/endpoints
[2] https://developers.google.com/accounts/docs/MobileApps

+0

我用我自己的用戶名/密碼,所以不能使用谷歌帳戶。 – 2015-03-15 15:56:29

0

我想你可以從https://github.com/coto/gae-boilerplate

這是一個很大的話題實際上總結得到一些啓發:)但我會盡我所能。

首先,你應該瞭解什麼是OAuth客戶端流量和服務器流量。(你可以決定使用哪一個。)然後,我將使用Facebook作爲一個例子。

假設你使用Facebook SDK在Android上,以驗證您的用戶,通常如果他們在Facebook的應用程序已經通過身份驗證,您將獲得用戶名和的accessToken和其他一些信息返回給您。這是Facebook告訴你:「是的,你可以相信這個人,這是他的身份證和信息。」

然後,你可以利用(在GAE行話或數據存儲)的信息在自己的用戶數據庫來存儲。因此,稍後您可以通過與用戶綁定的特定ID來登錄誰。 (一個用戶可以有不同的提供者ID。)請記住這一點。

現在回去,並期待在GAE-樣板實現:https://github.com/coto/gae-boilerplate/blob/master/bp_includes/handlers.py

看三國的處理類:LoginHandler,SocialLoginHandler,CallbackSocialLoginHandler

+0

野獸 - 我閱讀了自述文件,但無法關注。我是Android/GAE開發的新手。您能否幫助總結從Android客戶端身份驗證涉及GAE(使用webapp2)的步驟。只是流程中的高層次總結要點? – 2015-03-16 20:52:55

+0

這是一個巨大的話題來實際總結:) – beast 2015-04-30 10:02:13

+0

我擴展了我的答案,傑克。看一看。 – beast 2015-04-30 10:18:29