Sobes.tech
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)
    })
}