public async Task <ActionResult <UserLoginResultDto> > SignIn([FromBody] UserLoginDto user)
        {
            var command = new LoginUserCommand
            {
                Email    = user.Email,
                Password = user.Password
            };

            var loginResult =
                await _mediator.Send(command);

            var result = new UserLoginResultDto
            {
                Email       = loginResult.Email,
                UserId      = loginResult.UserId,
                IsSuccessed = loginResult.IsSucceeded,
                IsLocked    = loginResult.IsLocked
            };

            if (!loginResult.IsSucceeded || loginResult.IsLocked)
            {
                return(result);
            }

            result.Token = _userService.GenerateToken(loginResult.Email);
            return(Ok(result));
        }
예제 #2
0
        public IDataResult <UserLoginResultDto> CreateAccessToken(User user)
        {
            var claims                = _userService.GetClaims(user);
            var accessToken           = _tokenHelper.CreateToken(user, claims.Data);
            UserLoginResultDto result = new UserLoginResultDto {
                AccessToken = accessToken, FirstName = user.FirstName, LastName = user.LastName, Email = user.Email, Address = user.Address, MobilePhone = user.MobilePhone
            };

            return(new SuccessDataResult <UserLoginResultDto>(result, Messages.AccessTokenCreated));
        }