一、该问题的重现步骤是什么?
我们集成了nutFlow工作流插件,希望我们其他的业务系统能直接通过token鉴权跳过登录直接进入到工作流插件“我的待办”模块。我们目前设想的场景是将集成了工作流插件的BladeX作为一个通用的工作流平台,由业务系统中发起,实际流程在BladeX工作流插件中完成,并且业务系统的待办直接使用工作流插件的【协同办公】。
问题一:上述描述的场景是否可以实现?
问题二:在实际集成探索的过程中,我们希望通过token直接跳过登录实现鉴权,该方式是否可行?
以下是我们实际操作的步骤:
首先,根据文档《5.1.9.2 系统认证创建配置》,我自定义了token获取接口并获取到了token(经测试该token能通过api接口鉴权)
然后,我用其他的业务系统,通过接口方式获取到token
现在我希望能直接通过其他业务系统访问到工作流插件的“我的待办”模块,地址为http://localhost:1888/plugin/workflow/pages/process/todo (IP按实际部署调整)
请问是否有办法通过第二步拿到的token直接跳过登录验证?我尝试存在缓存里没有生效,仍然会跳转到登录界面(两套系统部署的服务器ip不同)
二、你期待的结果是什么?实际看到的又是什么?
我期待的结果:能够通过token直接跳转到工作流插件的“我的待办”模块
实际看到的结果:跳转后直接回到了登录界面
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
Blade版本:
4.5.0 release
前端版本:
saber 4.5.0
四、请提供详细的错误堆栈信息,这很重要。
无
五、若有更多详细信息,请在下面提供。
技术上实现没难度,但是比较繁琐,正常思路是这样的:
1. 访问连接带token : http://localhost:1888?refreshToken=xxx&redirectUrl=/plugin/workflow/pages/process/todo
2. 在首页增加这两个参数的获取,把refreshToken传递过来的参数写入到本地缓存
3. 参考下图调用refreshToken的dispatch方法,他会自动刷新token,userInfo可以不传
4. 回调函数获取url传参的redirectUrl,并且做路由跳转就可以了。
感谢老师的回复!根据老师的思路我已实现该功能,但是发现一个引申的问题,还辛苦老师指点迷津:
我现在能够实现通过token直接进入页面,但是如果在页面上退出登录后,再次通过token进来界面是一片空白。控制台提醒【No match found for location with path "/plugin/workflow/pages/process/todo"】,请问这是什么原因呢?(空白后,再次拷贝url进去是可以正常进入的,该问题发生在退出登录后第一次进入。并且这个过程中我使用的是同一token)
一、该问题的重现步骤是什么?
1.通过token直接进入系统,调用url为http://localhost:1888/tokenLogin?token=xxx&refreshToken=xxx&redirectUrl=/plugin/workflow/pages/process/todo 其中tokenLogin为我自己写的中转页面,代码如下:
2.此时能直接进入工作流插件的【我的待办】模块
3.在进入的页面上点击头像,再点击退出登录,此时系统自动回到登录页面
4.然后,再次拷贝url进浏览器,进入后页面如下,调用接口比正常进入少了一部分。但是通过地址看,鉴权应该是过了,并且也调用接口获取了菜单5.此时控制台上会提示【No match found for location with path "/plugin/workflow/pages/process/todo"】
6.再次拷贝url,回车可以正常进入
二、你期待的结果是什么?实际看到的又是什么?
我期待的结果:退出登录后,再次通过同一token拼接的url应该也能访问系统吧,是不是菜单项之类的缓存有问题呢?
实际看到的结果:退出登录后再次访问,跳转后界面空白并且控制台提示【No match found for location with path "/plugin/workflow/pages/process/todo"】
扫一扫访问 Blade技术社区 移动端