3.5.1 单点登录
使用简介
实现客户OA(或者其他系统)登录之后,无需再次登录观远平台,直接点击链接即可进入观远平台。
实现原理
单点登录远程验证的原理是基于通信密匙来完成的,它用来保证从远程登录进入观远平台的用户使用的是安全正确的远程验证方式。
操作步骤
(一)生成公私钥RSA Key(两种方式)
可以直接在【Universe-管理中心-单点登录】当中直接生成
2.客户可以调用代码自助生成,生成之后把Public Key配置到观远SSO当中
JAVA示例代码参考:https://thoughts.teambition.com/sharespace/616fb6829cdb8400410e91ac/docs/61b712f16b926b0041eefd96
注:在配置好RSA Key之后不要随意重置更改,如果生成新的RSA Key请确保观远Public Key与客户系统Private Key是匹配的。
(二)加密传输信息
加密参数:ssoToken
ssoToken就是用Private Key对传输参数加密后的信息,加密的内容为:
{ "externalUserId": "userId", "timestamp": 1521616977 }
注:加密后为“base64”,需要转换为“hex”格式的字符串。
示例JAVA写法:
String str = "{\"externalUserId\":\"UID\",\"timestamp\":1521616977}";
参考数据字典:
Name | 类型 | 含义 | 是否必填 | 备注 |
externalUserId | String | 客户系统的UserID | 是 | 需要确保唯一性 |
timestamp | Integer | 时间戳 | 否 | 当前Unix时间戳,东八区时间,有效期为5分钟 |
(三)externalUserId(客户系统UserID)与观远平台UserID的关系
externalUserId与观远系统里用户是一一对应的关系,所以如果有10个externalUserId那也就必须创建对应的10个观远账户。
当externalUserId与观远用户ID一致的时候则可直接使用,反之如果不同,则需要手动在观远SSO账号管理中配置对应的映射关系,如图所示。
(四)通过SSO访问平台
用上述步骤加密后的ssoToken信息访问以下链接,即可实现Universe平台的自动登录
/universe/ui/sso?token={ssoToken}