2013-09-05 62 views
4

你好心的互聯網人。Google OAuth2.0是否支持資源所有者密碼憑證流的OAuth流?

Google OAuth2.0是否支持資源所有者密碼憑證流的OAuth流? ...如果是這樣,那麼:

答:)可以在Google OAuth2 Playground上測試此類OAuth流量嗎? B.)有Google OAuth2.0和Google API的「資源所有者密碼憑證流程」的任何示例嗎?

根據最近在奧斯陸NDC 2013上發佈的OAuth演示,此主題流程顯然會一起跳過授權終點,並直接與OAuth2服務器的令牌終點對話。請求語法咒語就理應是這個樣子:

grant_type=password& 
scope=resource& 
user_name=owner& 
password=password& 

我的理解是資源所有者密碼憑據Flow是在後端企業型的情況下(受信任的應用程序,其中一個名 - 密碼對可能是安全的存儲)。

這個特定的OAuth流程不需要最終用戶同意的交互(無需彈出瀏覽器接受,然後獲取返回的授權碼等)。在這個主題流程中,直接返回訪問&刷新令牌:沒有最終用戶交互(儘管在輸入用戶名密碼後)。

仔細查看Google OAuth文檔(link to Google OAuth2 docs),似乎沒有提及類似於資源密碼憑證流的任何內容,但不確定這必然意味着Google明確不支持它。

任何幫助或建議將不勝感激。

在此先感謝

回答

4

據我所知,該號的OAuth 2.0的東西是谷歌帳戶,爲此,谷歌確實驗證。

+0

只是爲了執行Tim所說的,不支持資源所有者密碼憑證。當然。 – mariuss

+0

Mucho感謝您的反饋......根據需要排除任何含糊/不確定性。 – woody

7

親愛樣的互聯網人,

這是真的,資源所有者密碼憑據流不支持谷歌而谷歌建議您使用已安裝的應用程序流,這是在描述:https://developers.google.com/accounts/docs/OAuth2InstalledApp

您需要創建在谷歌控制檯(https://code.google.com/apis/console)已安裝的應用程序,當你這樣做,你可以獲取CLIENT_ID,並建立與參數的GET請求,這看起來就像這樣:

https://accounts.google.com/o/oauth2/auth\? 
scope\=<scope>\& 
redirect_uri\=urn:ietf:wg:oauth:2.0:oob\& 
response_type\=code\& 
client_id\=<client_id fetched from google console> 

你會構造這個URL並在瀏覽器中導航到它,允許訪問應用程序和谷歌會給你我認爲是你可以用來獲取憑據的代碼。您可以使用這些憑據獲取訪問令牌並刷新它,並且此憑據是永久的。在github上有一個很好的例子。請注意,您只需手動獲取這些憑證一次,然後將這些憑證保存在某處並繼續使用它們以獲取/刷新令牌。

希望這會有所幫助!

相關問題