public async Task <ApiResult <SignInViewModel> > SignIn(SignInViewModel model) { var signInResult = await _userRepository.SignIn(model); var result = new ApiResult <SignInViewModel>(); if (!signInResult.Success && signInResult.MessageType != MessageType.Success) { result.Success = false; result.Data = null; result.Info = signInResult.Info; result.Message = signInResult.Message; result.MessageType = signInResult.MessageType; return(result); } var timeSpan = model.RememberMe ? TimeSpan.FromDays(30) : TimeSpan.FromHours(1); var maxAge = model.RememberMe ? TimeSpan.FromDays(180) : TimeSpan.FromDays(1); var cookie = new AuthenticationCookieViewModel() { PhoneNumber = signInResult.Data.PhoneNumber, UserId = signInResult.Data.Id, Password = signInResult.Data.Password, RememberMe = model.RememberMe, MaxAgeDateTime = DateTime.Now.Add(maxAge) }; var cookieOptions = new CookieOptions() { Expires = DateTimeOffset.Now.Add(timeSpan), MaxAge = maxAge, }; _authenticationCookieService.Set(HttpContext, cookie, cookieOptions); var session = new AuthenticationSessionViewModel() { UserId = signInResult.Data.Id, UserFullName = signInResult.Data.Fullname }; _authentcationSessionService.Set(HttpContext, session); result.Success = true; result.Data = signInResult.Data; result.Info = signInResult.Info; result.Message = signInResult.Message; result.MessageType = signInResult.MessageType; return(result); }
public void Set(HttpContext context, AuthenticationCookieViewModel cookieViewModel, CookieOptions options) { var cipherAuthenticationCookie = _cryptographyService.Encrypt(cookieViewModel, _encryptionKey); if (!options.Expires.HasValue) { var timeSpan = cookieViewModel.RememberMe ? TimeSpan.FromDays(30) : TimeSpan.FromHours(1); options.Expires = DateTimeOffset.Now.Add(timeSpan); } if (!options.MaxAge.HasValue) { var maxAge = cookieViewModel.RememberMe ? TimeSpan.FromDays(180) : TimeSpan.FromDays(1); options.MaxAge = maxAge; } context.Response.Cookies.Append(cipherAuthenticationCookie, _cookieName, options); }
public bool CheckUserCookie(AuthenticationCookieViewModel authenticationCookie) { return(authenticationCookie != null); }
public void Update(HttpContext context, AuthenticationCookieViewModel cookie, CookieOptions options) { Remove(context); Set(context, cookie, options); }