Junior — Middle
Kādus autentifikācijas un autorizācijas mehānismus izmantojāt savos projektos?
sobes.tech AI
Atbilde no AI
Go projektos bieži izmanto šādus autentifikācijas un autorizācijas mehānismus:
- JWT (JSON Web Tokens) — bezvalstniecības autentifikācijai, kur serveris pēc veiksmīgas pieteikšanās izdod tokenu, ko klients nosūta pieprasījuma galvenē.
- Basic Auth — vienkāršs veids, kā pārsūtīt lietotājvārdu un paroli galvenē, parasti iekšējām pakalpojumiem.
- OAuth 2.0 — integrācijai ar ārējiem pakalpojumu sniedzējiem (Google, Facebook), īpaši tīmekļa lietojumprogrammās.
- Middleware, kas pārbauda piekļuves tiesības — Go bieži realizē ar middleware, kas pārbauda tokena klātbūtni un derīgumu, kā arī lietotāja tiesības.
Piemērs vienkāršam middleware, kas pārbauda JWT Go valodā:
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
}
// Šeit pievienot tokena pārbaudes loģiku
// Ja tokens ir derīgs:
next.ServeHTTP(w, r)
})
}