Junior — Middle
Milyen hitelesítési és jogosultsági mechanizmusokat alkalmaztak a projektjeiben?
sobes.tech MI
Válasz az MI-től
Go projektekben gyakran alkalmazzák a következő hitelesítési és jogosultságkezelési mechanizmusokat:
- JWT (JSON Web Tokens) — állapot nélküli hitelesítéshez, ahol a szerver sikeres bejelentkezés után token-t ad ki, amit a kliens a kérés fejlécében küld.
- Basic Auth — egyszerű módszer a felhasználónév és jelszó átadására a fejlécben, általában belső szolgáltatásokhoz.
- OAuth 2.0 — külső szolgáltatókkal (Google, Facebook) való integrációhoz, különösen webalkalmazásokban.
- Middleware a hozzáférési jogok ellenőrzéséhez — Go-ban gyakran middleware segítségével valósítják meg, amely ellenőrzi a token meglétét és érvényességét, valamint a felhasználó jogait.
Egyszerű middleware példa JWT ellenőrzéséhez Go-ban:
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
}
// Itt add hozzá a token ellenőrzésének logikáját
// Ha a token érvényes:
next.ServeHTTP(w, r)
})
}