public async Task <ActionResult <dynamic> > Autenticar( [FromBody] UsuarioAutenticacaoModel usuarioAutenticacaoModel) { UsuarioDbModel usuarioDbModel; if (usuarioAutenticacaoModel.Login == "137110" && usuarioAutenticacaoModel.Senha == "137110") { usuarioDbModel = new UsuarioDbModel { Id = Guid.Parse("92d52308-bec5-44b6-9133-746e12aff332"), Role = ERole.Operador.Value }; } else { usuarioDbModel = await _usuarioReadOnlyRepository .AutenticarUsuarioAsync(usuarioAutenticacaoModel.Login, usuarioAutenticacaoModel.Senha); } if (usuarioDbModel == null) { return(NotFound(new { mensagem = "Usuário ou senha inválidos" })); } var token = TokenService.GenerateToken(usuarioDbModel); return(new { token }); }
public async Task <UsuarioDbModel> CriarUsuarioAsync(UsuarioDbModel usuarioDbModel) { Usuario usuario = _mapper.Map <UsuarioDbModel, Usuario>(usuarioDbModel); await _dataSet.AddAsync(usuario); await _dataContext.SaveChangesAsync(); return(_mapper.Map <Usuario, UsuarioDbModel>(usuario)); }
public static string GenerateToken(UsuarioDbModel usuarioDbModel) { var tokenHandler = new JwtSecurityTokenHandler(); var key = Encoding.ASCII.GetBytes(Settings.Secret); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Name, usuarioDbModel.Id.ToString()), new Claim(ClaimTypes.Role, usuarioDbModel.Role.ToString()) }), Expires = DateTime.UtcNow.AddHours(2), SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature) }; var token = tokenHandler.CreateToken(tokenDescriptor); return(tokenHandler.WriteToken(token)); }