我们有一个使用IIS上运行的ColdFusion-9实现的系统,使用SQL DB定义了对它的身份验证和访问。我们正在通过ADFS实现SAML 2.0身份验证。
我建立请求并尝试登录时获得成功状态代码。但是,当我尝试注销时,仅适用于第一次。我从SAML单注销端点获取请求者状态代码或LogoutRequest。
我尝试对LogoutRequest的NameID标签上的Format,NameQualifier和SPNameQualifier属性进行置换和组合,最终得到相同的结果。
<samlp:LogoutRequest Destination="DESTINATION_URL"
ID="_23C7D50D-B941-66B0-46931822F57A983C"
IssueInstant="2019-10-10T13:46:10.744Z"
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>ISSUER_URL</saml:Issuer>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
...
</ds:Signature>
<saml:NameID>NAMEID</saml:NameID>
</samlp:LogoutRequest>
我是第一次得到关注。
<samlp:LogoutResponse ID="_7765d632-ac68-49ba-87ad-9fa1678fe89b"
Version="2.0"
IssueInstant="2019-10-10T17:46:37.593Z"
Destination="DestinationURL"
Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified"
InResponseTo="_23CBEC9D-A3A6-AB1A-B726E908DED5B21B"
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
>
<Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">issuerURL</Issuer>
<samlp:Status>
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
</samlp:Status>
</samlp:LogoutResponse>
不幸的是,我对以下注销请求的响应仍然停留
<samlp:LogoutResponse ID="_7765d632-ac68-49ba-87ad-9fa1678fe89b"
Version="2.0"
IssueInstant="2019-10-10T17:46:37.593Z"
Destination="DestinationURL"
Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified"
InResponseTo="_23CBEC9D-A3A6-AB1A-B726E908DED5B21B"
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
>
<Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">issuerURL</Issuer>
<samlp:Status>
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Requester"/>
</samlp:Status>
</samlp:LogoutResponse>
我有什么想念的吗?请回到我身边。
谢谢。
问候 阿米斯·坎比努尔