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)
})
}