示例#1
0
 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);
        }