2015-04-06 86 views
1

我正在嘗試使用谷歌終端交叉客戶端身份驗證。在我的Android客戶端,我成功地獲得授權令牌使用我的服務器:谷歌終端交叉客戶端身份驗證

String plusLogin = Scopes.PLUS_LOGIN; 
String mScopes = "oauth2:" + plusLogin; 

String token = GoogleAuthUtil.getToken(context, Constants.accountName, mScopes); 

那麼我訪問所需的終結點在的AsyncTask任務,並通過此令牌服務器。現在...我在服務器端有這個令牌,但我不知道我需要做什麼來解碼來自int的用戶信息。基本上我有興趣在服務器端獲取用戶ID和用戶電子郵件。

確實,我是這個新手,但我掙扎了2周以上。 有關它的Google文檔僅指向您必須遵循的方向,但沒有可用作模型的工作示例。 https://developers.google.com/+/web/signin/server-side-flow

回答

0

我認爲您無法解碼Google API服務器向您的應用提供的令牌的任何用戶信息,因爲這些令牌是由Google API服務器向您的應用發送的令牌。它是由Google API服務器向您的應用程序發送的一次性令牌,然後您的應用程序將其發送到您的服務器以從Google Server獲取刷新令牌。所有這些令牌都是加密簽名的由Google簽名的JWT(Jason Web令牌) ,你不能解碼這些令牌。

另外,您提供的文檔是針對Google+ API的,它們有一些示例代碼,用於說明如何在您的項目中實現一次性代碼的功能[1]。

[1] https://developers.google.com/+/quickstart/

+0

所以對於流中的下一步驟是:1.交換該令牌用於刷新令牌。 2.訪問https://www.googleapis.com/userinfo/v2/me api並以json格式獲取用戶詳細信息。我只找到如何做到這一點的android,javascript的例子,但不是在服務器端的純java的例子。誰能幫忙? – 2015-04-06 20:33:55