PingFederate Single Log-Off: мой IdP выдает только один запрос LogoutRequest - PullRequest
0 голосов
/ 23 ноября 2011

Построение ответа @Scott T. :

... PingFederate (действует как IdP) знает , какие у вас SP Федеративный с в данной сессии. Когда пользователь начинает SLO (с пример, который вы дали - в IdP - он также может быть инициирован из SP) браузер пользователей (при условии привязки Redirect или POST) отправляется каждый SP с SAML 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>

Мой вопрос:

  • Если у меня федерация с несколькими SP, как мне настроить PingFederate, чтобы он выдавал один запрос на федеративный SP?

Я склонен полагать, что:

  1. Мне нужно что-то настроить на этом экране .
  2. В соответствии с идеей о том, что несколько запросов на выход из SP «связаны», URL-адрес последней конечной точки должен быть /idp/SLO.saml2.

1 Ответ

4 голосов
/ 23 ноября 2011

Позвольте мне пересмотреть первый ответ:

PingFederate знает, с какими SP вы объединились в данный сеанс.

Должно быть:

PingFederate, действующий как IdP, знает, в какие SP пользователь вошел в данный сеанс.

Конфигурация в PingFederate, действующей в качестве IdP, будет включать конфигурацию протокола SLO для каждого имеющегося у вас подключения SP. Снимок экрана, на который вы ссылаетесь в (1.), на самом деле является экраном подключения IdP, который будет сделан на PingFederate, играющем роль SP (возможно, именно так вы и действуете - мне не было понятно в вашем исходном запросе, Я предположил IdP от характера вашего вопроса). Вы должны убедиться, что вы настроили каждое соединение SP с соответствующими конечными точками SLO , следуя этим инструкциям . Если PingFederate является IdP, он будет знать, что перенаправить на все SP, которые поддерживают SLO (и где у пользователя есть сеанс), когда пользователь инициирует SLO.

WRT to (2.): Если пользователи запускают процесс SLO на IdP, тогда да - пользователи будут перенаправлены обратно в /idp/SLO.saml2 в качестве последнего шага. Фактически каждый SP, к которому вы перенаправляете для выхода из системы, будет перенаправлять обратно в IdP для выхода из следующего SP. Если вы запустите процесс SLO из SP, то последнее место, где пользователи окажутся в конечном итоге, находится в конечной точке SLO этого SP.

...