【问题标题】:Connecting keycloak with Active Directory with SAML IDP sends empty response使用 SAML IDP 将 keycloak 与 Active Directory 连接发送空响应
【发布时间】:2021-12-20 10:00:30
【问题描述】:

我们在使用 SAML 将 keycloak(版本 9)与 Active Directory IDP(版本 3)连接时出现问题:尽管我们已配置响应属性,但 Azure IDP 以空状态响应响应。

有时它会起作用,但大多数时候它会产生登录循环。据我所见,没有执行登录(没有登录屏幕),但使用了来自系统的登录信息。 (浏览器是火狐)

SAML 响应如下所示:

<samlp:Response ID="_1629646f-f163-4ba1-beaa-58c44bc14494"
                Version="2.0"
                IssueInstant="2021-12-20T07:23:37.407Z"
                Destination="https://keycloak.mydomain/auth/realms/CUSTOMER/broker/saml/endpoint"
                Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified"
                InResponseTo="ID_d2e30a9a-7f0c-4811-a88c-b1cbebc3329b"
                xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
                >
    <Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">http://fs.customer.com/adfs/services/trust</Issuer>
    <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
        <ds:SignedInfo>
            <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
            <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" />
            <ds:Reference URI="#_1629646f-f163-4ba1-beaa-58c44bc14494">
                <ds:Transforms>
                    <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
                    <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
                </ds:Transforms>
                <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
                <ds:DigestValue>....</ds:DigestValue>
            </ds:Reference>
        </ds:SignedInfo>
        <ds:SignatureValue>h....=</ds:SignatureValue>
        <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
            <ds:X509Data>
                <ds:X509Certificate>/...</ds:X509Certificate>
            </ds:X509Data>
        </KeyInfo>
    </ds:Signature>
    <samlp:Status>
        <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Responder" />
    </samlp:Status>
</samlp:Response>

谁能给我一个提示?

【问题讨论】:

  • 您好@KartikBhiwapurkar-MT 我们上周遇到了一些其他问题,所以我无法在这个问题上做太多工作,但如果我完成了,我会回来回答您的。但是强制登录提示很有用。

标签: active-directory keycloak saml-2.0


【解决方案1】:

• 您的 saml 状态响应从发行者(即 ADFS 服务器)收到如下:-

 ‘ <samlp:Status>
    <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Responder" />
</samlp:Status> ‘

这表明身份提供者,即发出 SAML 身份验证声明的 Active Directory,由于错误/缺少用户权限或服务提供者配置而阻止了相关用户/应用程序的身份验证。很可能是缺少访问 SAML SSO 服务提供者的权限,从而导致此错误,因此请在身份提供者处检查用户的权限。

因此,建议您参考以下链接再次检查 ADFS 服务器中的 keycloak 配置,并遵循以下最佳配置实践,用于 ADFS 服务器的 keycloak 配置:-

https://www.keycloak.org/2017/03/how-to-setup-ms-ad-fs-30-as-brokered

最佳实践:-

How to force login per client with keycloak (¿best practice?)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-19
    • 2015-01-03
    • 2021-10-16
    • 1970-01-01
    • 2022-12-23
    • 1970-01-01
    • 2017-02-13
    相关资源
    最近更新 更多