예제 #1
0
        public async Task <IActionResult> SignIn([FromBody] SignInUserModel signInUserModel)
        {
            var signInUser = signInUserModel.ConvertToSignIn();

            if (!signInUser.IsValid())
            {
                return(CustomResponse(signInUser.ValidationResult));
            }

            var result = await __signInManager.PasswordSignInAsync(signInUser.Email, signInUser.Password, false, true);

            if (result.Succeeded)
            {
                return(CustomResponse(await GenerateJWT(signInUser.Email)));
            }

            if (result.IsLockedOut)
            {
                AdicionarErroProcessamento("Usuário temporariamente bloqueado por tentativas inválidas.");
                return(CustomResponse());
            }
            AdicionarErroProcessamento("Usuário ou senha incorretos.");
            return(CustomResponse(""));
        }