![基于 JBPM KIE 服务器令牌的身份验证](https://linux22.com/image/755799/%E5%9F%BA%E4%BA%8E%20JBPM%20KIE%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%BB%A4%E7%89%8C%E7%9A%84%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81.png)
我已按照以下说明在同一服务器实例上成功安装和配置了 JBPM 7.40.0 和 Keycloak 11.0.0文档。我可以使用基本身份验证成功执行 GET http://myserver/kie-server/services/rest/server。但是,使用我从 keycloak 成功获得的 JWTToken 执行相同的调用会导致 UnAuthorized。由于同一个用户通过基本身份验证进行身份验证,因此角色没有问题。为什么 Oauth 会失败?我需要在 JBPM 安装上配置某些内容才能使其运行吗?
请注意,我在同一个 wildfly 实例上运行 kie 服务器和 business central。
答案1
我按照说明在 WildFly 上启用了 http 日志记录这里然后我的错误就暴露出来了。针对 standalone.xml 中 keycloak 子系统中正在考虑的 war 文件的安全部署的 auth-server-url 使用了 http 协议。我通过 https 从 Keycloak 检索令牌。然后出现了以下错误
预期为“http://kc-server/auth/realms/my-realm”,但实际为“https://kc-server/auth/realms/my-realm””
通过 http 检索令牌解决了该问题。说实话,我应该将 Wildfly 配置为使用 https,但由于我使用的是自签名证书,我发现最初使用 http 更简单。