2013-03-19 56 views
2

我想在Tizen中使用oAuth 2.0實現谷歌身份驗證。我遵循here的步驟。根據鏈接的指示,我可以獲得用戶代碼。但我總是收到獲取訪問和刷新令牌的無效請求。我的要求如下。如何在Tizen中實現oAuth 2.0

var urlToken ="https://accounts.google.com/o/oauth2/token?"+ 
     encodeURI("client_id=<<my client id>>&" + 
     "client_secret=<<my client secret>>&" + 
     "code=<<Device code received in first step>>&" + 
     "grant_type=authorization_code"); 
$.ajax({ 
    url:urlToken, 
    type:"POST",   
    headers:{ 
     "Content-Type": "application/x-www-form-urlencoded", 
     "Content-length" : "250" 
    }, 
    accepts: "applicatin/json", 
    success:function(response){ 
     console.log("access token response success"); 
     console.log(response.access_token) 
    }, 
    error:failure 
}); 

我無法弄清楚出了什麼問題。請更新它有任何其他方式來實現相同。

注:我試圖從Tizen Webapp實現這個。

+0

你爲什麼要設置' 「內容長度」: 「250」'手工頭? 「我總是收到無效請求」是什麼意思? - 谷歌是否會返回這些信息?或者在發送之前請求在某個傳輸層失敗? – WTK 2013-03-19 11:56:54

+0

內容長度是我在其他問卷中得到的選項之一。刪除這也給了我相同的結果。無效的請求是我可以使用Firefox的休息客戶端看到的返回響應。這是給400錯誤的要求。是的,我收到了谷歌的迴應。 A – Brune 2013-03-19 12:00:06

+0

您是否試圖讓它在Tizen之外工作?我對該庫不熟悉,所以我不確定是否以及如何影響您的請求。 – WTK 2013-03-19 12:04:02

回答

1

我得到的事情與下面的代碼工作。我通過在查詢字符串中標記數據以及明確設置內容類型和內容長度而犯了一個錯誤。 Content-type默認爲「application/x-www-form-urlencode」。通過隨機點擊獲得解決方案。

var urlToken ="https://accounts.google.com/o/oauth2/token"+ 
var dataValue = "client_id=<<my client id>>&" + 
     "client_secret=<<my client secret>>&" + 
     "code=<<Device code received in first step>>&" + 
     "grant_type=http://oauth.net/grant_type/device/1.0"; 
$.ajax({ 
    url:urlToken, 
    data:dataValue, 
    crossDomain:true, 
    type:"POST", 
    success:function(response){ 
     if(response.error != null){ 
      <<Call the same function again>>; 
     } 
     else{ 
      console.log("Access Token :" + response.access_token); 
      console.log("Token Type : " + response.token_type); 
      console.log("Expires : " + response.expires_in); 
      console.log("Refresh Token : " + response.refresh_token); 
     } 
    }, 
    error:failure 
}); 

謝謝WTK

我相信thisthis將有助於

+0

嗨@Brune,我正在嘗試開發tizen web應用程序谷歌登錄,你能幫我這個。 – venky 2017-06-14 06:30:21

+0

@venky當然..但我已經觸及谷歌身份驗證和tizen一段時間了。我不知道我提供的信息是否會幫助你..如果我是正確的,我在tizen中使用的版本現在已經過時..但是,是的,拍你的查詢..我會嘗試.. – Brune 2018-01-22 07:43:00