PingFederate Single Log-Off: мой IdP выдает только один запрос LogoutRequest
Построение ответа @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?
Я склонен полагать, что:
- Мне нужно что-то настроить на этом экране.
- В соответствии с идеей о том, что несколько запросов на выход из SP "связаны", последний URL-адрес конечной точки должен быть /idp/SLO.saml2.
1 ответ
Позвольте мне пересмотреть этот первый ответ:
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.