Sobes.tech
Junior — Middle

Welche Authentifizierungs- und Autorisierungsmechanismen wurden in Ihren Projekten angewendet?

sobes.tech KI

Antwort von AI

In Go-Projekten werden häufig folgende Mechanismen zur Authentifizierung und Autorisierung verwendet:

  • JWT (JSON Web Tokens) — für zustandslose Authentifizierung, bei der der Server nach erfolgreichem Login ein Token ausgibt, das der Client in den Anfrage-Headern übermittelt.
  • Basic Auth — einfache Methode, bei der Benutzername und Passwort im Header übertragen werden, meist für interne Dienste.
  • OAuth 2.0 — für die Integration mit externen Anbietern (Google, Facebook), insbesondere bei Webanwendungen.
  • Middleware zur Zugriffsberechtigungsprüfung — in Go wird dies oft durch Middleware realisiert, die die Existenz und Gültigkeit des Tokens sowie die Rechte des Benutzers prüft.

Beispiel für eine einfache Middleware zur JWT-Überprüfung in 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
        }
        // Hier Logik zur Token-Überprüfung hinzufügen
        // Wenn der Token gültig ist:
        next.ServeHTTP(w, r)
    })
}