gpt4 book ai didi

spring - 尽管 CORS 使用 jHipster oAuth 时出现未经授权的错误

转载 作者:行者123 更新时间:2023-12-04 00:11:00 25 4
gpt4 key购买 nike

我正在运行一个在服务器上启用了 oAuth 身份验证和 CORS 的 jHipster 实例。我添加了以下 bean:

@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration config = new CorsConfiguration();
config.setAllowCredentials(true);
config.addAllowedOrigin("*");
config.addAllowedHeader("*");
config.setAllowedMethods(Arrays.asList(new String[]{"GET", "PUT", "POST", "DELETE", "OPTIONS"}));
source.registerCorsConfiguration("/api/**", config);
source.registerCorsConfiguration("/v2/api-docs", config);
source.registerCorsConfiguration("/oauth/**", config);
return new CorsFilter(source);
}

并将 .antMatchers(HttpMethod.OPTIONS, "/oauth/token").permitAll() 添加到 ResourceServerConfiguration 配置。

当我尝试从在浏览器本地运行的应用程序中验证用户(使用在服务器上运行的 jHipster)时,我得到:请求方法:OPTIONS - 状态码:401 未授权

似乎 CORS 没有正确配置来处理飞行前身份验证 POST 请求。

我已尝试实现在 Spring Data Rest and Cors 上提出的一些解决方案和 Spring Data Rest and Cors无济于事。

这是可以在 jHipster 中完成的特定操作,以启用身份验证从浏览器或应用程序(不在 jhipster 服务器上运行)工作吗?

最佳答案

我取消注释 CORS 行

cors: #By default CORS are not enabled. Uncomment to enable.
allowed-origins: "*"
allowed-methods: GET, PUT, POST, DELETE, OPTIONS
allowed-headers: "*"
exposed-headers:
allow-credentials: true
max-age: 1800

在安全配置中添加

            **.antMatchers(HttpMethod.OPTIONS, "/**")**
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring()
.antMatchers(HttpMethod.OPTIONS, "/**")
.antMatchers("/scripts/**/*.{js,html}")
.antMatchers("/bower_components/**")
.antMatchers("/i18n/**")
.antMatchers("/assets/**")
.antMatchers("/swagger-ui/index.html")
.antMatchers("/api/register")
.antMatchers("/api/activate")
.antMatchers("/api/login/**")
.antMatchers("/api/account/reset_password/init")
.antMatchers("/api/account/reset_password/finish")
.antMatchers("/test/**");
}

到目前为止它一直有效。

关于spring - 尽管 CORS 使用 jHipster oAuth 时出现未经授权的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35578269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com