public IActionResult Cadastrar(UsuariosMongo usuario) { try { usuarioMongoRepository.Cadastrar(usuario); return(Ok()); } catch (Exception ex) { return(BadRequest()); } }
public IActionResult Post(LoginMongoViewModel login) //Se colocar "usuario" em vez de "login", vai dar conflito com o UsuarioDomain usuario. { try { UsuariosMongo usuario = UsuarioMongoRepository.BuscarPorEmailSenha(login.Email, login.Senha); if (usuario == null) { return(NotFound(new { mensagem = "Usuário não encontrado" })); } var claims = new[] { new Claim(JwtRegisteredClaimNames.Email, usuario.Email), new Claim(JwtRegisteredClaimNames.Jti, usuario.Id), new Claim(ClaimTypes.Role, usuario.Tipo_usuario) }; var key = new SymmetricSecurityKey(System.Text.Encoding.UTF8.GetBytes("spmedgroup-chave-autenticacao")); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken( issuer: "Spmedgroup.WebApi", audience: "Spmedgroup.WebApi", expires: DateTime.Now.AddMinutes(30), signingCredentials: creds); return(Ok(new { token = new JwtSecurityTokenHandler().WriteToken(token) })); } catch (Exception ex) { return(BadRequest(new { mensagem = "Deu erro!!!" })); } }
public void Cadastrar(UsuariosMongo usuariomongo) { _usuarios.InsertOne(usuariomongo); }
//Ainda não funciona. Precisa ser consertado. public void Deletar(string Id) { UsuariosMongo usuarioProcurado = _usuarios.FindOneAndDelete(Id); }
//Estão em minúscula porque se referem ao que o usuário digitou, não ao que está no sistema. public UsuariosMongo BuscarPorEmailSenha(string email, string senha) { UsuariosMongo usuarioBuscado = _usuarios.Find(x => x.Email == email && x.Senha == senha).FirstOrDefault(); return(usuarioBuscado); }