如何在 Spring Boot Keycloak Adapter 中禁用自动登录重定向

How to disable auto login redirect in Spring Boot Keycloak Adapter

我正在 Spring Boot 中编写一个 API,我想使用 Keycloak 保护它。 进行一些设置后,我设法让 keycloak 适配器工作。虽然我期待在任何未经身份验证的请求上出现 403,但我得到了 HTTP 302 重定向到登录页面。 当我在处理 API 时,如何禁用自动登录重定向并提供 403 错误消息,以便我可以添加一些前端逻辑以启动登录过程?

在您的配置中,您可以

http.exceptionHandling().authenticationEntryPoint(new Http403ForbiddenEntryPoint())

它会在每次调用失败时开始返回 403,然后您可以捕获它以及您需要的任何逻辑。

您需要在 application.properties 或 application.yml 中添加 属性 keycloak。bearer-only: true 以避免出现错误时重定向到登录页面 您将收到一个 401 错误