角色
- 用户
- API服务器
- 认证服务器
- 第三方应用
步骤
- 注册第三方应用(每个应用只需要进行一次)
- 注册应用
- 角色:第三方应用->认证服务器
- 请求地址:/auth.com/register_third
- 请求参数:app_name, app_desc, app_logo ... 等自定义应用信息
- 返回:app_key, app_secret
- 日常用户操作
- 获取code
- 角色:用户->认证服务器
- 请求地址:/auth.com/authorize
- 请求参数:account, password 或者这两者及其余信息的加密结果
- 返回:code, expire
- 获取token
- 角色:第三方应用->认证服务器
- 请求地址:/auth.com/token
- 请求参数:app_key, code
- 返回:access_token, refresh_token, expire_time, generate_time, scope
- 访问API服务器
- 角色:第三方应用->API服务器
- 请求地址:具体api地址
- 请求参数:具体api请求参数,但是Header中加上Authrization: access_token
- 返回:具体api地址
认证服务器数据库
- auth表
字段 | 含义 |
---|---|
access_token | access令牌(主键) |
refresh_token | access令牌 |
app_key | 第三方应用标识key |
expire_time | 过期时间 |
generate_time | 创建时间 |
userid | 用户标识 |
scope | 权限 |
- app表
字段 | 含义 |
---|---|
app_key | 第三方应用标识key |
app_secret | 第三方应用管理secret |
app_name | 第三方应用名 |
app_desc | 第三方应用描述 |
app_logo | 第三方应用图标 |
- code
字段 | 含义 |
---|---|
code | 中间code |
expire | 过期时间 |
- account
字段 | 含义 |
---|---|
userid | 用户id |
nickname | 用户昵称 |
phone | 用户手机 |
hash | 密码hash |