Junior — Middle
Welke authenticatie- en autorisatiemechanismen werden in uw projecten toegepast?
sobes.tech AI
Antwoord van AI
In Go-projecten worden vaak de volgende mechanismen voor authenticatie en autorisatie gebruikt:
- JWT (JSON Web Tokens) — voor stateloze authenticatie, waarbij de server een token uitgeeft na een succesvolle login, en de client dit in de headers van de verzoeken meestuurt.
- Basic Auth — eenvoudige methode waarbij gebruikersnaam en wachtwoord in de header worden meegestuurd, meestal voor interne services.
- OAuth 2.0 — voor integratie met externe providers (Google, Facebook), vooral in webapplicaties.
- Middleware voor toegangscontrole — in Go wordt dit vaak geïmplementeerd via middleware die de aanwezigheid en geldigheid van het token controleert, evenals de rechten van de gebruiker.
Voorbeeld van eenvoudige middleware om JWT te controleren in 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
}
// Voeg hier de logica toe voor het controleren van het token
// Als het token geldig is:
next.ServeHTTP(w, r)
})
}