SSO 与 Onelogin 针对 SSOCircle

Posted

技术标签:

【中文标题】SSO 与 Onelogin 针对 SSOCircle【英文标题】:SSO with Onelogin against SSOCircle 【发布时间】:2017-08-31 09:32:12 【问题描述】:

我正在尝试使用 OneLogin 演示应用程序对 SSOCircle 进行身份验证。我已经更新了属性并设置了 SSOCircle 的证书。但是,我没有被重定向到 SSOCircle 以提供用户凭据。而是得到以下 saml 响应代码

SAMLRequest

<samlp:AuthnRequest AssertionConsumerServiceURL="http://localhost:8080/onelogin/acs.jsp"
    Destination="https://idp.ssocircle.com:443/sso/SSORedirect/metaAlias/publicidp"
    ID="ONELOGIN_6e922e38-0222-4017-bb5c-990983b36014" IssueInstant="2017-08-31T09:24:07Z"
    ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Version="2.0"
    xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
    xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
    <saml:Issuer>debug.com</saml:Issuer><samlp:NameIDPolicy AllowCreate="true"
        Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"/>
    <samlp:RequestedAuthnContext Comparison="exact">        <saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef>
    </samlp:RequestedAuthnContext>
</samlp:AuthnRequest>

SAMLResponse

<samlp:Response ID="s21b75294834dd375796520523a63538f7c32e2ace"
    InResponseTo="ONELOGIN_6e922e38-0222-4017-bb5c-990983b36014" IssueInstant="2017-08-31T09:24:13Z"
    Version="2.0" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
    <saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">https://idp.ssocircle.com</saml:Issuer>
    <samlp:Status xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
        <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Requester"
            xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
            <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:NoAuthnContext"
                xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"></samlp:StatusCode>
        </samlp:StatusCode>
    </samlp:Status>
</samlp:Response>

请指导我为什么不将请求重定向到 SSOCircle 以便能够提供用户名和密码。

谢谢。

问候, 阿杰

【问题讨论】:

【参考方案1】:

您的 SAML 演示应用程序正在请求特定的 AuthnContext,而 SSOCircle IDP 响应 AuthnContext 未知。

查看您的 SAML 请求会发现请求的 AuthnContext 是

urn:oasis:names:tc:SAML:2.0:ac:classes:urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport

这看起来更像是演示应用程序中的一个错字。尝试将值更改为

 urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport

【讨论】:

尊敬的居委会,非常感谢。维伦 维伦 丹克! .

以上是关于SSO 与 Onelogin 针对 SSOCircle的主要内容,如果未能解决你的问题,请参考以下文章

SSO - 另一个应用程序用户想要访问我的应用程序

无法让 OpenID 身份验证与 Onelogin 和 Azure Web 应用程序一起使用

使用ruby-saml从TestShib中“在Shibboleth SSO身份验证请求中没有给出providerId参数”

如何利用 oauth 为微服务应用实现 SSO

OneLogin SAML 注销功能

OneLogin 签名的 Authnrequest HTTP 重定向方法