Nodejs SAML注销不能使用passport-saml + adfs

时间:2016-08-24 10:43:49

标签: node.js cookies passport.js saml-2.0 adfs2.0

我正在尝试使用passport-saml为我的应用程序进行SSO集成,并且当前能够使用ADFS成功进行IDP身份验证。注销无法按预期工作。注销后,它会删除本地cookie但不删除特定于adfs的cookie。

注销按照此post中的说明完成,并且它成功地从ADFS端的元数据SLO重定向到应用程序端点。但是在ADFS中仍然没有发生注销。

此处还提及此post以使SLO正常工作,并且默认情况下它会在saml中为注销请求生成HTTP重定向绑定。

我面临的问题与此post中提到的相同。

如果退出时遗漏了一些步骤,请告诉我。

提前感谢您的帮助!

1 个答案:

答案 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绑定没有任何区别。

希望这有助于正在尝试相同的其他人。