Shibboleth SAML2 LogoutRequest需要包含NameID

时间:2016-09-01 01:27:04

标签: logout shibboleth gigya

我正在尝试使用Shibboleth SP和Gigya IDP设置SLO。 IDP设置了SLO并且所有重定向似乎都在工作,但IDP期望在LogoutRequest中存在saml:NameID标记,而Shibboleth默认情况下不会这样做。

以下是Shibboleth目前正在生成的请求:

<samlp:LogoutRequest Destination="............" ID="_863ce41c221f009f853ebe1fbad30548" IssueInstant="2016-09-01T01:14:44Z" Version="2.0" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"> <saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">..........</saml:Issuer> <samlp:Extensions><aslo:Asynchronous xmlns:aslo="urn:oasis:names:tc:SAML:2.0:protocol:ext:async-slo"/></samlp:Extensions> <saml:EncryptedID xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"> <xenc:EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"> <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"/> <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <xenc:EncryptedKey xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"> <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"/> </xenc:EncryptionMethod> <xenc:CipherData>...</xenc:CipherValue> </xenc:CipherData> </xenc:EncryptedKey> </ds:KeyInfo> <xenc:CipherData> <xenc:CipherValue>...</xenc:CipherValue> </xenc:CipherData> </xenc:EncryptedData> </saml:EncryptedID> </samlp:LogoutRequest>

我想在samlp:LogoutRequest标记中包含以下标记。

<saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">.......</saml:NameID>

我知道正在生成nameid,因为我看到登录响应saml中存在标记。 SLO请求是否可以配置为包含此值? 谢谢!

1 个答案:

答案 0 :(得分:1)

正如Mehmet Y.所指出的那样,nameID属性实际上已经包含在内,尽管它已被加密。我必须将Logout标记上的加密属性显式设置为false,以便让IDP识别它。