开发指南
简介
功能简介
易点易动单点登录功能可将易点易动集成至其他系统/产品(例如私有化企业微信、微信公众号、OA、APP等),打通登录系统、消息通知及通讯录体系。
例如将易点易动集成到 OA 产品中,只需成员登录 OA,即可在 OA 中免登使用易点易动的各种功能。
目前支持自定义登录接口协议。
使用场景
在企业管理当中,企业同时拥有 OA 管理系统和易点易动平台,通过单点登录,可以实现登录 OA 管理系统后,免登录进入易点易动中,便于多个系统平台之间的切换,提高企业管理效率。
工作原理
在单点登录流程中,易点易动系统扮演SP身份,您的认证服务扮演IDP身份。管理员在易点易动后台开启并配置单点登录功能后,员工即可通过易点易动登录端点进入使用单点登录进行登录。单点登录流程大致如下:

- 工作流程:
员工通过浏览器访问易点易动登录端点地址(https://oauth.yideamobile.com/sso/.../simple/authorize)
易点易动系统会重定向到后台配置的IDP登录端点
浏览器自动重定向至认证服务
认证服务完成认证流程
认证服务认证成功后,将工号或手机号的作为sub生成jwt,具体jwt生成算法详解JWT算法说明,然后将jwt作为query参数重定向至易点易动回调端点(https://oauth.yideamobile.com/sso/.../simple/login?token={jwt})
浏览器重定向至易点易动系统,将jwt传递至易点易动系统,易点易动系统识别jwt中包含的员工工号或手机号信息并完成登录,根据员工在易点易动系统里的角色,打开pc员工端或pc管理员端页面、
- 时序图

易点易动单点登录在易点易动回调端点通过token参数接收来自IDP的JWT,并且对JWT有如下要求:
- 必须采用HMAC256加密算法并且使用Secret计算JWT的签名部分,Secret需要与易点易动系统设置中的Secret保持一致
- JWT的payload要求包含
sub字段,sub字段的内容为员工的工号或手机号,需要与易点易动系统设置中的Id类型保持一致
JWT算法:是JSON Web Tokens的简称,是目前最流行的跨域认证解决方案。详情请参阅其官网:https://jwt.io
设置步骤
1)登录系统后,在「系统管理 》系统集成 》单点登录集成」,启用单点登录:

设置页面包括两个部分:
端点信息:包括易点易动登录端点、易点易动回调端点和IDP登录端点;
JWT设置:包括加密类型、Id类型和Secret。
2)在端点信息下填写IDP登录端点,该地址由IDP提供。
3)在JWT设置下选择Id类型,Id类型是指在JWT中sub存储的信息是员工的工号或手机号,这里要求JWT中存储的工号和手机号必须与易点易动系统中员工的工号或手机号一致,否则无法登录。
4)在JWT设置下填写或生成Secret,Secret用于JWT生成和验证签名。