Exemplo n.º 1
0
        public IActionResult Login([FromQuery] string userName, string password)
        {
            if (string.IsNullOrEmpty(userName) || string.IsNullOrEmpty(password))
            {
                return(BadRequest(new { messageCode = -100, message = "Dữ Liệu Sai" }));
            }
            var userResult = _lesterRegistration.Login(userName, password);

            if (userResult.MessageCode == MessgeCodeRegistration.PasswordWrong)
            {
                return(Unauthorized(new { messageCode = MessgeCodeRegistration.PasswordWrong, message = CommonHelper.DescriptionEnum(MessgeCodeRegistration.PasswordWrong) }));
            }
            if (userResult.MessageCode != MessgeCodeRegistration.Suscess)
            {
                return(Unauthorized(new { messageCode = userResult.MessageCode, message = CommonHelper.DescriptionEnum((MessgeCodeRegistration)userResult.MessageCode) }));
            }
            var result = _tokenFactoryService.CreateJwtTokensAsync(userResult.User);

            _tokenStoreService.AddUserToken(userResult.User, result.RefreshTokenSerial, result.AccessToken, null);
            _antiforgery.RegenerateAntiForgeryCookies(result.Claims);
            AccessControl.User = userResult.User;
            return(Ok(new { access_token = result.AccessToken, refresh_token = result.RefreshToken }));
        }