0

我正在尋找一種在ASP.NET中設置會話的方式,該方式將忽略用戶計算機上的任何持久性Cookie,並強制在該會話中創建的任何Cookie爲會話Cookie。忽略會話中的持久性Cookie

實際上,我希望能夠複製'私密瀏覽'中顯示的行爲,其中會話被視爲獨立的瀏覽會話。原因是爲了讓我的應用程序能夠利用來自社交提供商的OAuth身份驗證;但是,應用程序強制提供程序在登錄時請求用戶的憑據,無論它們當前是否登錄到該提供程序。

我承認,OAuth旨在自動識別用戶已登錄到提供者的行爲。但是,這個應用程序認爲有必要忽略「記住我」功能。

我還希望不必提醒用戶,他們不應該在帳戶中使用「記住我」,或者堅持使用隱私瀏覽。

該應用程序內置使用Asp.Net MVC 4,並使用身份。我曾希望他們可能在CookieAuthenticationOptions之內;然而,我一直沒有找到可能爲我提供這種行爲的東西。

回答

0

OpenID Connect有一個特殊的參數「prompt」來控制它:嘗試添加「prompt = login」。

見章3.1.2.1: http://openid.net/specs/openid-connect-core-1_0.html

+0

這看起來非常有前途,謝客。 但是,如何/在哪裏添加此參數?我曾想過我可以將它添加到ExecuteResult中的AuthenticationProperties Dictionary中;然而這沒有效果。 – 2015-04-01 00:17:51

+0

此外,我正嘗試使用Googe,Facebook,Windows.Live,Twitter和LinkedIn。這種方法是否涵蓋所有這些,還是我會被要求爲每個解決方案實施不同的解決方案?例如,查看[KataProject](https://katanaproject.codeplex.com/SourceControl/latest)上的Microsoft.Owin.Security處理程序表明,只有Google使用OpenID。 – 2015-04-01 00:21:12