【发布时间】:2012-10-28 18:21:17
【问题描述】:
指定一个API for library patrons,与OAuth2.0兼容,我偶然发现了OAuth scopes。 OAuth2.0 规范在某些方面似乎有不同的解释,例如GitHub uses commas 用于分隔范围,而 Google 使用空格,如 RFC 6749 中所定义。RFC 告诉:
如果颁发的访问令牌范围 与客户要求的不同,授权 服务器必须包含“范围”响应参数以通知 授予的实际范围的客户
但是规范后面没有提到范围响应参数。特别是我想实现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 数组?
{
"scope": [ "read", "write", "foobar" ],
"access_token":"2YotnFZFEjr1zCsicMWpAA",
"token_type":"example",
"expires_in":3600,
"refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA",
"example_parameter":"example_value"
}
【问题讨论】:
标签: oauth-2.0