public ContentResult IsAuthTicketValid(string Email, string AuthToken) { String Json = ""; bool result = false; Member Member = Members.GetByEmail(Email); AuthMemberTicket _AuthMemberTicket = AuthMemberTickets.GetByMemberToken(Member.MemberID, AuthToken); // Check does session exists for requested token. If doesn't return emty object, so client will be redirected to sign in page. if (_AuthMemberTicket.AuthMemberTicketID <= 0) { result = false; } else if (_AuthMemberTicket.AuthMemberTicketID > 0 && _AuthMemberTicket.Expiration < DateTime.Now) { _AuthMemberTicket.Delete(); result = false; } else { result = true; } Json = ActionValidationResults.JsonItem(new ActionValidationResult() { IsValid = result, Expiration = _AuthMemberTicket.Expiration != DateTime.MinValue ? _AuthMemberTicket.Expiration : DateTime.Now.AddDays(-1) }); return(Content(Json, TypeJson)); }
public ContentResult GetSignInAuthTicket(string Email, string AuthToken) { String Json = ""; Member Member = Members.GetByEmail(Email); AuthMemberTicket _AuthMemberTicket = AuthMemberTickets.GetByMemberToken(Member.MemberID, AuthToken); // Check does session exists for requested token. If doesn't return emty object, so client will be redirected to sign in page. if (_AuthMemberTicket.AuthMemberTicketID <= 0) { Json = SingInAuthTickets.JsonItem( new SingInAuthTicket() { MemberName = "", MemberEmail = "", EncrytedTicket = "", IsPersistant = 0, } ); } else { string CookieName = FormsAuthentication.FormsCookieName; string CookiePath = FormsAuthentication.FormsCookiePath; int IsPersistent = _AuthMemberTicket.IsPersistent; AuthMemberToken _ticketMemberSession = new AuthMemberToken() { MemberID = Member.MemberID, MemberEmail = Member.Email, MemberName = Member.Name, Token = AuthToken, Domain = Request.Url.DnsSafeHost }; FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(1, Member.Email, DateTime.Now, _AuthMemberTicket.Expiration, IsPersistent == 1 ? true : false, ToJson(_ticketMemberSession), CookiePath); string cookieEncrypted = FormsAuthentication.Encrypt(authTicket); Json = SingInAuthTickets.JsonItem( new SingInAuthTicket() { MemberName = Member.Name, MemberEmail = Member.Email, EncrytedTicket = cookieEncrypted, IsPersistant = IsPersistent } ); } return(Content(Json, TypeJson)); }