public void SetAuthenticationCookie(IQuickspatchPrincipal principal, string authToken, DateTime?expires) { var serializer = new JavaScriptSerializer(); var authCookie = HttpContext.Current.Request.Cookies[ClaimsDeclaration.AuthenticationCookie]; var issueDate = DateTime.UtcNow; if (authCookie != null) { expires = expires.HasValue ? expires : authCookie.Expires; //Remove existing cookies: RemoveCookie(authCookie, -1); } // Write session token. Retrieve maximum duration from the session returned from the session // controller. Set the cookie scope to the application path, and only the application path. if (expires != null) { var sessionCookie = new HttpCookie(ClaimsDeclaration.AuthenticationCookie, principal.AuthToken) { HttpOnly = true, Expires = (DateTime)expires }; HttpContext.Current.Response.Cookies.Add(sessionCookie); SetPrincipalCache(principal, principal.AuthToken, sessionCookie.Expires); } }
public void SignIn(IQuickspatchPrincipal principal, bool rememberMe, string authToken, DateTime?expires) { SetAuthenticationCookie(principal, authToken, expires); }
/// <summary> /// Update principal for security threads. /// </summary> public void UpdatePrincipal(IQuickspatchPrincipal principal) { FormAuthenticationService.SetPrincipalCache(principal, principal.AuthToken, null); }