是否可以在不使用登录屏幕的情况下对Keycloak的身份提供商(OpenAM)进行身份验证?

时间:2016-08-09 19:56:22

标签: authentication openid-connect openam keycloak apiman

请注意我是我提到的应用程序的新手,所以我可能会错误地使用术语。我添加了一些图表来尽我所能解释自己。

我正在尝试在APIMAN中设置一个Web服务身份验证策略(在内部使用Keycloak)

到目前为止,我知道我在Keycloak中创建的身份提供程序(OpenAM)已正确配置,因为它正在登录页面上工作(参见下面的图1) Image 1

我还通过Keycloak的OpenID API成功使用了access_token来访问Web服务;但仅当用户凭据在Keycloak中时(与OpenAM相反)(见图2) Image 2

我想要实现的是通过Keycloak验证此Web服务客户端,但使用身份提供商的凭据,但我不知道如何执行此操作或甚至可能。 (见图3) Image 3

请注意我也尝试过在OpenAM后面使用LDAP的User Federation,它运行正常,但我想知道是否有办法通过OpenAM来实现。

1 个答案:

答案 0 :(得分:0)

您使用 keycloak 和 openam 的方式很不寻常,但是如果我正确理解您的问题,您希望 keycloak 将 Web 服务请求重定向到 openam,而不是 ldap,

您可以:

  1. 使用 saml 将 openam 配置为身份提供者:

Openam 将是您的身份来源,而 keyclaok 将是他的客户,您可以通过配置 keycloak 来实现:身份提供者 -> saml IDP -> 在这里您将放置 openam 元数据。

  1. 将 openam 配置为 OIDC 提供商:

在 keycloak 中,您转到身份提供者 -> 创建 -> oidc v1 提供者 -> 然后您将放置您的 openam 信息。

正如我所说,它可以做到,但它不是它应该的方式,openam 和 keycloak 都是访问管理软件,它们都做完全相同的事情,在您的配置中,keycloak 扮演 API 网关的角色,这不是 keycloak 应该做的,您可以摆脱任何一种解决方案,两者都可以为您提供相同的功能(OIDC、OAuth2、SAML、LDAP 等)