Junior — Middle
Aké mechanizmy overovania a autorizácie ste použili vo vašich projektoch?
sobes.tech AI
Odpoveď od AI
V projektoch v Go pogosto uporabljajo naslednje mehanizme avtentikacije in avtorizacije:
- JWT (JSON Web Tokens) — za brezstaten avtentikacijo, kjer strežnik izda token po uspešnem prijavi, klient pa ga pošlje v glavi zahtevka.
- Basic Auth — preprost način prenosa uporabniškega imena in gesla v glavi, običajno za notranje storitve.
- OAuth 2.0 — za integracijo z zunanjimi ponudniki (Google, Facebook), zlasti v spletnih aplikacijah.
- Middleware za preverjanje pravic dostopa — v Go se pogosto implementira prek middleware, ki preverja prisotnost in veljavnost tokena ter pravice uporabnika.
Primer preprostega middleware-a za preverjanje JWT v 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
}
// Tukaj dodajte logiko preverjanja tokena
// Če je token veljaven:
next.ServeHTTP(w, r)
})
}