概念 - 18965050/authz GitHub Wiki
概念
为更好的理解medusa统一认证授权系统, 需要先对下面的概念有所了解
server, client, front
- server: 这里的server指SSO Server,对应ck-medusa-server应用
- client: 这里的client指各业务Server, 对应不同的业务应用
- front: 这里front统一指为SPA前端应用. 由于统一认证授权系统(medusa)也采用SPA(前后端分离)的方式, 因此front包括medusa-front(ck-medusa-front)和各个业务应用front(app-front).
一个类似的部署图见下:

ct,st, ticket
- ct(Client Token): Client端到Server端进行认证的一个凭证.其主要字段说明如下:
| 字段名 | 说明 |
|---|---|
| appId | client应用ID, 用于client端身份标识. 每个client的appId应该唯一的 |
| url | client的referer url,当client认证成功后的rediect url |
| requestTime | 请求时间, 用于ct校验使用 |
| callbackUrl | server端认证成功后, 回调client端的url, 此url用于client执行认证操作 |
- st(Server Token): Server端回传给Client端进行认证的一个凭证. 同时, st也以cookie的访问方式存放在session中.当client端获取此凭证后, 说明Server已经认证成功, 可以向Server请求登录用户信息. 其主要字段说明如下:
| 字段名 | 说明 |
|---|---|
| loginType | 登录方式. 目前支持用户名/密码, LDAP域账户和mickey 三种登录方式 |
| ticket | 随机字符串.server生成并传给client, 供client获取用户信息时使用 |
| ticketLife | 票据生命周期, 单位:毫秒 |
| responseTime | 应答时间, ticketLife从responseTime时间点开始计算 |
| aliveTouchTimeInterval | client端对server端进行会话续命操作的时间间隔 |
- ticket: 维系一次用户登录过程的凭证, 是一个随机字符串, 且用后即焚. client凭借此ticket获取用户信息.
userInfo
userInfo表示登录用户的信息. 包括userId, name等信息. server和client的userInfo不尽相同. client的userInfo是通过http请求从server中获取的
GSID
GSID是维系server session和client session的一个随机字符串.一般情况下, 一个GSID对应一个server sessionId和多个client sessionId.