我正在寻找一种在ASP.NET中设置会话的方法,该会话将忽略用户计算机上的任何持久cookie,并强制在该会话中创建的任何cookie为会话cookie。
实际上,我希望能够复制"私人浏览"中显示的行为,即会话被视为独立的浏览会话。这样做的原因是允许我的应用程序能够利用来自社交提供商的OAuth身份验证;但是,让应用程序强制提供商在登录时请求用户的凭据,无论他们当前是否登录到该提供商。
我承认OAuth的目的是具有这种行为,即自动识别用户已登录到提供者。但是,对于这个应用程序来说,忽略"记住我"功能是必要的。
我也不想提醒用户,他们要么不应该在账户上使用"记住我",要么坚持使用私人浏览。
该应用程序是使用Asp.NetMVC4构建的,并且使用Identity。我曾希望他们可能是CookieAuthenticationOptions
内部的某种东西;然而,我一直没有找到能让我有这种行为的东西。
OpenID Connect有一个特殊的参数"prompt"来控制这一点:尝试添加"prompt=login"。
参见第3.1.2.1章:http://openid.net/specs/openid-connect-core-1_0.html