[后端]OAuth2 认证架构设计

角色

  • 用户
  • 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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容