开源OA协同办公搭建教程:使用认证鉴权对服务访问进行限制(invoke)
程序员文章站
2022-03-03 13:45:48
...
本篇文章介绍的是开源的协同办公项目O2OA如何使用认证鉴权对服务访问进行限制(invoke)。
默认情况下创建的服务是允许匿名访问的,这样创建的服务可以直接通过url访问执行,如果需要进行鉴权限制,那么可以启用服务鉴权:
在token.json的sso段中设置sso的鉴权信息.
启用鉴权后服务的访问地址由:
http://dev.o2oa.net:20030/x_program_center/jaxrs/invoke/{serviceName}/execute
改为:
其中{token}为sso配置的鉴权名称
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算法生成令牌:
后端生成的token只需要输入sso中设置的client名称,以当前用户和当前时间生成token.