Пример #1
0
        public async Task <ServiceResponse <LoginDtoResponse> > LoginAsync(LoginDtoRequest dto)
        {
            var user = await _userManager.FindByEmailAsync(dto.Email);

            if (user == null)
            {
                return(new ServiceResponse <LoginDtoResponse>(HttpStatusCode.Unauthorized));
            }

            var result = await _signInManager.CheckPasswordSignInAsync(user, dto.Password, false);

            if (result.Succeeded)
            {
                var responseDto = new LoginDtoResponse()
                {
                    Id        = user.Id,
                    FirstName = user.FirstName,
                    LastName  = user.LastName,
                    UserName  = user.UserName,
                    Email     = user.Email,
                    Token     = _jwtGenerator.CreateToken(user),
                    Role      = user.Role,
                };

                return(new ServiceResponse <LoginDtoResponse>(HttpStatusCode.OK, responseDto));
            }

            return(new ServiceResponse <LoginDtoResponse>(HttpStatusCode.Unauthorized));
        }
Пример #2
0
        public async Task <ActionResult <LoginDtoResponse> > Login(LoginDtoRequest dto)
        {
            var response = await _userService.LoginAsync(dto);

            if (response.StatusCode == HttpStatusCode.OK)
            {
                return(Ok(response.ResponseContent));
            }
            if (response.StatusCode == HttpStatusCode.Unauthorized)
            {
                return(Unauthorized(response.Message));
            }
            return(BadRequest(response.Message));
        }
Пример #3
0
        public async Task <object> Login([FromBody] LoginDtoRequest loginDto)
        {
            // Sign in the user, don't persis cookies, don't lockout on failure
            var result = await _signInManager.PasswordSignInAsync(loginDto.UserName, loginDto.Password,
                                                                  false, false);

            if (result.Succeeded)
            {
                var user = await _usersService.GetByUserNameAsync(loginDto.UserName);

                return(await GenerateJwtToken(user));
            }
            else
            {
                return(StatusCodeAndDtoWrapper.BuildErrorResponse("Invalid credentials"));
            }
        }