一、该问题的重现步骤是什么?
1. 在定时器远程调用 消息插件 会报401 没权限 正常远程调用消息插件没问题 定时器执行定时任务 到时间发送就会报401
2. 我定时器写在serviceimpl里的
3.
二、你期待的结果是什么?实际看到的又是什么?
我希望能正常在定时器中执行远程调用消息插件
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
我用的是bladex 版本4.1.0 在window 10上
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
定时器是异步,不带request请求,而token校验是从request里获取Blade-Auth请求头的值再进行鉴权的。所以你的这种情况直接调用会401。
解决办法是定时器里手动加上token请求头,或者用BladeX提供的不需要token只用sign+timestamp模式的校验来调用:https://center.javablade.com/blade/BladeX-Doc/src/branch/master/%E7%AC%AC5%E7%AB%A0%20%E5%8A%9F%E8%83%BD%E7%89%B9%E6%80%A7/5.3%20Secure%E5%AE%89%E5%85%A8%E6%A1%86%E6%9E%B6/5.3.4%E5%AE%89%E5%85%A8%E6%A1%86%E6%9E%B6%E9%85%8D%E7%BD%AE.md#%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E7%94%B3%E6%98%8E
远程调用手动加token的方式要怎么加?
先HttpUtil调用token接口获取token(可以固定一个账号密码来获取,也可以直接写死一个长效的token,但是注意不要泄露),然后HttpUtil设置Blade-Auth请求头把token设置进去。再调用系统其他接口就有token携带了。
长效的token要怎么获取 我现在只知道获取短时间的token 的接口 要传什么特殊参数吗
那还是每次调用前去请求token吧,这样安全点,长效token一旦泄露,整个系统都危险的。
扫一扫访问 Blade技术社区 移动端