public HttpCookie CreateSessionCookie(IPrincipal user) { var identity = user.Identity as TryWebsitesIdentity; var value = string.Format(CultureInfo.InvariantCulture, "{0};{1};{2};{3}", identity.Email, identity.Puid, identity.Issuer, DateTime.UtcNow.ToString(CultureInfo.InvariantCulture)); SimpleTrace.Analytics.Information(AnalyticsEvents.UserLoggedIn, identity); SimpleTrace.TraceInformation("{0}; {1}; {2}", AnalyticsEvents.OldUserLoggedIn, identity.Email, identity.Issuer); try { var anonymousUser = HttpContext.Current.Request.Cookies[AuthConstants.AnonymousUser]; if (anonymousUser != null) { var anonymousIdentity = new TryWebsitesIdentity(Uri.UnescapeDataString(anonymousUser.Value).Decrypt(AuthConstants.EncryptionReason), null, "Anonymous"); SimpleTrace.TraceInformation("{0}; {1}; {2}", AnalyticsEvents.AnonymousUserLogedIn, anonymousIdentity.Name, identity.Name); SimpleTrace.AnonymousUserLoggedIn(anonymousIdentity, identity); } } catch { } return(new HttpCookie(AuthConstants.LoginSessionCookie, Uri.EscapeDataString(value.Encrypt(AuthConstants.EncryptionReason))) { Path = "/", Expires = DateTime.UtcNow.AddDays(2) }); }