public async Task <LogAcessoOutput> CreateLogAcessoAsync(LogAcessoInput input) { var logAcesso = new LogAcesso() { Login = input.Login, DataTentativa = DateTime.Now, Success = input.Success, CreateDate = DateTime.Now }; _dbContext.LogAcessos.Add(logAcesso); return(new LogAcessoOutput() { Id = logAcesso.Id }); }
public async Task <ActionResult <LoginOutput> > Login([FromBody] LoginInput input) { var userToVerify = await CreateClaimsIdentityAsync(input.UserNameOrEmail, input.Password); var logAcesso = new LogAcessoInput() { Login = input.UserNameOrEmail }; if (userToVerify == null) { logAcesso.Success = false; await _logService.CreateLogAcessoAsync(logAcesso); return(BadRequest(new List <NameValueDto> { new NameValueDto("UserNameOrPasswordIncorrect", "The user name or password is incorrect!") })); } logAcesso.Success = true; await _logService.CreateLogAcessoAsync(logAcesso); var token = new JwtSecurityToken ( issuer: input.UserNameOrEmail, audience: _jwtTokenConfiguration.Audience, claims: userToVerify.Claims, expires: _jwtTokenConfiguration.EndDate, notBefore: _jwtTokenConfiguration.StartDate, signingCredentials: _jwtTokenConfiguration.SigningCredentials ); return(Ok(new LoginOutput { Token = new JwtSecurityTokenHandler().WriteToken(token), UserName = input.UserNameOrEmail })); }