Sobes.tech
Junior — Middle

Layihələrinizdə hansı autentifikasiya və icazə mexanizmləri tətbiq olunub?

sobes.tech Süni İntellekt

AI-dan cavab

Go layihələrində tez-tez aşağıdakı autentifikasiya və icazə mexanizmləri istifadə olunur:

  • JWT (JSON Web Tokens) — stateless autentifikasiya üçün, burada server uğurlu girişdən sonra token verir və müştəri onu sorğu başlıqlarında göndərir.
  • Basic Auth — sadə üsul, istifadəçi adı və şifrə başlıqda ötürülür, adətən daxili xidmətlər üçün.
  • OAuth 2.0 — xarici provayderlərlə inteqrasiya üçün (Google, Facebook), xüsusən veb tətbiqlərdə.
  • İcazə yoxlaması üçün middleware — Go-da, adətən, middleware vasitəsilə həyata keçirilir, bu tokenin mövcudluğunu və etibarlılığını, həmçinin istifadəçinin hüquqlarını yoxlayır.

Go-da JWT yoxlaması üçün sadə middleware nümunəsi:

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
        }
        // Burada tokenin yoxlanması loqikasını əlavə edin
        // Əgər token etibarlıdırsa:
        next.ServeHTTP(w, r)
    })
}