1 使用简介
单点登录远程验证功能允许您使用第三方的系统来验证云客服平台的用户进行登录。要开启远程验证登录,将菜单转到:
系统设置 > 全局 > SSO单点登录,只有管理员能进行这项操作。
2 原理概述
单点登录远程验证的原理是基于一个开放的通信密匙来完成的,它连接了您的第三方系统和您的云客服平台。这个通信密匙是一个随机生成的唯一的字符串,它用来保证从远程登录进入您云客服平台的用户使用的是安全正确的远程验证方式。
下面将详细的介绍远程验证登录的原理和步骤:
1. 客户准备登录一个已开启远程验证登录功能的云客服平台
2. 云客服将该用户转到一个第三方远程验证登录的页面,添加一个时间戳
3. 第三方的系统接收到一个远程登录验证的请求
4. 第三方系统的通过本地的验证方式使该用户登录
5. 第三方的系统搜索用户的邮箱地址和用户名,并和通信密匙结合生成一个签名: sign和一个时间戳
6. 第三方的系统将该用户转回云客服
7. 云客服获取到这个登录请求,然后使用同样方式验证该用户的登录请求。如果签名字符串匹配,云客服就知道该用户已经被您的第三方系统成功验证,并让该用户登录。
3 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编码。
4 注意事项
在单点登录验证时,云客服平台验证登录所必须的是用户的邮箱地址,在云客服平台系统中,用户验证的唯一标识就是用户的邮箱地址。
当您开启了单点登录功能后,您就不能再使用云客服的登录功能了,您平台上的所有登录将统一被转到您的第三方平台进行统一验证登录。这时,您有可能无法登录进您的云客服平台后台了,您可以访问如下链接地址进行访问:
http://yourdomain.kf5.com/user/access/
yourdomain为您的云客服平台的二级域名前缀,您需要替换成您自己平台的域名前缀
5 sso单点登录示例代码
请访问: http://developer.kf5.com/sso/ 查看详细代码示例