Exemple #1
0
        public async Task <ServiceResultModel <JwtToken> > LoginUser(UserLoginPostModel model)
        {
            var result = new ServiceResultModel <JwtToken>();

            var loginResult = await signInManager.PasswordSignInAsync(model.Username, model.Password, false, lockoutOnFailure : false);

            if (loginResult.Succeeded)
            {
                var user = await userManager.FindByNameAsync(model.Username);

                if (!user.Deleted)
                {
                    result.DataResult = GenerateTokenForUser(user.UserName);
                }
                else
                {
                    result.Error        = true;
                    result.ErrorMessage = UserMessages.InvalidLoginData();
                }
            }
            else if (loginResult.IsLockedOut)
            {
                result.Error        = true;
                result.ErrorMessage = UserMessages.LockedAccount();
            }
            else
            {
                result.Error        = true;
                result.ErrorMessage = UserMessages.InvalidLoginData();
            }

            return(result);
        }
Exemple #2
0
        public async Task <IActionResult> Token([FromBody] UserLoginPostModel userPostModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new ErrorResponse
                {
                    StatusCode = 400,
                    Message = "Uncorrected data"
                }));
            }

            var user = await authService.GetIdentityAsync(
                username : userPostModel.Email,
                password : userPostModel.Password);

            if (user == null)
            {
                return(BadRequest(new ErrorResponse
                {
                    StatusCode = 400,
                    Message = "Invalid   login or password"
                }));
            }

            var accessToken = authService.GetBearerToken(user);

            return(Ok(accessToken));
        }
        public async Task <IActionResult> Login([FromForm] UserLoginPostModel model)
        {
            if (ModelState.IsValid)
            {
                var result = await userService.LoginUser(model);

                if (!result.Error)
                {
                    return(Ok(result.DataResult));
                }

                return(BadRequest(result.ErrorMessage));
            }

            return(BadRequest());
        }
        public async Task <IActionResult> Login([FromBody][Bind("Email, Password")] UserLoginPostModel userview)
        {
            var login = _mapper.Map <User>(userview);

            if (_authService.IsUserDisabled(login))
            {
                return(Unauthorized("User disabled"));
            }

            User user = _authService.AuthUser(login);

            if (user == null)
            {
                return(Unauthorized("Incorrect email or password"));
            }

            var response = await _jwtTokenGenerator.NewAsync(user);

            if (user.Claims != null && user.Claims.Length > 0)
            {
                return(Ok(
                           new
                {
                    Name = user.Name,
                    Surname = user.Surname ?? "",
                    IsAdmin = user.Claims != null && user.Claims.Length > 0,
                    Token = response.token,
                    RefreshToken = response.refreshToken
                }));
            }

            return(Ok(
                       new
            {
                Name = user.Name,
                Surname = user.Surname ?? "",
                Token = response.token,
                RefreshToken = response.refreshToken
            }));
        }