1

我正在尝试使用 Shibboleth SP 和 Gigya IDP 设置 SLO。IDP 已设置 SLO,并且所有重定向似乎都在工作,但是 IDP 期望 saml:NameID 标记出现在 LogoutRequest 中,而 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 请求配置为包含此值?谢谢!

4

1 回答 1

1

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

于 2016-09-01T17:53:17.083 回答