JH7 IONIC对接Keycloak被CORS策略拦截无法登录问题求助
问题根因
你在application.yml中配置的CORS规则仅作用于自身Spring Boot服务的接口,本次报错的请求目标是Keycloak服务的/auth/realms/pridea/protocol/openid-connect/token接口,CORS校验要求目标资源所在的服务返回Access-Control-Allow-Origin响应头,因此修改Spring侧配置无法解决该问题。
排查解决步骤
- 登录Keycloak管理控制台,进入你使用的
pridea领域,在「Web起源(Web Origins)」配置项中添加你前端的调试origin:http://localhost:8100、http://localhost:9000,临时测试可填*,生产环境请严格配置指定域名。 - 找到你Ionic应用对应的Keycloak客户端,检查该客户端的「Web起源」配置,同样补充上述本地调试origin。
- 若不想修改Keycloak配置,本地开发时可在前端开发服务器配置代理规则,将发往Keycloak的请求通过本地代理转发,绕开浏览器CORS校验,该方案仅适用于本地调试场景。
- 配置完成后可使用浏览器无痕模式测试,避免旧的CORS缓存影响验证结果。
内容的提问来源于stack exchange,提问作者DaniZenski
相关产品推荐
相关产品推荐

