2013-07-25 59 views
1

我對工作的應用程序包括兩個部分:在Android客戶端/服務器應用程序實現谷歌登錄

  1. 原生Android應用
  2. Web服務

我想要實現之間的登錄程序該應用以及基於用戶的Google帳戶的網絡服務。 閱讀Google的開發人員網站我瞭解如何讓用戶在其移動設備上授權API項目,但我不明白如何將其傳遞到服務器,以及如何在本機Android應用程序和我的應用程序之間處理通信網絡服務。

移動應用程序如何使用oauth2來處理Google身份驗證服務器並獲取其訪問令牌,從而確保與服務器端的通信安全?

澄清

假設本機應用做對谷歌的身份驗證過程和接收的令牌。然後應用程序可以訪問用戶配置文件並獲取他的電子郵件地址 - 電子郵件地址是他的肯定。 現在用戶將POST數據中的電子郵件地址發送到我的服務。電子郵件是他的,但服務器無法驗證它。因此可以說,如果有人發現應用程序發送到我的服務器的URL路徑和POST數據語法,他可以將任何電子郵件地址注入到該電話中。服務器如何驗證電子郵件地址是否有效?

回答

2

爲了驗證應用程序的用戶,看看這個帖子: Verifying Back-End Calls from Android Apps

  1. 在應用程序中,你可以簡單地通過Google Play Services,這是很容易得到谷歌的令牌ID。
  2. 然後您將此令牌發送到您的後端,在此您使用Google API對其進行驗證。有些庫可以爲你處理(例如PHP)。如果你想處理這個問題,這個答案中的有效載荷還包含用戶的電子郵件和ID。
+0

想過發送用戶auth對谷歌和發送授權密鑰到服務器,然後服務器將生成一個令牌,並將標識用戶。您描述的方法更加用戶友好(無法通過輸入),但用戶必須使用已在其帳戶中配置的Google帳戶。我會考慮:)。謝謝。 – Idan

相關問題