我想将 keycloak 安全功能集成到基于 spring boot 的 rest api 中。我正在使用 KeyCloak 1.3.1 Final。现在这是纯粹的基于休息的api,我正在通过邮递员进行测试
我的 rest api 得到了保护,当我尝试访问它时,确实要求我授权,但无法执行我的请求。基本上我被我的 api 锁定了。
我会快速列出我已经做过的事情
- 创建了一个spring boot rest api并对其进行了测试。它工作正常。
- 为 KeyCloak 修改了我的 gradle 并按照此文档进行了配置
- 为“仅承载”应用程序配置了我的 keyCloak
- 我试图生成访问令牌,但我无法生成。因此,我使用“机密”在 keycloak 中创建了另一个客户端,并使用该客户端生成访问令牌(两个客户端都指向同一个应用程序。我不确定这是否正确)
- 使用此访问令牌,我正在尝试进行 api 调用,但得到 401 Again am using this document。
我对keycloak和spring都是新手。
所以我想在这里问的是,我们如何生成访问令牌以在像这里这样的场景中测试休息 api。
KeyCloak 上任何可以帮助我的有用资源。到目前为止,我不知道问题出在哪里?是我的 api 还是我配置 KeyCloak 的方式。另外,由于我是 spring 新手,我只是找不到关于如何为 spring boot 配置 cloak 的像样的文档。如果您也可以提供帮助。
继续前进,我在 KeyCloak 邮件列表中获悉 Spring Boot 适配器仅支持基本身份验证,因此我决定合并 Spring 安全适配器本身。我这样做了,当我运行应用程序并提供凭据时仍然无法使其工作。然而,有趣的事情正在发生。我被重定向到http://127.0.0.1:8090/sso/login 我仔细检查了它,这不是我提供的重定向 url。???知道为什么吗?(再次对它感到陌生,并在通过这个项目的过程中了解弹簧和安全性。所以请多多包涵。)