请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

fegin 使用interceptor插入token报错

老师,按照您的代码,稍微改写了下我的项目,我项目中token是跟在bearer后面的一串jwt,代码如下:
图片描述
使用中打开了debug的日志,日志显示如下:
图片描述
请问老师,这个是什么问题?

正在回答 回答被采纳积分+3

1回答

大目 2020-04-24 11:18:29

您好,你截的是消费者端的日志。

但这个400的问题,是提供者报的。

可以排查下提供者端的问题,这才是源头。


https://img1.sycdn.imooc.com//szimg/5ea25a04098c7c3025480106.jpg

另外,直觉告诉我,这行日志貌似有问题。。规范的写法首先是 Bearer: xxx

Bearer后面没有空格,而且是英文冒号。


Anyway,建议先看下提供者端的日志,看下处理过程,为什么返回一个400。

之后,再去想消费者端Feign哪里传输得不对。

0 回复 有任何疑惑可以回复我~
  • 提问者 weixin_慕慕2501778 #1
    老师,这个就是提供者的日志,我是从提供者向spring cloud oauth2的端口发送的数据,根据老师的提示我发现,header的前缀是应该是Authorization然后值是bearer ——。那现在又引出了另外的一个问题,就是能否默认全局的过滤器配置,在特定的类上全局配置不生效,或者是自定义的配置覆盖全局配置?感谢老师
    回复 有任何疑惑可以回复我~ 2020-04-24 16:21:59
  • 大目 回复 提问者 weixin_慕慕2501778 #2
    提供和消费者是相对的。
    你的提供者在调用spring cloud oauth2的时候,你所谓的提供者承载的就消费者的角色。
    
    全局过滤器可以啊用@FeignClients(defaultConfiguraion=xxx.class)即可。
    回复 有任何疑惑可以回复我~ 2020-04-24 18:44:32
  • 提问者 weixin_慕慕2501778 回复 大目 #3
    老师没明白我的意思,我是说,全局配置的过滤器自然生效,只是个别feignclient不使用全局配置使用自定义配置,如果通过属性的default配置的全局过滤器有没有办法让个别类不生效,当然我找到了折中的处理办法,在全局过滤器里获取url然后判断是否以某个uri的开头特别处理。
    回复 有任何疑惑可以回复我~ 2020-04-24 19:43:48
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信