Keycloak 在本地测试时未将允许的来源添加到“Access-Control-Allow-Origin”标头,我该如何修复它?

问题描述 投票:0回答:3

成功登录后重定向时,我在 chrome 控制台中收到以下错误:

Access to XMLHttpRequest at 'http://localhost:8080/realms/careium/protocol/openid-connect/token' from origin 'http://localhost:4200' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header has a value 'http://localhost:8080' that is not equal to the supplied origin.

我的设置目前如下所示:

keycloak settings screenshot

chrome 中的问题窗口如下所示:

enter image description here

我一整天都在谷歌上搜索和研究这个问题,我所能找到的只是其他有类似问题的人。
有没有明确的解决方案?

cors keycloak
3个回答
1
投票

我发现,如果您为 KC 客户端禁用了 “允许的完整范围”Full scope allowed - off

并且您正在 KC init 上加载用户配置文件,您需要将

view-profile
范围添加回您的客户端。为此(对于 KC v21+),请转至:Clients -> [您的客户] -> Clientscopes 选项卡 -> [您的客户]-专用范围 -> Scope 选项卡 -> 分配角色按钮 -> 在下拉菜单中选择“按客户过滤” -> 选择“(帐户)查看个人资料”

另一个对我有用的解决方案是禁用 KC init 上加载用户配置文件:

loadUserProfileAtStartUp: false


0
投票

我在网络来源的末尾有一个*,删除它有帮助


-3
投票

在网络来源中添加*

在此输入图片描述

© www.soinside.com 2019 - 2024. All rights reserved.