private void AuthenticateUser(string userId, string firstName, string lastName, string email, long facebookId, string accessToken) { AccountPrincipalSerializeModel serializeModel = new AccountPrincipalSerializeModel(); serializeModel.UserId = userId; serializeModel.FirstName = firstName; serializeModel.LastName = lastName; serializeModel.Email = email; JavaScriptSerializer serializer = new JavaScriptSerializer(); string userData = serializer.Serialize(serializeModel); FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket( 1, email, DateTime.Now, DateTime.Now.AddMinutes(15), false, userData); string encTicket = FormsAuthentication.Encrypt(authTicket); HttpCookie faCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket); Response.Cookies.Add(faCookie); }
protected void Application_PostAuthenticateRequest(Object sender, EventArgs e) { HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName]; if (authCookie != null) { FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value); JavaScriptSerializer serializer = new JavaScriptSerializer(); AccountPrincipalSerializeModel serializeModel = serializer.Deserialize <AccountPrincipalSerializeModel>(authTicket.UserData); AccountPrincipal newUser = new AccountPrincipal(authTicket.Name); newUser.UserId = serializeModel.UserId; newUser.FirstName = serializeModel.FirstName; newUser.LastName = serializeModel.LastName; HttpContext.Current.User = newUser; } }