SAML单一登录中的ASP .NET会话Cookie问题

时间:2019-06-17 17:15:03

标签: asp.net session cookies

我正在开发一个针对.NET 4.0的Web项目(IIS)。我正在尝试使用SAML连接到第三方进行单点登录。

我的产品设置在两个iframe中-菜单顶部,内容底部。当我尝试在底部框架中加载第三方内容时,它会失败,因为它缺少会话cookie。如果我将第三方网站设置为在新标签页而不是底部框中打开,则会话cookie存在且正确。

我在提琴手中都看过。第三方的初始响应是结果302,并设置2个cookie-.AspNetCore.Session和服务器版本。在两种情况下都会发生这种情况。

在随后的通信中,我的站点始终在发送服务器版本cookie。但是,当设置为在新选项卡中打开时,它仅发送.AspNetSore.Session cookie。除了第三方网站由于缺少会话cookie(在iframe中)而拒绝连接之外,我没有收到任何错误。

我的网站有其自己的ASP.NET_SessionId cookie。我们远远没有达到Cookie的限制,即使在尝试之前清除所有Cookie的情况下,我仍然遇到相同的问题,所以我想知道我的会话Cookie和第三方的会话Cookie之间是否存在冲突。

我正在使用的SAML工具是ComponentSpace,他们的支持已确认它通过浏览器发送消息,然后该浏览器可用于调用会话状态。我执行单点登录的代码只有一行-调用ComponentSpace库。如果我在该行完成后检查响应,则第三方的会话cookie已经消失。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我认为这与SAML库没有直接关系。我建议做的是创建一个演示该问题的小型测试项目。将其压缩并发送到ComponentSpace,以便他们可以准确地了解正在发生的情况并可以重现该问题。