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