OAuth服务
只适用于提供了 oauth-callback-url 的插件应用。
数据字典
* <site_id> 快站用户站点ID, BIGINT(10)
* <plugin_id> 插件应用ID
* <app_key> 由快站分配,用于唯一标识使用OAuth服务的应用
* <app_secret> 有快站分配,用于验证应用身份,切记保密
* <scope> 所需权限列表,每个权限是一个固定字符串,每个权限直接以英文空格隔开
* <access_token> oauth服务标识所授予权限的随机唯一字符串,有效期为7天
* <refresh_token> 用于在<access_token>过期时,重新获取<access_token>唯一随机字符串,<refresh_token>有效期为永不过期
* <verify_code> 插件应用方后台验证oauth-callback-url是否是快站请求
* <timestamp> 时间戳
* <expires_in> 有效期
* <token_type> 令牌类型
* <site_id> 站点ID
用户授权过程
- 用户在商店中开启有接口授权的插件应用时,用户会看到插件应用所请求的权限信息。
- 用户确定授权后,快站会以
POST的方法请求,插件代码包里的oauth-callback-url,并在BODY里带上参数:site_id,access_token,expires_in,refresh_token,scope,timestamp,token_type,verify_code。 - 插件应用方在确定
oauth-callback-url为快站请求,并保存授权信息。如果成功,返回{"ret": 0, "msg": "开启成功"}。如果失败,返回{"ret": -1, "msg": "开启失败"}。
verify_code 验证规则
请求参数签名,由时间戳和app_key拼接后计算出来的md5字符的32个字符的前16个字符所构成的字符串(小写)
例如:
timestamp = 1453953927
app_key = J75nQC1PA8BbCija
md5(1453953927J75nQC1PA8BbCija) = 8475e1c34e07b38d1cd440081583d279
verify_code = 8475e1c34e07b38d
调用OAuth接口
获取到access_token后,即可使用使用access_token调用相关oauth接口,详见oauth接口文档说明。
刷新access_token
在access_token过期后,需使用refresh_token重新获取access_token,详见接口1.重新获取access_token接口。
相关接口列表
1.重新获取access_token接口
- 协议: HTTPS
- 方法: POST
- URL: /oauth/token
- 参数:
- grant_type 固定值refresh_token
- refresh_token
<refresh_token>详见数据字典
- 请求头
- Authorization 值为
"Basic" + " " + base64("<app_key>"+":"+"<app_secret>"), 加号表示字符串连接,注意Basic后面有一空格。
- Authorization 值为
-
返回:
-
获取成功时返回:
- 返回码 200
- 返回内容示例:
{ "access_token": "062ebe8a495473ca504ddec58a47dbdfca3b9173", "expires_in": 604800, "token_type": "bearer", "scope": "user.info" }* 其中:expires_in的值为acces_token有效期; scope的值为该access_token对应的权限列表 -
异常情况:
- 返回码 >= 400, < 500
- 返回数据示例:
{ "error": "invalid_grant", "error_description": "Invalid refresh token" }
-
2.获取用户信息接口
- 协议: HTTPS
- 方法: GET
- URL: https://api.kuaizhan.com/oauth/user-info
- 参数:
- access_token
<access_token>详见数据字典
- access_token
- 请求头
- 无
-
返回:
-
获取成功时返回:
- 返回码 200
- 返回内容示例:
{ "ret": 0, "msg": "", "data": { "user_id": "3505" } }* 其中:ret为0时表示操作成功。非0 为操作失败, msg在操作失败时提供错误信息。data为改操作返回数据。 -
异常情况:
- 返回码 200
- 返回数据示例:
{ "ret": 1, "msg": "invalid access_token", "data": {} }
-
