OAUTH2单点登录
开放授权的一个标准
a、流程图
b、流程说明
MOKA提供
- moka会提供一个登录url。
1.1 例:https://app.mokahr.com/login_by/oauth2/orgId - moka会提供一个回调地址
2.1 例:https://app.mokahr.com/login_by/oauth2/orgId/landing
客户提供
- 客户需要提供自己的授权url。
1.1 例:https://www.third.com/oauth/authorize - 客户需要提供自己的获取token url。
2.1 例:https://www.third.com/oauth/token - 客户需要提供自己的获取用户信息 url。
3.1 例:https://www.third.com/user
跳转流程
- 客户在自己的系统中配置moka提供的登录url
- 点击moka登录url时。moka会重定向到客户的授权页面
- 客户在授权页面填写账号密码进行登录,登录成功后带着code跳转到moka的回调地址
- moka通过code调用客户的token接口获取token
- moka通过获取到的token调用客户的获取用户信息接口获取客户的用户信息
- 获取到客户的用户信息后进行登录
c、MOKA登录url说明
url说明
通过访问此接口,跳转到到MOKA
HTTP 接口
GET https://app.mokahr.com/login_by/oauth2/{orgId}
请求Path参数
字段 | 必填 | 类型 | 描述 |
---|---|---|---|
orgId | 是 | string | 每个公司客户对应的唯一id,联系实施或csm获取。 |
请求Query
字段 | 必填 | 描述 |
---|---|---|
ifGoRecommendWeb | 否 | moka通过该参数来判断客户是否跳转到内推页面。 1、不传该参数时默认按照角色跳转。 2、传固定值 '1' 时跳转内推官网。 3、优先级高于returnUrl |
returnUrl | 否 | 登录成功后跳转的地址。 1、不传该参数时则默认跳转到对应角色的首页。 2、传该参数时登录成功后会跳转到该地址。 3、优先级低于ifGoRecommendWeb |
请求结果
moka接收到请求后,会调用客户的授权url,跳转到客户的授权登录页面
d、MOKA回调地址url说明
url说明
客户授权之后,需要带着code重定向到该地址。
HTTP 接口
GET https://app.mokahr.com/login_by/oauth2/{orgId}/landing
请求Path参数
字段 | 必填 | 类型 | 描述 |
---|---|---|---|
orgId | 是 | string | 每个公司客户对应的唯一id,联系实施或csm获取。 |
请求Query
字段 | 必填 | 描述 |
---|---|---|
code | 是 | 客户授权码code |
state | 是 | moka重定向到客户授权页面时携带的参数,授权成功后需要原封不动的传回来 |
ifGoRecommendWeb | 否 | moka通过该参数来判断客户是否跳转到内推页面。 1、不传该参数时默认按照角色跳转。 2、传固定值 '1' 时跳转内推官网。 3、优先级高于returnUrl |
returnUrl | 否 | 登录成功后跳转的地址。 1、不传该参数时则默认跳转到对应角色的首页。 2、传该参数时登录成功后会跳转到该地址。 3、优先级低于ifGoRecommendWeb |
e、客户授权url说明
url说明
客户的授权url,客户需要在该页面填写账号密码进行登录
HTTP 接口
GET https://www.third.com/oauth/authorize
(客户提供的登录地址)
请求Path参数
无
请求Query
字段 | 必填 | 描述 |
---|---|---|
responseType | 是 | 固定值 code |
clientId | 是 | 应用id。 1、该参数由客户提供 |
redirectUri | 是 | 回调地址。授权成功后的重定向地址。 1、该参数由moka提供 |
scope | 是 | 授权范围。 1、该参数由客户提供 |
state | 是 | 授权成功后,重定向到回调地址时需要携带该参数 1、该参数由moka提供 |
f、客户获取令牌url说明
url说明
客户的授权url,客户需要在该页面填写账号密码进行登录
HTTP 接口
GET https://www.third.com/oauth/token
(客户提供的登录地址)
请求Path参数
无
请求Query
字段 | 必填 | 描述 |
---|---|---|
clientId | 是 | 应用id。 1、该参数由客户提供 |
clientSecret | 是 | 应用secret。 1、该参数由客户提供 |
grantType | 是 | 授权方式。固定值authorization_code。 |
code | 是 | 上一步授权后获取到的授权码code。 |
redirectUri | 是 | 令牌token颁发后的回调网址。 1、该参数由moka提供 |
返回结果
字段 | 字段 | 必填 | 描述 |
---|---|---|---|
code | number | 是 | 接口状态码。0: 成功 |
msg | string | 是 | 接口调用说明 |
data | object | 是 | 返回值 |
data.accessToken | string | 是 | 令牌token |
data.expiresIn | string | 是 | 令牌过期时间 |
data.refreshToken | string | 是 | 令牌刷新token |
g、客户获取用户信息url说明
url说明
客户的获取用户信息接口url,可以通过该接口获取授权客户的用户信息
HTTP 接口
GET https://www.third.com/user
(客户提供的登录地址)
请求Path参数
无
请求Query
字段 | 必填 | 描述 |
---|---|---|
accessToken | 是 | 令牌token。通过token接口获取 |
返回结果
字段 | 字段 | 必填 | 描述 |
---|---|---|---|
code | number | 是 | 接口状态码。0: 成功 |
msg | string | 是 | 接口调用说明 |
data | object | 是 | 返回值 |
data.email | string | 是 | 客户邮箱 |
修改于 3 年前