Sobes.tech
Junior — Middle

Quels mécanismes d'authentification et d'autorisation ont été utilisés dans vos projets?

sobes.tech IA

Réponse de l'IA

Dans les projets en Go, les mécanismes d'authentification et d'autorisation suivants sont souvent utilisés:

  • JWT (JSON Web Tokens) — pour une authentification sans état, où le serveur émet un jeton après une connexion réussie, et le client le transmet dans les en-têtes des requêtes.
  • Auth Basic — méthode simple avec transmission du nom d'utilisateur et du mot de passe dans l'en-tête, généralement pour les services internes.
  • OAuth 2.0 — pour l'intégration avec des fournisseurs externes (Google, Facebook), notamment dans les applications web.
  • Middleware pour vérifier les droits d'accès — en Go, souvent implémenté via un middleware qui vérifie la présence et la validité du jeton, ainsi que les droits de l'utilisateur.

Exemple de middleware simple pour vérifier JWT en 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
        }
        // Ajouter ici la logique de vérification du jeton
        // Si le jeton est valide :
        next.ServeHTTP(w, r)
    })
}