技术文章

当前位置:首页>帮助手册>技术文章

第三方系统是如何通过加密认证与O2OA进行单点登录的?

时间:2024-02-28   

O2OA是一款全开源的企业信息化开发平台,作为OA系统开发平台,O2OA着力于帮助企业降低信息化系统开发成本,帮助企业提升信息化能力。本系列主要以实战形式向大家介绍使用开源OA平台搭建一套协同办公系统的实际操作过程,让大家更好地了解O2OA平台的基本能力。

本文主要介绍一下O2OA这个OA办公系统下,如何实现单点登录。

单点登陆概念

介绍一下单点登录(Single Sign On),它简称为 SSO,意指在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

单点登陆方式

O2OA办公系统默认提供两种单点登陆解决方案:

加密认证

我们来看下这张图,加密认证方案是第三方系统通过生成加密的临时票据,然后使用这个临时票据进行单点认证。

单点认证.png


  由系统管理员的身份,进入“系统配置”,点击“安全配置”-“单点登录” 点“添加鉴权配置”

image.png


接下来我们演示一下第三方系统单点登录到O2平台的过程,以HR系统为例:

首先在O2平台里进入到系统设置,找到系统SSO配置

配置鉴权 ,配置第三方系统的鉴权

输入鉴权名称,输入密码

配置鉴权好了,HR系统怎么登录呢?

o2平台中心服务,提供了一个认证的接口,我们去打开看一下,

这个认证接口在 组织管理认证服务里面:SSO Action,http://127.0.0.1:20030/x_program_center/jest/list.html

有一个方法:getLogin

我们看到需要两个参数:client和token,token就是临时票据。

这个临时票据HR系统怎么产生?是需要HR系统写加密算法实现的。加密算法是基于DES来实现的,密钥的依据是用户名+#+时间戳

现在平台里提供了加密的接口,来生成这串临时票据。

SsoAction / getEncrypt

输入clientid, key,和用户的凭证信息,

用户的信息是我们组织库里的用户,填手机号吗和唯一编码都可以。

拷贝这串密钥信息

O2平台会用Des进行解密获得用户信息,现在HR系统拿着 和O2平台约定好的token信息, 去执行getLogin  进行单点登录。

输入client 和临时票据(密钥)


直接访问服务器无需登录进入即可。












上一篇:组织管理中开发遇见的常见问题

下一篇:介绍如何通过OAuth2与O2OA进行单点登录