为啥就你的springboot跨域失效

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥就你的springboot跨域失效相关的知识,希望对你有一定的参考价值。

参考技术A

跨域问题是前后端在联调当中常常会碰到的问题,但是有些骚操作可能会影响正常的跨域请求。

比如说:在和第三方公司联调的过程,第三方需要调用我们的服务。然后那报错了,跨域请求失败。

三方问:你们的后台有解决跨域吗?为什么会跨域失败。

我:直接把代码截图发过去。

三方问:那为什么会跨域失败那,我问了我们这边的后台说只要解决了就不会有跨域的问题。( wo ca!!! 就这一句话我就炸了。语气里满是不信任。这不怼你留着过年!但是怼人要有证据。开启了疯狂的分析之路!

先 研究一下 Access-Control-Allow-Credentials 这个头的作用。这个是服务端下发到客户端的 response 中头部字段,意义是允许客户端携带验证信息,例如 cookie 之类的。这样客户端在发起跨域请求的时候,不就可以携带允许的头,还可以携带验证信息的头,又由于客户端是请求框架是 axios,并且手残的设置了 withCredentials: true ,意思是客户端想要携带验证信息头,但是我的服务端设置是 \'supportsCredentials\' => false, ,表示不允许携带信息头。

我们的客户端和服务端交互的时候使用的是 token,通过 Authorization头发送到服务端,并没有使用到 cookie,所以客户端没有必要设置 withCredentials: true ,一顿操作猛如虎。

既然找到了原因证明不是我们服务的问题,那!!!! 小样

我:直接把跨域经过,讲了一遍。然后又问他你们怎么调用的接口。

三方:我们是在前端直接掉的。

我:你们是不是修改了axios的参数

三方:是

我:你不要用自己封装的axios,直接用axios

三方: 可以访问了。

我:是我的服务问题吗?你们的后台说得对吗?了解了吗(灵魂三问)

温馨提示:友好的对待你的对接人,没准下一个就是你的同事!

以上是关于为啥就你的springboot跨域失效的主要内容,如果未能解决你的问题,请参考以下文章

springboot 为啥读取不到 yml 属性

记使用spring security 后跨域配置失效的问题

记使用spring security 后跨域配置失效的问题

spring boot跨域请求访问配置以及spring security中配置失效的原理解析

spring boot跨域设置

spring boot 登录重定向外部地址,出现跨域问题 怎么办?