reactjs - 登录后返回 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 起源中添加了一个 *。
解决方案
您不会重现CORS问题,curl
因为它是浏览器约定。
基本上,当客户端请求包含以下内容时,浏览器会将请求视为 CORS:
headers:
Origin: 127.0.0.1
Set-Fetch-Mode: cors
并且服务器响应必须包含:Access-Control-Allow-Origin: *
where * 可以针对特定资源进行更改。
@CrossOrigin
请参阅Spring中有关 CORS 和注释的文章
推荐阅读
- doctrine - 当我尝试编写 dql 查询时,出现滞后和过度错误(beberlei/DoctrineExtensions)
- cadvisor - cadvisor - 如何减少日志数量
- amazon-web-services - 将网络路由到 AWS 中的弹性 IP 到我的笔记本电脑
- python - Django Expiration Job 未通过测试
- http - 如何为使用模板创建的 GCE 实例启用 HTTP/HTTPS?
- stm32 - STM32 M4 Cortex WAV 播放器 SD 卡 DMA DAC
- oauth2-playground - OAuth 2.0 Playground:授权 API 按钮
- python - TypeError:尝试打印单个列时,只能将整数标量数组转换为标量索引
- python - 在 Python SQL 查询中使用 IN 表达式传递 SQL 变量
- javascript - 如何同时处理承诺和非承诺错误