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)
})
}