public async Task <IActionResult> RequestToken([FromBody] UsuarioViewModel viewModel) { var usuarioGerenciamento = _provider.GetRequiredService <UsuarioGerenciamento> (); if (!await usuarioGerenciamento.Autenticar(viewModel.MapTo(new Usuario()))) { return(new CredenciaisInvalidaJson()); } var claims = new [] { new Claim(ClaimTypes.Name, viewModel.Codigo) }; var key = new SymmetricSecurityKey( Encoding.UTF8.GetBytes(_configuration["SecurityKey"]) ); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken( issuer: "emprestimoJogos.net", audience: "emprestimoJogos.net", claims: claims, expires: DateTime.Now.AddMinutes(30), signingCredentials: creds ); return(Ok(new { token = new JwtSecurityTokenHandler().WriteToken(token) })); }
public async Task<IActionResult> Post ([FromBody] UsuarioViewModel viewModel) { var usuarioGerenciamento = _provider.GetRequiredService<UsuarioGerenciamento> (); if (!await usuarioGerenciamento.Insert (viewModel.MapTo (new Usuario ()))) { return new UsuarioErrorJson (usuarioGerenciamento); } return Created (); }
public async Task<IActionResult> Put ([FromRoute] long id, [FromBody] UsuarioViewModel viewModel) { var usuarioGerenciamento = _provider.GetRequiredService<UsuarioGerenciamento> (); await usuarioGerenciamento.GetById (id); viewModel.MapTo (usuarioGerenciamento.Usuario); if (!await usuarioGerenciamento.Update ()) { return new UsuarioErrorJson (usuarioGerenciamento); } return new UsuarioJson (usuarioGerenciamento.Usuario); }