Web 应用程序的 CORS 来源问题
CORS origin issue from web application
我这里有点问题。
我有 Keycloak,我启用了 CORS(值'*'),我可以调用端点:
/auth/realms/master/protocol/openid-connect/token
来自 Postman,在那里我得到了访问令牌和其他东西的响应,但是当我尝试从我的 React 应用程序调用该端点时,我收到 CORS 错误:
我不明白为什么,因为我在该客户端中为 Web Origins 设置了“*”值。
这是一个 Keycloak 错误,还是我遗漏了一些微不足道的东西?
您是否在 Valid Redirect URIs
keycloak 配置中添加了地址“http://localhost:3000/*”?
我已经通过在 .NET Core 中创建 Web API 项目解决了这个问题(这可以用任何其他技术来完成)。我在我的项目中设置了 CORS 策略以允许任何域,然后我从 .NET Core 项目直接调用 Keycloak 端点。除了解决这个问题(因为 .NET Core Web API 项目不是浏览器应用程序,这非常有效),这通过隐藏只能从 .NET Core 访问的客户端信息为 Keycloak 添加了另一个安全层应用。 client_id 和 client_secret 等信息在浏览器应用程序中是不可见的,并且没有人可以在 Keycloak 中对我的客户造成任何损害。
我这里有点问题。 我有 Keycloak,我启用了 CORS(值'*'),我可以调用端点:
/auth/realms/master/protocol/openid-connect/token
来自 Postman,在那里我得到了访问令牌和其他东西的响应,但是当我尝试从我的 React 应用程序调用该端点时,我收到 CORS 错误:
我不明白为什么,因为我在该客户端中为 Web Origins 设置了“*”值。 这是一个 Keycloak 错误,还是我遗漏了一些微不足道的东西?
您是否在 Valid Redirect URIs
keycloak 配置中添加了地址“http://localhost:3000/*”?
我已经通过在 .NET Core 中创建 Web API 项目解决了这个问题(这可以用任何其他技术来完成)。我在我的项目中设置了 CORS 策略以允许任何域,然后我从 .NET Core 项目直接调用 Keycloak 端点。除了解决这个问题(因为 .NET Core Web API 项目不是浏览器应用程序,这非常有效),这通过隐藏只能从 .NET Core 访问的客户端信息为 Keycloak 添加了另一个安全层应用。 client_id 和 client_secret 等信息在浏览器应用程序中是不可见的,并且没有人可以在 Keycloak 中对我的客户造成任何损害。