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