美文网首页
[后端]OAuth2 认证架构设计

[后端]OAuth2 认证架构设计

作者: st0rm23 | 来源:发表于2017-02-11 11:24 被阅读252次

角色

  • 用户
  • 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

相关文章

  • [后端]OAuth2 认证架构设计

    角色 用户 API服务器 认证服务器 第三方应用 步骤 注册第三方应用(每个应用只需要进行一次) 注册应用角色:第...

  • 测开平台(1) - 设计

    架构设计前后端分离 前端架构vue + element UI + vuerouter +axios 后端架构d...

  • Oauth2

    1 Oauth2 认证方案 2 Oauth2取代CAS实现SSO 三方:oauth认证服务器 A ...

  • thinkphp5.1中使用tp5-rbac插件

    tp5-rbac插件的使用 背景说明:前后端分离架构,前端使用Vue,后端使用Thinkphp5.1.*登录认证使...

  • oauth2 介绍

    1、什么是oauth2 2、oauth2 架构图 3、oauth2 工作流程 4、优缺点

  • SpringCloud微服务实战——搭建企业级开发框架(二十三)

      OAuth2是一个关于授权的开放标准,核心思路是通过各类认证手段(具体什么手段OAuth2不关心)认证用户身份...

  • SpringSecurity结合OAuth2实现第三方授权

    SpringSecurity结合OAuth2实现第三方授权 一 OAuth2第三方登录架构 1.1 授权码模式架构...

  • CAS & SSO & OAuth2

    OAuth2小记 Oauth2分为四种认证方式,以微信公众号为例: A、Authorization Code:通过...

  • 浩瀚汇通

    资深后端开发Java架构师平台/后台电商 岗位描述: 1. 负责微贷类金融产品后端交易系统的架构设计和研发工作; ...

  • Uber系统架构设计

    共享租车鼻祖Uber的后端架构也经历了从单体到微服务的演化过程,这篇文章介绍了Uber后端架构的功能、设计,对于理...

网友评论

      本文标题:[后端]OAuth2 认证架构设计

      本文链接:https://www.haomeiwen.com/subject/gyanittx.html