指定與OAuth2.0兼容的API for library patrons,我偶然發現OAuth scopes。該OAuth2.0的規格似乎在某些點有不同的解釋,比如GitHub uses commas劃定範圍,同時谷歌使用的空間,如RFC定義6749. RFC文檔講述:如何從OAuth2.0返回認可的示波器
如果發出的訪問令牌範圍 是不同的從客戶端請求的一個,授權 服務器必須包含「範圍」響應參數告知授予
實際的範圍,但沒有響應範圍參數後面的說明書中提到的 客戶端。特別是我想實施Resource Owner Password Credentials Grant(第4.3節)。的響應的本實施例中在OAuth2.0的說明書中給出:
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Cache-Control: no-store
Pragma: no-cache
{
"access_token":"2YotnFZFEjr1zCsicMWpAA",
"token_type":"example",
"expires_in":3600,
"refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA",
"example_parameter":"example_value"
}
我應該包括作用域作爲空格分隔的列表,如逗號分隔的列表或作爲JSON arary?
{
"scope": [ "read", "write", "foobar" ],
"access_token":"2YotnFZFEjr1zCsicMWpAA",
"token_type":"example",
"expires_in":3600,
"refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA",
"example_parameter":"example_value"
}
我從OAuth的名單這個問題的確認,的確是「空間分隔」。請參閱從http://www.ietf.org/mail-archive/web/oauth/current/msg12326.html開始的討論 – ankon