开发流程
使用简介
逸创云客服的SSO单点登录功能允许您使用第三方的系统来验证云客服平台的用户并进行登录。要开启远程验证登录,将菜单转到:
系统设置 > SSO单点登录
只有管理员能进行这项操作。
原理概述
单点登录远程验证的原理是基于一个开放的通信密匙来完成的,它连接了您的第三方系统和您的云客服平台。这个通信密匙是一个随机生成的唯一的字符串,它用来保证从远程登录进入您云客服平台的用户使用的是安全正确的远程验证方式。
下面将详细的介绍远程验证登录的原理和步骤:
1 客户准备登录一个已开启远程验证登录功能的云客服平台
2 云客服将该用户转到一个第三方远程验证登录的页面,添加一个时间戳(秒级别)
3 第三方的系统接收到一个远程登录验证的请求
4 第三方系统的通过本地的验证方式使该用户登录
5 第三方的系统搜索用户名,并和通信密匙结合生成一个签名:token 和一个时间戳(秒级别)
6 第三方的系统将该用户转回云客服平台
7 云客服获取到这个登录请求,然后使用同样方式验证该用户的登录请求。如果签名字符串匹配,云客服就知道该用户已经被您的第三方系统成功验证,并让该用户登录。
请求参数
参数名称 | 是否必须 | 类型 | 描述 |
---|---|---|---|
username | 是 | string | 用户名,可以是邮箱地址或手机号 |
time | 是 | string | 当前时间戳(秒级别) |
token | 是 | string | MD5加密(用户名+当前时间戳(秒级别)+API KEY),并统一小写 |
name | 否 | string | 用户的昵称 |
phone | 否 | string | 用户的手机 |
photo | 否 | string | 用户的头像地址,必须以http://或https://开头 |
rememberMe | 否 | integer | 1表示保持登录的连接时间至30天 0表示30分钟后无活动自动登录过期 |
SSO登录回跳地址 Return_To
当云客服将一个用户跳至您的第三方登录验证页面时,会在URL地址里记录一个return_to的参数。这个参数记录了用户在访问您第三方验证登录页面之前所访问的页面,以让用户在SSO登录后跳回之前的页面。
例如: 用户访问 https://yourdomain.kf5.com/listview/, 而这个页面必须在登录后才能访问,则云客服会将用户转到您的登录验证页面如: http://yourdomain.com/kf5/login?return_to=https://yourdomain.kf5.com/listview/
您需要在SSO的二次开发中,记录return_to回跳地址,并在验证成功后将return_to参数传入单点登录请求地址中即可。
回跳地址return_to参数在SSO单点登录开发中是可选的,默认是跳回您的云客服平台首页。我们建议您使用return_to以达到更好的用户体验效果。
注意:如果您的回调地址中已经带过其他参数,请在你的代码里对return_to地址做好URI-encodes编码。
请求地址
基本参数请求URL地址
http://[yourdomain].kf5.com/user/remote?username=[username]&time=[time]&token=[token]
完整参数请求URL地址
http://[yourdomain].kf5.com/user/remote?username=[username]&time=[time]&token=[token] &name=[name]&phone=[phone]&return_to=[return_to]
退出返回URL地址
您可以在云客服平台SSO单点登录配置里设置一个退出返回地址,当用户退出云客服平台时,可以将该用户转到一个统一的第三方系统的页面以通知第三方系统该用户已退出登录。