0%

跨域报错,When allowCredentials is true, allowedOrigins cannot contain the special value



写在前面:

如本文描述有错误,希望读到这篇文章的您能够提出批评指正。 联系方式:172310978@qq.com

参考文章:

  1. https://zhuanlan.zhihu.com/p/358946657

1. 跨域报错

参考文档:

报错信息如下:

1
2
3
4
When allowCredentials is true, allowedOrigins cannot contain the 
special value "*“since that cannot be set on the “Access-Control-Allow-Origin”
response header. To allow credentials to a set of origins, list them explicitly or
consider using"allowedOriginPatterns” instead.

翻译如下

allowCredentials为true时,allowedOrigins不能包含特殊值“*”,因为不能在“Access Control Allow Origin”响应头上设置该值。要允许凭据指向一组源,请显式列出它们,或者考虑改用“allowedOriginPatterns”。

解决办法:跨域配置报错,将.allowedOrigins替换成.allowedOriginPatterns即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

/**
* 开启跨域 */
@Override
public void addCorsMappings(CorsRegistry registry) {
// 设置允许跨域的路由
registry.addMapping("/**")
// 设置允许跨域请求的域名------------修改此行
.allowedOriginPatterns("*")
// 是否允许证书(cookies)
.allowCredentials(true)
// 设置允许的方法
.allowedMethods("*")
// 跨域允许时间
.maxAge(3600);
}
}