SSO单点登录对接指南

一、功能概述

通过SSO接入功能可实现企业软件平台的员工信息同微伴员工信息的绑定,企业员工无需通过企业微信扫码,即可登录微伴。

二、应用场景

1、将微伴助手系统直接嵌入自己的前端页面,其员工只需在企业自己的网页上登录账户密码既可同时实现微伴助手的登录。

2、通过SSO单点登录,员工仅需第一次登录时企微扫码,便通过专属url实现一键登录跳转微伴后台。

3、更多玩法期待您的开发。

三、接入指南

1、实现企业用户身份验证接口

接入企业需要按照以下标准规范实现一个用于用户身份验证的后端接口。

请求方法: POST
请求地址: http://{client-host}/xxx/userinfo
  • 请求地址由接入企业自行设置,并填写在SSO接入的应用中
请求参数: 
Headers

参数名称

参数值

是否必须

Content-Type

application/x-www-form-urlencoded

Form-data

参数名称

参数类型

是否必须

说明

code

string

由接入企业自行生成,唯一对应一个账户

接口返回示例

{

"key":"value",//其他非必要内容

"user_info":{

"user_id":"example",

"user_name":"example"

}

}

参数名称

参数类型

说明

user_info

dict

code所对应的用户信息

user_info.user_id

str

用户主键

user_info.user_name

str

用户名

2、配置SSO应用

用户身份验证接口实现之后

进入微伴后台-SSO接入,选择创建应用

将应用相关信息(应用名,logo)和上一步骤实现的用户身份验证接口的请求地址填入。

点击验证:微伴系统会向接口地址发送POST请求,我们验证对应接口是否有效时会传递一个code参数,value为example, 然后回调请求,若此接口的返回体中包含user_info这个结构体,且该结构体需要有值,则判定用户身份验证接口通过验证,可以创建应用。

点击创建应用:

SSO应用创建成功后,会返回由微伴生成的此应用的专属登录地址,格式如下

3、专属登录地址

http://weibanzhushou.com/api/sso/{appid参数}/login?_c=xxxxxx&code=xxxx 

地址参数说明:

参数名

说明

appid

自动生成,自动加在登录地址中,无需填写。

_c

微伴内部效验参数,接入企业无需填写

code

接入企业根据不用的登录账户生成不同的code作为兑换该账户信息的唯一标识,由接入企业自主生成。

  1. appid参数:会自动生成,带在登录url中,客户无需填写。
  2. _c参数为微伴效验参数,客户无需填写。
  3. code参数:微伴系统自动生成的url没有code参数,接入企业需要根据自身系统生成身份效验code并拼接到专属登录url上作为每个账户的专属url。
  4. code应该唯一对应一对user_id和user_name。
  5. 用户第一次登录需要使用企微扫码建立绑定关系,后续登录将无需扫码直接登录。

利用code和企业登录地址组合生成专用登录地址,就可以实现SSO单点登录了。

4、登录流程

下为登录流程图 前提:接入企业为登录用户生成专用code,与企业登录地址进行拼接,生成此用户的专用登录地址。

1、用户使用登录地址,向微伴发起登录请求。

2、微伴服务器将携带code,向接入企业比此前配置的用户身份验证接口发起POST请求,以获取用户信息

3、接口返回用户信息给微伴服务器,其中应包括用户id和用户名

4、微伴服务器判断此用户是否存在绑定关系,若无,则跳转登录注册页面,企微扫码,建立绑定关系。若有则直接登录。

5、使用案例

微伴助手的合作伙伴滴普科技,通过使用微伴的SSO单点登录功能,实现了DM数字化营销平台系统对微伴助手的集成用户数据绑定

企业的客户在登录其系统时可以直接在系统内部完成微伴助手注册,无需跳转 客户员工将系统内账号授权绑定至微伴助手账号。 成功授权绑定后,客户员工便可以在第三方系统内使用微伴助手的全部功能

下图为DM数字化营销平台嵌入微伴后的展示效果