我有一個帶有Google App Engine後端的基於Web的應用程序(Webapp2)。使用Webapp2框架使用自定義用戶標識/密碼完成身份驗證。現在從Android客戶端到Google App Engine的身份驗證Webapp2
,我使用擴展Android客戶端向手機發送此Web應用程序。我如何從Android客戶端到Google App Engine後端進行身份驗證? Google Cloud Endpoints是否支持自定義用戶ID /密碼認證?
我有一個帶有Google App Engine後端的基於Web的應用程序(Webapp2)。使用Webapp2框架使用自定義用戶標識/密碼完成身份驗證。現在從Android客戶端到Google App Engine的身份驗證Webapp2
,我使用擴展Android客戶端向手機發送此Web應用程序。我如何從Android客戶端到Google App Engine後端進行身份驗證? Google Cloud Endpoints是否支持自定義用戶ID /密碼認證?
這取決於認證的用途。你需要用戶授權訪問他們的數據,還是僅僅保護提供給你的應用程序的REST服務?
雲端點使用OAuth 2.0,可以驗證使用谷歌帳戶,或者你也可以授權對「服務帳戶」爲您的應用程序如果不需要用戶的同意。一個很好的信息來源是文檔[1]。當然,沒有什麼會阻止您實現自己的身份驗證方案或使用其他庫,就像您將移動後端託管在其他某個平臺上一樣。
特定於移動認證另一個好DOC在「在移動應用驗證用戶」 [2]。
[1] https://cloud.google.com/appengine/docs/java/endpoints
[2] https://developers.google.com/accounts/docs/MobileApps
我想你可以從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
我用我自己的用戶名/密碼,所以不能使用谷歌帳戶。 – 2015-03-15 15:56:29