观远sso集成开发指南

观小智发表于:2020年02月06日 21:41:49更新于:2020年09月18日 14:06:54

使用简介

实现客户OA(或者其他系统)登录之后,无需再次登录观远平台,直接点击链接即可进入观远平台。

实现原理

单点登录远程验证的原理是基于通信密匙来完成的,它用来保证从远程登录进入观远平台的用户使用的是安全正确的远程验证方式。

操作步骤

一)生成公私钥RSA Key(两种方式)

• 格式要求:PKCS#8

1,可以直接在观远SSO当中直接生成

image.png

2,客户可以调用代码自助生成,生成之后把Public Key配置到观远SSO当中

image.png

JAVA示例代码参考:http://help.guandata.com/hc/kb/article/1419113/

注:在配置好RSA Key之后不要随意重置更改,如果生成新的RSA Key请确保观远Public Key与客户系统Private Key是匹配的。


二)加密传输信息

请求方式:GET ?provider={providerName}&ssoToken={ssoToken}

ssoToken就是用Private Key对传输参数加密后的信息,加密的内容为:

{
   "domainId":"abcbi",
   "externalUserId": "userId", 
   "timestamp": 1502079219000
}

注:加密后必须为“base64”,并且是“hex”格式的字符串。

示例JAVA写法:

String str = "{\"domainId\":\"domId\",\"externalUserId\":\"UID\",\"timestamp\":1521616977}";


参考数据字典:

Name

Location

类型

含义

是否必填

备注

providerName

Path

String

提供者

私有化客户默认为:guanbi

ssoToken

Path

String

加密后的用于登录的信息

需要加密

domainId

其他

String

租户ID

私有化客户默认为:guanbi

externalUserId

其他

String

客户系统的UserID

需要确保唯一性

timemstamp

其他

Integer

时间戳

当前时间戳,东八区时间,有效期为5分钟

注:“providerName”与“domainId”私有化客户都为“guanbi”,之前已经配置好的客户不受影响。


三)externalUserId(客户系统UserID)与观远平台UserID的关系

externalUserId与观远系统里用户是一一对应的关系,所以如果有10个externalUserId那也就必须创建对应的10个观远账户(可以通过系统或者API创建)。当externalUserId与观远用户ID一致的时候则可直接使用,反之如果不同,则需要手动在观远SSO账号管理中配置对应的映射关系,如图所示。

image.png



四)观远提供的测试环境

1,在配置我们的正式环境之前,可以使用观远提供的测试环境来测试我们的代码是否正常可用。

PC端服务服务地址:https://app.mayidata.com  

移动端服务地址:https://app.mayidata.com/m 

ProviderName:ssotest

domainId:ssotest

externalUserId:A0001 

Private Key:

MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAKl+0Tihp4YY9KusCCSICidm32VW/IM07TDZK1GuhSUuci1zvZzt+82xqiAnneJ0Z7sPwBflV9qDFr/0RIWKDMn00HYkIvLikuWWpNctNbczPem+WVYJA+CZbdzK/TJcOhPvkMnGQUyy1X5LfIy0N8cbh1uBIbaFRcxWoGLt4aQnAgMBAAECgYA4G9oo1CK/2n0MY3uilEJAPubPBle7G4c1d37GoG5FG7YCY+EuFP4ZXqoB0PuMHprEKvedMXe+x0x9qOASENwgaKP0K2+IxhOglJs3dfGz6kzjofd1LdhvGhuDUDVWaREcjxIIvbXqTNql32gxWEpXCJAZ88Gdn50sWCnLwlHLgQJBAN8mLTG/7Y0psiV2zNnjQR4e2sHRi54MopHz+2TsVh0uqZNC2MAVwQRogjOQ5LrRwF8LQuZKfWF1eNIlI15dEucCQQDCcpdmblioXybEJdCiM++6atm2G3QfBp5GaOg78bN/CpgJOc0bqXBwH2Ex3iv2edKj/42meAFAqsR5eG3TrfzBAkEAl+JFOqp3BvENZ0CQN/HdPaIkpW16CU5yTMNzJgNSrbQ4CZqjK0LjSJvVm0GQ3bOsq0Rf+Z1T78TkQqyygST6mwJAEH5V10tu28FOcX7fppKPOBnOI8NKY0NVc5V8dXE4D4Ofh9DOVBVYQzp2LRuyUPLeaijIJCGzwX96sO8FKdptQQJBALk+VCXwyYE8Tjym3TuS26Uy75XGW+5PrNphxMUVyFgHfPjZe1Nav1/8X+EpO5ycYQJuVXeNTnmFWbvoGWuIM1w=


2,按照上述对接文档完成代码开发,如果返回以下页面则说明对接成功,之后可以把相关参数替换成正式环境的参数。

0015f632cbb485bc14617b77e7b2732

如失败则返回:

image.png


    您需要登录后才可以回复