首页 > 解决方案 > 登录后返回 Spring Boot + React + Keycloak 不存在 Access-Controll-Allow-Origin 标头

问题描述

我正在尝试向我的 SpringBoot 应用程序添加前端。我也有一个完美连接的用户提供商,因为如果我做了一个 CURL,它就可以工作。

The problem begins when connecting react to Keycloak to do a login, it shows the login page, but when the login is OK it returns
Access to XMLHttpRequest at 'http://localhost:18080/auth/realms/Realm/protocol/openid-connect/token' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

它仍然是 Keycloak 的问题,因为它是通过 CURL 工作的,但我无法很好地配置它。

我还在客户端的 Web 起源中添加了一个 *。

标签: reactjsspring-bootcorskeycloak

解决方案


您不会重现CORS问题,curl因为它是浏览器约定。

基本上,当客户端请求包含以下内容时,浏览器会将请求视为 CORS:

headers:
    Origin: 127.0.0.1
    Set-Fetch-Mode: cors

并且服务器响应必须包含:Access-Control-Allow-Origin: *where * 可以针对特定资源进行更改。

@CrossOrigin请参阅Spring中有关 CORS 和注释的文章


推荐阅读