Ejemplo n.º 1
0
        public async Task <UserDto> Handle(LoginQuery request, CancellationToken cancellationToken)
        {
            var user = await _usermanager.FindByNameAsync(request.UserName);

            if (user == null)
            {
                throw new RestException(HttpStatusCode.Unauthorized,
                                        new { error = "Username Is Invalid" });
            }
            var result = await _signinmanager.CheckPasswordSignInAsync(user, request.Password, false);

            if (result.Succeeded)
            {
                return(new UserDto
                {
                    Id = user.Id,
                    Token = await _jwtGenerator.GetJwtToken(user),
                    UserName = user.UserName
                });
            }

            throw new RestException(HttpStatusCode.Unauthorized,
                                    new { error = "Password Is Invalid" });
        }