Junior — Middle
Aké máte skúsenosti s implementáciou a konfiguráciou systémov overovania a autorizácie?
sobes.tech AI
Odpoveď od AI
V projektoch v Go som implementoval systémy autentifikácie a autorizácie s použitím JWT (JSON Web Tokens) a OAuth2. Zvyčajne proces zahŕňa:
- Vytvorenie endpointov na registráciu a prihlásenie, kde používateľ dostane token po úspešnej autentifikácii.
- Použitie middleware na kontrolu platnosti tokenu na chránených trasách.
- Konfiguráciu rolí a práv na obmedzenie akcií používateľov podľa ich roly.
Príklad jednoduchého middleware na kontrolu JWT:
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
}
// Tu prebieha validácia tokenu
// Ak je platný, voláme ďalší handler
next.ServeHTTP(w, r)
})
}
Pre zložitejšie scenáre som používal knižnice ako golang.org/x/oauth2 na integráciu s externými poskytovateľmi.