MOKA通用单点登录
MOKA通用单点登录,一种简单的单点登录
a、流程图
b、流程说明
MOKA提供
- moka会提供一个登录url。
1.1 例:https://app.mokahr.com/login_by/thirdSelfResearch/orgId
客户提供
- 客户需要提供自己的登录页面url。 1.1 例:https://www.third.com/login
跳转流程
- 客户在自己的系统中配置moka提供的登录url
- 点击moka登录url时。由客户提供参数token、returnUrl
2.1 不携带token参数跳转moka登录url时,moka会重定向到客户提供的登录页面url.客户登录之后需要重新重定向到moka提供的登录url并且必须携带token参数。
2.2 携带着token参数跳转moka登录url时,moka会对token进行aes-256-cbc解密出邮箱和时间戳。(具体解密规则请看e: token解密规则
) - 通过邮箱进行判断
3.1 如果该用户存在于moka系统中则进行登录。
3.2 如果不存在则在moka系统内创建内推用户,创建成功后进行登录。 - 通过时间戳判断 4.1 时间戳必须在当前时间5分钟之内,否则会认为token无效
c、MOKA登录url说明
跳转链接
通过访问此接口,跳转到到MOKA
HTTP 接口
GET https://app.mokahr.com/login_by/thirdSelfResearch/{orgId}
请求Path参数
字段 | 必填 | 类型 | 描述 |
---|---|---|---|
orgId | 是 | string | 每个公司客户对应的唯一id,联系实施或csm获取。 |
请求Query
字段 | 必填 | 描述 |
---|---|---|
token | 否 | moka通过该参数来判断客户是否已经登录成功。 1、不传token参数时,moka会重定向到客户提供的登录页面url。 2、传token参数时,moka会对token进行aes-256-cbc解密出邮箱 |
ifGoRecommendWeb | 否 | moka通过该参数来判断客户是否跳转到内推页面。 1、不传该参数时默认按照角色跳转。 2、传固定值 '1' 时跳转内推官网。 3、优先级高于returnUrl |
returnUrl | 否 | 登录成功后跳转的地址。 1、不传该参数时则默认跳转到对应角色的首页。 2、传该参数时登录成功后会跳转到该地址。 3、优先级低于ifGoRecommendWeb |
d、客户登录url说明
跳转链接
不传token参数时,moka会重定向到该url,通过访问此接口,跳转到到客户的登录页面
HTTP 接口
GET https://www.third.com/login
(客户提供的登录地址)
e、token解密规则
数据加密
数据解密
moka会对token进行aes-256-cbc解密,解密出邮箱
客户token加密规则
- 加密方式:AES256加密,加密模式为CBC,填充方式为Pkcs7,加密结果16进制。
- 加密字符串为JSON字符串,包含邮箱和时间戳(毫秒)
2.1 例:{"email":"test@mokahr.com","timestamp":1609430400000} - 邮箱必须是moka系统已存在的邮箱,否则会报错或者创建内推
- moka会对时间戳进行校验,时间戳必须在moka接收时间五分钟之内有效。超过当前时间5分钟则无效
修改于 3 年前