Sobes.tech
Junior — Middle

Jaké mechanismy autentizace a autorizace byly použity ve vašich projektech?

sobes.tech AI

Odpověď od AI

V projektech v Go se často používají následující mechanismy autentifikace a autorizace:

  • JWT (JSON Web Tokens) — pro bezstavovou autentifikaci, kdy server vydá token po úspěšném přihlášení a klient ho posílá v hlavičkách požadavků.
  • Basic Auth — jednoduchý způsob přenosu přihlašovacích údajů (uživatelské jméno a heslo) v hlavičce, obvykle pro interní služby.
  • OAuth 2.0 — pro integraci s externími poskytovateli (Google, Facebook), zejména v webových aplikacích.
  • Middleware pro kontrolu oprávnění — v Go je často implementováno přes middleware, který kontroluje přítomnost a platnost tokenu, stejně jako práva uživatele.

Příklad jednoduchého middleware pro kontrolu 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
        }
        // Přidat logiku kontroly tokenu
        // Pokud je token platný:
        next.ServeHTTP(w, r)
    })
}