我正在尝试使用passport-saml为我的应用程序进行SSO集成,并且当前能够使用ADFS成功进行IDP身份验证。注销无法按预期工作。注销后,它会删除本地cookie但不删除特定于adfs的cookie。
注销按照此post中的说明完成,并且它成功地从ADFS端的元数据SLO重定向到应用程序端点。但是在ADFS中仍然没有发生注销。
此处还提及此post以使SLO正常工作,并且默认情况下它会在saml中为注销请求生成HTTP重定向绑定。
我面临的问题与此post中提到的相同。
如果退出时遗漏了一些步骤,请告诉我。
提前感谢您的帮助!
答案 0 :(得分:0)
ADFS的注销修复如下,
会话索引属性丢失,将作为passport-saml注销请求的一部分添加。
使用ADFS日志(事件查看器)和下面的错误进行调试,
SAML Single Logout请求与登录不对应 会议参与者。请求者:app.yyy.com
请求名称标识符: 格式:urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified, NameQualifier:SPNameQualifier :, SPProvidedId:登录会话 参与者:数:1,[发行人:app.yyy.com,NameID :(格式:, NameQualifier:SPNameQualifier:,SPProvidedId:)]此请求失败。
这意味着在我的情况下,nameIDFormat应该留空以便注销会话。以前使用的是为身份验证请求指定的nameIDFormat,但它不起作用。
如果没有此配置,HTTP-POST绑定没有任何区别。
希望这有助于正在尝试相同的其他人。