欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

开源OA协同办公搭建教程:使用认证鉴权对服务访问进行限制(invoke)

程序员文章站 2022-03-03 13:45:42
...

本篇文章介绍的是开源的协同办公项目O2OA如何使用认证鉴权对服务访问进行限制(invoke)。

 

默认情况下创建的服务是允许匿名访问的,这样创建的服务可以直接通过url访问执行,如果需要进行鉴权限制,那么可以启用服务鉴权:

开源OA协同办公搭建教程:使用认证鉴权对服务访问进行限制(invoke)
            
    
    博客分类: O2OA二次开发手册企业信息化系统架构企业信息化系统  

在token.json的sso段中设置sso的鉴权信息.

开源OA协同办公搭建教程:使用认证鉴权对服务访问进行限制(invoke)
            
    
    博客分类: O2OA二次开发手册企业信息化系统架构企业信息化系统  

启用鉴权后服务的访问地址由:

http://dev.o2oa.net:20030/x_program_center/jaxrs/invoke/{serviceName}/execute

改为:

http://dev.o2oa.net:20030/x_program_center/jaxrs/invoke/{serviceName}/client/{client}/token/{token}/execute

其中{token}为sso配置的鉴权名称

开源OA协同办公搭建教程:使用认证鉴权对服务访问进行限制(invoke)
            
    
    博客分类: O2OA二次开发手册企业信息化系统架构企业信息化系统  

token为采取3des算法使用密钥对"person#timestamp"文本进行加密.

person指示以指定用户身份来运行服务.

timestamp为1970年1月1日0时0秒到当前时间的毫秒数.用于确保token的时效性,有效时间15分钟.

生成Token

可以通过前台js来产生token,也可以调用服务来产生token.

前端生成:参考:https://www.yuque.com/o2oa/fuwefs/zsweg0

后端生成:可以调用服务通过后台运行3des算法生成令牌:

开源OA协同办公搭建教程:使用认证鉴权对服务访问进行限制(invoke)
            
    
    博客分类: O2OA二次开发手册企业信息化系统架构企业信息化系统  

后端生成的token只需要输入sso中设置的client名称,以当前用户和当前时间生成token.