RoadFlow iframe方式集成用户登录验证方式:
采购第三方系统登录时通过API获取Token,第三方系统在打开firame地址中加上参数RoadFlowLoginToken=token (JAVA版为:jroadflowtoken=token) 。roadflow验证用户登录时读取第三方系统的这个token来获取当前登录用户的id。
RoadFlow系统配置:
在RoadFlow根目录下的配置文件中:appsettings.json
开启iframe方式,地址填入您系统的地址。
获取TOKEN:
在您系统登录成功后调用API获取TOKEN:
API地址:http://localhost:56613/Home/GetToken (http://localhost:56613为roadflow系统地址)
调用方式:post
参数:{key:"CBD8D8E3BAFF99D65E8923F9B298",userid:"EB03262C-0000-0000-0000-96E66A4229FE"}
key:roadflow给您系统的调用key,userid:当前登录系统的用户id(要和 roadflow系统用户id同步)
java版地址为:/webapi/token/getiframetoken
参数:{'systemcode':'apitest','systemkey':'3A16D6632EAAD902357C0576632EE575','userid':'22ACD477351E4DBF9FC644F214E07874'}
API返回值:{success:true,msg:"",token:""} success:是否成功 msg:不成功时的错误信息,成功为空 token:成功时返回的token
得到key之后在您系统中保存,以便打开时带到URL参数中
token默认有效时间为2小时,在过期后重新获取,或者要到期时调用API刷新。您的系统退出时记得清除cookie。
参数中key的设置:
在流程管理---接口系统中设置:
验证:
当您的系统通过iframe加载roadflow工作流系统验证用户时,roadflow从连接url中参数读取token验证,并将token保存,获取登录用户id。
修改记录:
文件:\RoadFlow.Mvc\Controllers\HomeController.cs
文件:\RoadFlow.Business\User.cs
增加两个方法:
文件:\RoadFlow.Mvc\Common\ValidateAttribute.cs
0
对于谷歌新版浏览器可能无法读取cookie要设置:
改浏览器配置以支持跨域传cookie的方法:
chrome地址栏输入:
chrome://flags
然后再搜索框中输入搜索SameSite by default cookies
将SameSite by default cookies的值改为disabled,重启浏览器,即可。
联系QQ:493501010电话:136 0832 5512(微信同号)邮箱:road@roadflow.net
Copyright 2014 - 2024 重庆天知软件技术有限公司 版权所有
|