当前位置: 首页 > 知识库问答 >
问题:

SP启动的SSO和IDP启动的SSO的SAML响应差异

钱修雅
2023-03-14

如何从SAML响应中判断是SP启动的SSO还是IDP启动的SSO?是否有一个属性告诉我是谁发起了SSO?

例如,在这个StackOverflow问题中:SP发起的SSO和IDP发起的SSO之间的差异,他们讨论了差异,但没有谈论XML级别本身......

SAML响应如下所示:

<samlp:Response xmlns:samlp ="urn:oasis:names:tc:SAML:2 .0 :protocol" Destination ="http: //my - sp . com /sso /saml" ID ="_45307c23795120" IssueInstant ="2014 -03 -07 T08:30:00Z" Version ="2.0">
    <saml:Issuer xmlns:saml ="urn:oasis:names:tc:SAML:2 .0 :assertion">http: //my - idp . com </saml:Issuer>
    <samlp:Status>
        <samlp:StatusCode Value ="urn:oasis:names:tc:SAML:2.0:status:Success"/>
    </samlp:Status>
    <saml:Assertion ID ="ebe015e8be2a" IssueInstant="2014-03-07T08:30:00Z" Version ="2.0">
        <saml:Issuer> http: //my - idp . com </saml: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 /2000/09/ xmldsig # rsa - sha1"/>
                <ds:Reference URI ="# ebe015e8be2a">
                    <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 /2000/09/ xmldsig # sha1"/>
                    <ds:DigestValue> ... </ds:DigestValue>
                </ds:Reference>
            </ds:SignedInfo>
            <ds:SignatureValue> ... </ds:SignatureValue>
            <ds:KeyInfo>
                <ds:X509Data>
                    <ds:X509Certificate> ... </ds:X509Certificate>
                </ds:X509Data>
            </ds:KeyInfo>
        </ds:Signature>
        <saml:Subject>
            <saml:NameID Format ="urn:oasis:names:tc:SAML:2 .0 :nameid - format:persistent" NameQualifier ="http: //my - idp . com" SPNameQualifier ="http: //my - sp . com /sso /saml"> NDSUser </saml:NameID>
            <saml:SubjectConfirmation Method ="urn:oasis:names:tc:SAML:2.0:cm:bearer">
                <saml:SubjectConfirmationData NotOnOrAfter ="2014 -03 -07 T10:45:00Z" Recipient ="http: //my - sp . com /sso /saml"/>
            </saml:SubjectConfirmation>
        </saml:Subject>
        <saml:Conditions NotBefore ="2014 -03 -07 T08:29:00Z" NotOnOrAfter="2014 -03 -07 T10:46:00Z">
            <saml:AudienceRestriction>
                <saml:Audience> http: //my - sp . com /sso /saml </saml:Audience>
            </saml:AudienceRestriction>
        </saml:Conditions>
        <saml:AuthnStatement AuthnInstant="2014 -03 -07 T08:25:56Z" SessionIndex="f7810a8c86a6">
            <saml:AuthnContext>
                <saml:AuthnContextClassRef> urn:oasis:names:tc:SAML:2 .0:ac:classes:PasswordProtectedTransport </saml:AuthnContextClassRef>
            </saml:AuthnContext>
        </saml:AuthnStatement>
        <saml:AttributeStatement>
            <saml:Attribute Name ="FEDERATION_ID">
                <saml:AttributeValue xmlns:xs ="http: //www . w3 . org /2001/XMLSchema" xmlns:xsi ="http: //www . w3 . org /2001/XMLSchema - instance" xsi:type ="xs:string"> NDS </saml:AttributeValue>
            </saml:Attribute>
        </saml:AttributeStatement>
    </saml:Assertion>
</samlp:Response>

共有1个答案

郭思淼
2023-03-14

SP启动的SSO流的SAML响应具有“InResponseTo”属性。

 类似资料:
  • 我已经配置了OpenAM IdP和SP。我正在纠结于IdP发起的SSO URL和SP发起的SSO URL。我使用以下格式的IdP发起的单点登录网址。但是我得到错误< code >服务提供商ID为空。 http://testtestidam.com:8080/openam/idpssoinit?metaAlias=/realm1/idp 任何人都可以帮忙吗?

  • 我使用SPRING SAML实现并充当SP(例如:ALPHA)。我能够执行SP启动的SSO,并能够使用IDP对用户进行身份验证。此实现中没有问题。 但在我的应用程序中,我需要访问另一个与同一IDP链接的SP(例如:BETA)url。ALPHA和BETA服务提供商都受到同一IDP的信任。在这种情况下,在通过SP INIT SSO使用IDP对用户进行ALPHA身份验证后,当BETA SP URL发生重

  • Webapp #1 有一个指向 webapp #2 的按钮。当我们的用户单击该按钮时,他们应该被重定向到webapp #2,并自动登录。 集成是 SAML,因此 webapp #1(IDP)向 webapp #2(SP)发送 SAML“请求”,该请求返回重定向 URL,webapp #1 重定向到它。 SP给了我一个HTTP POST的URL,一个通过“电子邮件”属性识别用户的断言,所以我产生了这

  • 我有一个服务提供商的应用程序。是否可以使用OpenID Connect实现由Idp启动的SSO 对于Idp启动的SSO,似乎只能使用SAML,对吗?或者有没有办法让OpenID连接也能正常工作?我正在考虑使用一些开源工具,比如KeyClope或OneLogin toolkit等。。 非常感谢。

  • 我已成功配置SAML SSO,其中OpenAM为SP,PingFederate为IDP,SP启动SSO并使用重定向后绑定。我正在使用kerberos适配器实现SSO。 但是,我无法将RelayState参数从OpenAM传递给PF,并在成功验证后将其作为SAML自动post表单的一部分取回。它总是重定向到OpenAM断言处理服务,即OpenAM/metalias/sp 我试过的事情- > SAML

  • 我正在进行SP启动的SSO。 IDP是PingOne 我一直在做IDP发起的SSO。 因此,我们有IDP启动的SSO设置,一切都很正常。我们现在必须让它启动。 我理解它背后的理论,但我不知道如何实施它! 到目前为止,我在想我需要给他们的网址是这样的,也许???: https://sso/saml2/jsp/spSSOInit.jsp?metaAlias=/{idpRealm}/sp 但是当我击中它