我正在使用Spring Security和OAuth2(版本:4.0.4.RELEASE)以及Spring(版本:4.3.1.RELEASE)。我在Angular中开发前端,并使用grunt connect:dev(http://127.0.0.1:9000)。当我尝试通过本地主机地址登录时,一切正常,但从其他地方登录时出现错误:
“XMLHttpRequest无法加载http://localhost:8084/oauth/token?client_id=MY_CLIENT_ID。对预检请求的响应未能通过访问控制检查:所请求的资源上没有'Access-Control-Allow-Origin'头。因此,源'http://127.0.0.1:9000'不允许访问。响应的HTTP状态码为401。”
我已经在WebMvcConfigurerAdapter中配置了映射(覆盖了public void addCorsMappings(CorsRegistry registry)),如下所示,但仍然不能用于http://127.0.0.1:9000。
“XMLHttpRequest无法加载http://localhost:8084/oauth/token?client_id=MY_CLIENT_ID。对预检请求的响应未能通过访问控制检查:所请求的资源上没有'Access-Control-Allow-Origin'头。因此,源'http://127.0.0.1:9000'不允许访问。响应的HTTP状态码为401。”
我已经在WebMvcConfigurerAdapter中配置了映射(覆盖了public void addCorsMappings(CorsRegistry registry)),如下所示,但仍然不能用于http://127.0.0.1:9000。
registry.addMapping("/**")
.allowedOrigins("http://127.0.0.1:9000")
.allowedMethods("POST", "OPTIONS", "GET", "DELETE", "PUT")
.allowedHeaders("X-Requested-With,Origin,Content-Type,Accept,Authorization")
.allowCredentials(true).maxAge(3600);
基于以下配置:https://spring.io/guides/gs/rest-service-cors/
请指引我解决这个问题的正确方向。