SSO概述

句子互动支持OAuth2.0的单点登录(sso), 以企业自有身份为身份提供商(IDP), 句子互动为服务提供商(service provider) 简称SP, 帮您实现企业或组织自有身份与句子互动之间的SSO, 即用户在IDP系统登录后即可通过跳转链接访问已配置互信关系的SP系统。

SSO 登录方式

句子支持两种SSO登录方式

  • 企业IDP企业idP直接SSO登录到控制台的模式

IDP企业控制台模式流程图

  • 句子互动跳回到企业IDP登录后再SSO到SP的模式

IDP登录后再SSO到SP模式流程图

配置流程

基础配置

基础配置页面截图

参数介绍

参数是否必须备注
client_idsso 应用id, 可以跟据client_id区分哪一个sso配置
client_secretsso应用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 一致

参数是否必须备注
email企业IDP 和服务提供商 用户匹配字段
orgId企业IDP返回的企业id, 用于匹配秒回的企业
userName可选字段, 当返回这个字段后,会自动创建秒回的企业员工,加入到默认小组, 赋予普通成员的权限
corpName可选字段, 当放回这个字段后, 会自动创建秒回企业, 并将传输的用户信息作为创建者
最近更新:
Contributors: wangjingbo, windmemory