public async Task <IActionResult> GetToken(PlayerLoginModel loginModel) { if (!ModelState.IsValid) { return(BadRequest()); } var verifyRes = await _playerSvc.ValidateCredentials(loginModel.Email, loginModel.Password); if (verifyRes == PasswordVerificationResult.Success) { var token = await _tokenSvc.GetTokenAsync(loginModel.Email); return(Ok(new { token })); } return(BadRequest("Invalid credentials")); }
public async Task <ActionResult <dynamic> > Login([FromBody] PlayerLoginModel model) { try { var user = await _context.Player .AsNoTracking() .Where(x => x.Email == model.Email) .FirstOrDefaultAsync(); if (user == null) { return(NotFound(new { Erro = "Player não encontrado!" })); } else { if (PasswordService.Compare(model.Password, user.Password)) { var token = TokenService.GenerateToken(user); user.Password = ""; return(new { user = user, token = token, mesangem = "Autenticado com sucesso!" }); } else { return(NotFound(new { Erro = "Senha inválida!" })); } } } catch (Exception) { return(BadRequest(new { Erro = "Não foi possível realizar o login" })); } }