diff options
Diffstat (limited to 'src/OpenID/OpenIdProviderMvc/Code')
-rw-r--r-- | src/OpenID/OpenIdProviderMvc/Code/FormsAuthenticationService.cs | 12 | ||||
-rw-r--r-- | src/OpenID/OpenIdProviderMvc/Code/IFormsAuthentication.cs | 2 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/OpenID/OpenIdProviderMvc/Code/FormsAuthenticationService.cs b/src/OpenID/OpenIdProviderMvc/Code/FormsAuthenticationService.cs index 22db860..1f5ea54 100644 --- a/src/OpenID/OpenIdProviderMvc/Code/FormsAuthenticationService.cs +++ b/src/OpenID/OpenIdProviderMvc/Code/FormsAuthenticationService.cs @@ -10,6 +10,18 @@ get { return HttpContext.Current.User.Identity.Name; } } + public DateTime? SignedInTimestampUtc { + get { + var cookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName]; + if (cookie != null) { + var ticket = FormsAuthentication.Decrypt(cookie.Value); + return ticket.IssueDate.ToUniversalTime(); + } else { + return null; + } + } + } + public void SignIn(string userName, bool createPersistentCookie) { FormsAuthentication.SetAuthCookie(userName, createPersistentCookie); } diff --git a/src/OpenID/OpenIdProviderMvc/Code/IFormsAuthentication.cs b/src/OpenID/OpenIdProviderMvc/Code/IFormsAuthentication.cs index d4c8a01..09856e9 100644 --- a/src/OpenID/OpenIdProviderMvc/Code/IFormsAuthentication.cs +++ b/src/OpenID/OpenIdProviderMvc/Code/IFormsAuthentication.cs @@ -17,6 +17,8 @@ using System.Web.Security; public interface IFormsAuthentication { string SignedInUsername { get; } + DateTime? SignedInTimestampUtc { get; } + void SignIn(string userName, bool createPersistentCookie); void SignOut(); |