SSO概述
句子互动支持OAuth2.0的单点登录(sso), 以企业自有身份为身份提供商(IDP), 句子互动为服务提供商(service provider) 简称SP, 帮您实现企业或组织自有身份与句子互动之间的SSO, 即用户在IDP系统登录后即可通过跳转链接访问已配置互信关系的SP系统。
SSO 登录方式
句子支持两种SSO登录方式
- 企业IDP企业idP直接SSO登录到控制台的模式
- 句子互动跳回到企业IDP登录后再SSO到SP的模式
配置流程
基础配置
参数介绍
参数 | 是否必须 | 备注 |
---|---|---|
client_id | 是 | sso 应用id, 可以跟据client_id区分哪一个sso配置 |
client_secret | 是 | sso应用secret, 可用于后面获取access_token和用户信息的接口校验 |
IDP 配置
配置功能描述
用于句子互动跳回到企业IDP登录后再SSO到SP的模式。我们会判断秒回中用户的登录状态,当登录态过期时, 会重定向到企业的IDP页面
参数介绍:
参数 | 是否必须 | 备注 |
---|---|---|
接口地址 | 是 | 发起登录的地址,只需要填写域名即可,我们将client_id 和client_secret 和redirect_uri拼接到url上, 如:接口地址填写:【https://open.juzibotsso.com/connect/oauth2/authorize】 , 那请求的url是:【https://open.juzibotsso.com/connect/oauth2/authorize?client_id=&redirect_url=&&response_type=code】 |
参数设置 | 是 | 我们将这里的参数拼接到接口的url上 |
第三方登录后跳转本系统平台地址 | 否 | 跳转句子秒回的系统地址,会拼接在redirect_url后面 |
获取AccessToken
配置功能描述
通过上面IDP配置,当通过企业idp登录之后,会通过redirect_url重定向我们系统,此时需要携带授权码code过来,比如:https://agency-test.juzibot.com/sso/oidc?code=****, 我们会利用下面的请求配置获取token
参数介绍:
参数 | 是否必须 | 备注 |
---|---|---|
请求地址 | 是 | 获取access_token地址 |
请求类型 | 是 | 接口调用方式: GET或POST |
参数内容解析 | 否 | 当选择post的时候, 参数编码可以选择application/json 或者 x-www-from-urlencoded |
body 设置 | 否 | 根据选择的请求类型,我们将body里面的参数拼接到url上或者body上,可用于接口校验 |
返回参数
参数 | 是否必须 | 备注 |
---|---|---|
access_token | 是 | 用于配置access_token的解析格式, access_token可用于获取后面用户信息 |
tokenExtraField | 否 | 用于其他的参数的解析, 通过tokenExtraField解析出来的参数会在调用用户信息的时候原封不动的返回 |
返回参数解析规则
如: 在返回的参数中解析出acccess_token, 例如返回参数:
{
access_token: "token_data",
}
那么access_token的配置就需要填写: $.access_token, 如果返回参数为:
{
data: {
access_token: "token_data"
}
}
那么access_token的配置就需要填写 $.data.access_token, tokenExtraField也是同样的规则
获取用户信息
通过上面获取access_token 获取用户信息, 该请求为Get请求
参数介绍
参数 | 是否必须 | 备注 |
---|---|---|
接口地址 | 是 | 通过上面拿到的access_token获取用户信息, 例如填写: https:///open.juzibotsso.com/getUserInfo,我们将access_token拼接到url上,发出GET请求,实际的请求就是https:///open.juzibotsso.com/getUserInfo?access_token=*** |
返回参数
解析规则同access_token 一致
参数 | 是否必须 | 备注 |
---|---|---|
是 | 企业IDP 和服务提供商 用户匹配字段 | |
orgId | 是 | 企业IDP返回的企业id, 用于匹配秒回的企业 |
userName | 否 | 可选字段, 当返回这个字段后,会自动创建秒回的企业员工,加入到默认小组, 赋予普通成员的权限 |
corpName | 否 | 可选字段, 当放回这个字段后, 会自动创建秒回企业, 并将传输的用户信息作为创建者 |