【问题标题】:Communication between two micro services - keycloak clients两个微服务之间的通信——keycloak客户端
【发布时间】:2019-01-20 22:50:11
【问题描述】:

我有两个服务在同一个领域注册为两个 keycloak 客户端。 在 keycloak 客户端设置中,两个客户端的访问类型都设置为 public。

当我们尝试通过 Keycloak 登录时,这两个服务都可以正常工作。

登录到 first(service-1) 后,用户执行了一些操作,为此我需要对 (service-2) 进行 REST 调用。 现在,如果我尝试从一个服务到另一个服务进行 REST 调用,它会重定向到 HTML 并返回一些 HTML 响应而不是实际响应。

我可以通过什么方式在这两个服务之间进行调用。

【问题讨论】:

    标签: rest keycloak


    【解决方案1】:

    要与受 keycloak 保护的 api 通信,您需要提供授权。为此,您需要做的就是在授权标头中传递访问令牌。

    要获取此令牌,您可以进行登录调用,获取访问令牌并将其传递,或者您可以使用传递的令牌来访问第一个服务本身。

    【讨论】:

    • 谢谢。对于第一个服务,我们通过登录页面登录。我们还能从中获得访问令牌吗?
    • 是的,您仍然可以获得访问令牌。我不确定,您可能需要为此查看文档,但您可以获得令牌。如果您可以让我了解更多有关前端的信息,我可能会为您提供帮助。
    【解决方案2】:

    不,这还不可能,因为这个问题https://issues.jboss.org/plugins/servlet/mobile#issue/KEYCLOAK-6073。 总之,除非在两种情况下都使用相同的 keycloak URL,否则您不能在支持的调用中使用登录网页生成的令牌。

    【讨论】:

      最近更新 更多