我已经使用我的 java API 项目配置了基于 Keycloak 角色的访问控制,并且它使用 Wildfly 进行部署并且运行时没有任何错误。由于我已经使用 Postman 测试并确认了响应,因此我需要使用 Swagger 来生成 API 文档。
使用 Swagger Inspector 我创建了一个 API 定义,并通过 SwaggerHUB 导出该定义,以便在我本地运行的 SwaggerUI 中使用它。使用 Web-origins 和在 Keycloak 中配置的所有必要步骤以及在 Swagger 脚本中设置的身份验证参数,我收到以下错误..
” 从源(swagger ui 路径)获取(api 请求)的访问已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:预检请求不允许重定向。 “
我注意到,如果我绕过 Keycloak,这是有效的。克服这个问题的最佳解决方案是什么?
我能够参考此答案解决我的问题。我也在我的 Java 后端服务器 Wildfly 的 keycloak.json 中添加了
"enable-cors": true
并成功在服务器环境中测试了相同的实现。
就我而言,我向 Keycloak 发送了 OAuth2 请求并收到了此错误消息。
我通过在 Keycloak 客户端选项的“Web Origins”字段中设置“*”解决了此问题。