@elibinary
2016-10-21T02:22:38.000000Z
字数 1414
阅读 1158
doc
关于 OAuth 2.0 协议规范,请参考 OAuth 2.0 。
OAuth 2.0 的流程大致可以简单概括为以下四步:
GET /oauth/auth
参数名 | 必填 | 说明 |
---|---|---|
client_id | 是 | 应用的唯一标识 |
redirect_uri | 是 | 用户授权完成后的回调地址,应用可以通过此回调地址获得用户的授权结果。此地址必须与在应用注册时填写的回调地址一致! |
scope | 否 | 此处为默认值 |
state | 否 | 表示客户端的当前状态,可以指定任意值,认证服务器授权完成回调时会附加此参数 |
请求示例:
https://boohee.host.example/oauth/auth?
client_id=6c10ef8b98c158825abd&
redirect_uri=https://example.host/callback
https://example.host/callback?code=9b73a4248
POST /oauth/access_token
参数名 | 必填 | 说明 |
---|---|---|
client_id | 是 | 应用的唯一标识 |
client_secret | 是 | 应用的唯一标识 |
redirect_uri | 是 | 用户授权完成后的回调地址,应用可以通过此回调地址获得用户的授权结果。此地址必须与在应用注册时填写的回调地址一致! |
grant_type | 是 | 可选类型: authorization_code, refresh_token |
code | 是 | 根据 grant_type 的类型,如果 grant_type 为 authorization_code ,则此处为上一步中获得的 authorization_code ,如果 grant_type 为 refresh_token ,则此处为 refresh_token |
请求示例:
https://boohee.host.example/oauth/access_token?
client_id=6c10ef8b98c158825abd&
client_secret=78c99ad30629fea48c1ed333&
redirect_uri=https://example.host/callback&
grant_type=authorization_code&
code=a8c04313b31a2806
{
"access_token": "652d85781d9f3668f33b604f45696750",
"token_expired_at": "2016-10-21T10:19",
"refresh_token": "acd8578ss2dfe23g5643b604f456sf75ge0"
}