Single sign on PingFederate单一注销:我的IdP只发布一个LogoutRequest

Single sign on PingFederate单一注销:我的IdP只发布一个LogoutRequest,single-sign-on,saml-2.0,pingfederate,Single Sign On,Saml 2.0,Pingfederate,在@Scott T.的基础上建造: …PingFederate(充当IdP)知道您拥有哪些SP 在给定会话中与联合。当用户启动SLO时(从 您在IdP上给出的示例也可以从 SP)用户浏览器(假设重定向或后期绑定)发送到 每个SP都有一个SAML LogoutRequest <samlp:LogoutRequest Destination="https://[PingFederateServerInstance]:[PortNumber]/sp/SLO.saml2" NotOnOrAfter

在@Scott T.的基础上建造:

…PingFederate(充当IdP)知道您拥有哪些SP 在给定会话中与联合。当用户启动SLO时(从 您在IdP上给出的示例也可以从 SP)用户浏览器(假设重定向或后期绑定)发送到 每个SP都有一个SAML LogoutRequest

<samlp:LogoutRequest Destination="https://[PingFederateServerInstance]:[PortNumber]/sp/SLO.saml2" NotOnOrAfter="2011-11-22T23:02:37.812Z" IssueInstant="2011-11-22T22:57:37.812Z" ID="NEDH4Khn4TvWsOwfAZxK_XiEc6f" 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>XXX:IDP</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="#NEDH4Khn4TvWsOwfAZxK_XiEc6f">
        <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>Hnec0X3qfYlE2Z9+ooujtD1HKQk=</ds:DigestValue>
      </ds:Reference>
    </ds:SignedInfo>
    <ds:SignatureValue>L6wmw7RF82s8W2s4YSkwHpnQFo6tFRKUZ3pyK7JEl/7CZyJsxJ5lnfpdaaogm/Gl3S3Y7WoSjbp4
ssaNjtQ3x/nHsYI0zill66yhQ/DNaXAdRuKw6jDi9vqXemkYGx9cNxLkLvc14CUdn9qRA0gZcjyj
ncaZvvWL5Kzy9JOuWSg=</ds:SignatureValue>
  </ds:Signature>
  <saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">10072824</saml:NameID>
  <samlp:SessionIndex>dWh6bd58GRgnbLgeYsTWSVXT7pO</samlp:SessionIndex>
</samlp:LogoutRequest>
当我请求https://[PingFederateInstance]/idp/startSLO.ping?PartnerSpId=[PartnerSpId]时,根据server.log,PingFederate只发出一个LogoutRequest

<samlp:LogoutRequest Destination="https://[PingFederateServerInstance]:[PortNumber]/sp/SLO.saml2" NotOnOrAfter="2011-11-22T23:02:37.812Z" IssueInstant="2011-11-22T22:57:37.812Z" ID="NEDH4Khn4TvWsOwfAZxK_XiEc6f" 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>XXX:IDP</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="#NEDH4Khn4TvWsOwfAZxK_XiEc6f">
        <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>Hnec0X3qfYlE2Z9+ooujtD1HKQk=</ds:DigestValue>
      </ds:Reference>
    </ds:SignedInfo>
    <ds:SignatureValue>L6wmw7RF82s8W2s4YSkwHpnQFo6tFRKUZ3pyK7JEl/7CZyJsxJ5lnfpdaaogm/Gl3S3Y7WoSjbp4
ssaNjtQ3x/nHsYI0zill66yhQ/DNaXAdRuKw6jDi9vqXemkYGx9cNxLkLvc14CUdn9qRA0gZcjyj
ncaZvvWL5Kzy9JOuWSg=</ds:SignatureValue>
  </ds:Signature>
  <saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">10072824</saml:NameID>
  <samlp:SessionIndex>dWh6bd58GRgnbLgeYsTWSVXT7pO</samlp:SessionIndex>
</samlp:LogoutRequest>

XXX:IDP
Hnec0X3qfYlE2Z9+ooujtD1HKQk=
L6WMW7RF82S8W2S4YSKWHPNQFO6FRKUZ3PYK7JEL/7CZyJsxJ5lnfpdaaogm/Gl3S3Y7WoSjbp4
ssaNjtQ3x/NHSYI0ZIL66YHQ/DNaXAdRuKw6jDi9vqXemkYGx9cNxLkLvc14CUdn9qRA0gZcjyj
NCAzVWL5KZY9JOUWSG=
10072824
dWh6bd58GRgnbLgeYsTWSVXT7pO

我的问题:

  • 如果我与多个SP建立了联盟,我应该如何配置PingFederate,以便它为每个联合SP发出一个请求
我倾向于相信:

  • 我需要在上配置一些东西
  • 与多个SP注销请求“链接在一起”的想法一致,最后一个端点URL应该是/idp/SLO.saml2

  • 让我修改一下第一个答案:

    PingFederate知道您在给定会话中与哪些SP联合

    应该是:

    PingFederate作为IdP知道用户在给定会话中已登录到哪个SP

    PingFederate作为IdP的配置将包括您拥有的每个SP连接的SLO协议配置。您在(1.)中链接的屏幕截图实际上是一个IdP连接屏幕,该屏幕将在扮演SP角色的PingFederate上完成(可能这就是您所扮演的角色-在您最初的查询中我不清楚,因此我根据您问题的性质假设IdP)。您需要确保已使用适当的SLO端点配置了每个SP连接。如果PingFederate是IdP,则当用户启动SLO时,它将知道重定向到所有支持SLO的SP(以及用户有会话的SP)


    警告(2.):如果用户在IdP启动SLO进程,则是-用户将被重定向回/IdP/SLO.saml2作为最后一步。事实上,您重定向到要注销的每个SP都将重定向回IdP以注销下一个SP。如果您从SP启动SLO进程,则用户最后将到达该SP的SLO端点。

    让我修改第一个答案:

    PingFederate知道您在给定会话中与哪些SP联合

    应该是:

    PingFederate作为IdP知道用户在给定会话中已登录到哪个SP

    PingFederate作为IdP的配置将包括您拥有的每个SP连接的SLO协议配置。您在(1.)中链接的屏幕截图实际上是一个IdP连接屏幕,该屏幕将在扮演SP角色的PingFederate上完成(可能这就是您所扮演的角色-在您最初的查询中我不清楚,因此我根据您问题的性质假设IdP)。您需要确保已使用适当的SLO端点配置了每个SP连接。如果PingFederate是IdP,则当用户启动SLO时,它将知道重定向到所有支持SLO的SP(以及用户有会话的SP)

    警告(2.):如果用户在IdP启动SLO进程,则是-用户将被重定向回/IdP/SLO.saml2作为最后一步。事实上,您重定向到要注销的每个SP都将重定向回IdP以注销下一个SP。如果您从SP启动SLO进程,则用户最后将到达该SP的SLO端点