public HttpCookie CreateFormsAuthenticationCookie(OpenIdUser user)
        {
            var ticket = new FormsAuthenticationTicket(1, user.Nickname, DateTime.Now, DateTime.Now.AddDays(7), true, user.ToString());
            var encrypted = FormsAuthentication.Encrypt(ticket).ToString();
            var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encrypted);

            return cookie;
        }
        private OpenIdUser ResponseIntoUser(IAuthenticationResponse response)
        {
            OpenIdUser user = null;
            var claimResponseUntrusted = response.GetUntrustedExtension<FetchResponse>();
			var claimResponse = response.GetExtension<FetchResponse>();

            if (claimResponse != null)
            {
                user = new OpenIdUser(claimResponse, response.ClaimedIdentifier);
            }
            else if (claimResponseUntrusted != null)
            {
                user = new OpenIdUser(claimResponseUntrusted, response.ClaimedIdentifier);
            }

            return user;
        }
 protected override bool AuthorizeCore(HttpContextBase httpContext)
 {
     var isAuthorized = base.AuthorizeCore(httpContext);
     if (isAuthorized)
     {
         var authenticatedCookie = httpContext.Request.Cookies[FormsAuthentication.FormsCookieName];
         if (authenticatedCookie != null)
         {
             var authenticatedCookieValue = authenticatedCookie.Value.ToString();
             if (!string.IsNullOrWhiteSpace(authenticatedCookieValue))
             {
                 var decryptedTicket = FormsAuthentication.Decrypt(authenticatedCookieValue);
                 var user = new OpenIdUser(decryptedTicket.UserData);
                 var openIdIdentity = new OpenIdIdentity(user);
                 httpContext.User = new GenericPrincipal(openIdIdentity, null);
             }
         }
     }
     return isAuthorized;
 }
 public OpenIdIdentity(OpenIdUser user)
 {
     _user = user;
 }