【问题标题】:Keycloak AD FS InteractionKeycloak AD FS 交互
【发布时间】:2019-06-17 13:26:20
【问题描述】:

我在 Keycloak 中创建了一个 SAML 身份提供程序。单点登录 url 是 https://[URL]/adfs/ls,如 FederationMetadata.xml 中所述。

如果我现在使用 Keycloak-User-Login,我会看到一个链接,在该链接中我将被重定向到单点登录页面,但之后出现错误,因为我没有指定任何查询参数,例如 @ 987654322@或whr=https:\\foo\adfs\services\trustwtrealm=https:\\sso.foo.bar

如果我将这个参数正确地包含在signle signon url中,我可以登录,但keycloak无法识别发生了什么。

在我看来,配置为单点登录 url 的 URL 什么都不做,而我在 Keycloak 中配置的身份提供程序也没用。

谁能帮助我提供一些建议,以加深我对 AD FS 和 keycloak 之间的交互以及它们如何协同工作的理解?

【问题讨论】:

  • 我怀疑 Keycloak 是否支持 WS-Fed (SAML 1.0),您显然可以通过添加 wa=.... 来尝试。我相信 Keycloak 支持 SAML2,它在 ADFS 端由相同的端点 (/adfs/ls) 处理,但请求符合 SAML2 规范。现在,ADFS 支持具有两个绑定的 SAML2,即 POST 绑定和 REDIRECT 绑定。我的猜测是 Keycloak 遵循 POST 绑定,但您只是尚未配置 ADFS 以允许此特定绑定。
  • 可以肯定的是,您必须编辑您的问题以包含有关如何将 Keycloak 配置为 ADFS 中的 SAML2 依赖方的更多详细信息。
  • 有一个插件,但它不是生产就绪的,所以谢谢你的输入!

标签: active-directory saml keycloak adfs


【解决方案1】:

我最近参与了一个项目,我们将 KeyCloak 设置为 ADFS IdP 的 SP。

只有在设置了以下设置后,我们才能正确处理 SAML 请求:


IdP 网址:${IDP_URL}/adfs/ls/

NameID 策略格式:persistent

WantAuthnRequestsSigned:true

WantAssertionsSigned:true

签名算法:RSA_SHA256

SAMLSignatureKeyName:CERT_SUBJECT


除了更新 KeyCloak(作为 SP)中的 NameID 策略外,我们还必须在 IdP 端进行自定义设置,以确保 NameID 以 persistent 格式发回。

【讨论】:

    猜你喜欢
    • 2018-08-20
    • 2015-11-05
    • 2019-06-25
    • 2019-11-09
    • 1970-01-01
    • 1970-01-01
    • 2021-12-14
    • 2012-05-17
    • 2015-01-25
    相关资源
    最近更新 更多