Sobes.tech
Junior — Middle

Ce mecanisme de autentificare și autorizare au fost aplicate în proiectele dumneavoastră?

sobes.tech AI

Răspuns de la AI

În proiectele Go, se utilizează frecvent următoarele mecanisme de autentificare și autorizare:

  • JWT (JSON Web Tokens) — pentru autentificare fără stare, unde serverul emite un token după autentificare cu succes, iar clientul îl trimite în anteturile cererilor.
  • Autentificare Basic — metodă simplă de transmitere a loginului și parolei în antet, de obicei pentru servicii interne.
  • OAuth 2.0 — pentru integrarea cu furnizori externi (Google, Facebook), în special în aplicațiile web.
  • Middleware pentru verificarea drepturilor de acces — în Go, adesea implementat prin middleware care verifică prezența și validitatea tokenului, precum și drepturile utilizatorului.

Exemplu de middleware simplu pentru verificarea JWT în 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
        }
        // Aici adăugați logica de verificare a tokenului
        // Dacă tokenul este valid:
        next.ServeHTTP(w, r)
    })
}