授权流程

扇贝网开发平台的API使用OAuth2进行用户授权。

授权接口

1. 请求用户授权

2. 获取token


API:请求用户授权

URL: https://api.shanbay.com/oauth2/authorize/

请求方式: GET

请求参数

{client_id} 必须,创建应用时分配的App key

{response_type} 必须,必须为code或者token其中一个

{state} 可选,如果传递在服务器会把相同的state值传回给客户端,用于保存状态

请求示例

GET https://api.shanbay.com/oauth2/authorize/?client_id=CLIENT_ID&response_type=code&state=123

 // HTTP 302 
http://example.com/callback/?state=123&code=CODE

API:获取token

URL: https://api.shanbay.com/oauth2/token/

请求方式: POST

请求参数

client_id         必须,创建应用时分配的App key
client_secret     必须,创建应用时分配的App secret
grant_type        必须,值为authorization_code
code              必须,上一步获取的CODE
redirect_uri      必须,需要和创建应用时填写的回调地址相同

返回示例

{
    "access_token": "m4sprK03EG5Cs6iqyZNTSnPKRDe0M5",
    "token_type": "Bearer",
    "expires_in": 36000,
    "refresh_token": "ydaIL025K2VnZCAguxNOU39NMtx8hf",
    "scope": "read write"
}

web应用授权

  1. 引导需要授权的用户到如下地址:
    https://api.shanbay.com/oauth2/authorize/?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI
  2. 如果用户同意授权,页面跳转至 YOUR_REGISTERED_REDIRECT_URI/?code=CODE

  3. 换取Access Token

    POST https://api.shanbay.com/oauth2/token/

{

"client_id":YOUR_CLIENT_ID,

"client_secret":YOUR_CLIENT_SECRET,

"grant_type":authorization_code,

"code":CODE,

"redirect_uri"=YOUR_REGISTERED_REDIRECT_URI

}

客户端应用授权(client需要设置为Implicit模式)

  1. 引导需要授权的用户到如下地址:
    https://api.shanbay.com/oauth2/authorize/?client_id=YOUR_CLIENT_ID&response_type=token&redirect_uri=YOUR_REGISTERED_REDIRECT_URI
  2. 如果用户同意授权,页面跳转至 YOUR_REGISTERED_REDIRECT_URI/#access_token=TOKEN

对于浏览器插件等没有自己的回调地址,请填写默认回调地址https://api.shanbay.com/oauth2/auth/success/

chrome插件Demo

shanbay-oauth