ASP.NET Identity 2.0 用户在通过 Docusign.com 重定向后注销

ASP.NET Identity 2.0 Users logged out after redirect through Docusign.com

我有一个 ASP.NET MVC5 网络应用程序,它使用 Identity Framework 2.0 进行用户管理。在我们应用程序的身份验证端,用户填写一系列表格,然后通过 Docusign 会话中的 powerform 发送。 (Docusign Embedded Signing, powerform, url) 当用户完成签名时,我已经设置了回调 url 用于成功签名和拒绝签名事件。成功的签名回调位于我的应用程序区域,该区域要求用户进行身份验证,一旦他们被重定向到我的站点,尽管他们已注销,尽管他们在离开前已登录。我在我的登录和注册操作方法中将持久登录设置为 true,并在我的 cookie 上设置了滑动过期。 Fiddler 指出,当用户从 docusign 回调时,.AspNet.ApplicationCookie 的值与他们离开前的值不同。

这只会在第一次将用户发送到 docusign 时发生。如果用户第二次重复该过程,当他们被 docusign 重定向并且 cookie 未更改时,他们已经登录到我的网站。

我将密切关注此线程,如果您有任何问题或需要说明或代码示例,我将很乐意提供。

感谢 Wiktor Zychla 指出有关域和 cookie 的跨站点脚本编写规则。

问题出在 30 倍重定向和 set-cookie 上。 Safari 有一个错误 - 已记录 here SO 对此有疑问 here

我让 Docusign 重定向回我网站的经过身份验证的区域,没有 cookie,用户没有经过身份验证,因此他们被提示登录。此后任何时候都不会发生这种情况,因为 cookie 已经设置到位。

我的解决方案是从外部重定向到 public 登录页面,然后将它们重定向到预期的授权页面。 (由于cookie是在public页面设置的,所以会传到授权页面,持久化登录成功)

我也被 cookie 和域绊倒了(我重定向到 www.mysite.com 而不是 mysite.com)