Запрос SAML (RequestLogout) с инициацией IdP не работает в Office 365?

Я разрабатываю пример IdP, и мне удалось выполнить первые шаги для пользователя, входящего в систему, однако у меня много сомнений относительно RequestLogout с потоком, инициированным IdP.

Я отслеживаю и использую метаданные (https://nexus.microsoftonline-p.com/federationmetadata/saml20/federationmetadata.xml).

Мой RequestLogout выглядит следующим образом:

<samlp:LogoutRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" ID="my-random-id" Version="2.0" IssueInstant="2018-01-22T05:12:01Z" Destination="https://login.microsoftonline.com/login.srf">
  <saml:Issuer>my-idp-issuer</saml:Issuer>
  <saml:NameID SPNameQualifier="https://login.microsoftonline.com/login.srf" Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">my-name-id-xyz</saml:NameID>
</samlp:LogoutRequest>

После создания этого запроса я применяю подпись этого запроса (я следую этому ответу Создайте подписанный запрос SAML2 LogOut):

SAMLRequest=saml_request_logout_value&SigAlg=sig_alg_value

И я получаю значение подписи:

Signature=signature_value

После отправки с помощью HTTP-POST и перенаправления на страницу: https://login.microsoftonline.com/login.srf со значениями:

SAMLRequest=saml_request_logout_value    
SigAlg=sig_alg_value    
Signature=signature_value

После отправки HTTP-POST Office 365 выдает мне сообщение об ошибке: Произошла ошибка при попытке обработать сообщение WS-Federation. Сообщение было недействительным.

Что я делаю неправильно?
Параметры, отправленные в HTTP-POST, верны (SAMLRequest, SigAlg, Signature)?
Что я могу сделать неправильно, так это то, что я не применяю подпись в RequestLogout, потому что Я применяю подпись SAMLResponse и Assertion (в SAMLResponse), мне нужно применить подпись RequestLogout?. Однако в потоке SP к IdP Office 365 не отправляет RequestLogout со значением подписи в XML.

Я не вижу ни ответа, ни примера отправки IdP RequestLogout в Office 365.


person Edward Segnowd    schedule 03.02.2018    source источник