Sobes.tech
Junior — Middle

Quais mecanismos de autenticação e autorização foram utilizados nos seus projetos?

sobes.tech IA

Resposta da IA

Nos projetos em Go, frequentemente utilizam-se os seguintes mecanismos de autenticação e autorização:

  • JWT (JSON Web Tokens) — para autenticação sem estado, onde o servidor emite um token após um login bem-sucedido, e o cliente o envia nos cabeçalhos das requisições.
  • Autenticação Básica — método simples de transmissão do login e senha no cabeçalho, geralmente para serviços internos.
  • OAuth 2.0 — para integração com provedores externos (Google, Facebook), especialmente em aplicações web.
  • Middleware para verificação de permissões — em Go, frequentemente implementado através de middleware que verifica a presença e validade do token, bem como os direitos do usuário.

Exemplo de middleware simples para verificar JWT em Go:

func AuthMiddleware(next http.Handler) http.Handler {
    return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
        tokenString := r.Header.Get("Authorization")
        if tokenString == "" {
            http.Error(w, "Unauthorized", http.StatusUnauthorized)
            return
        }
        // Aqui adicionar lógica de verificação do token
        // Se o token for válido:
        next.ServeHTTP(w, r)
    })
}