Junior — Middle
Projelerinizde hangi kimlik doğrulama ve yetkilendirme mekanizmaları kullanıldı?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go projelerinde sıklıkla aşağıdaki kimlik doğrulama ve yetkilendirme mekanizmaları kullanılır:
- JWT (JSON Web Tokens) — durumsuz kimlik doğrulama için, sunucu başarılı girişten sonra bir token verir ve istemci bu token'ı istek başlıklarında iletir.
- Basic Auth — giriş adı ve şifresini başlıkta ileten basit yöntem, genellikle dahili servisler için.
- OAuth 2.0 — dış sağlayıcılar (Google, Facebook) ile entegrasyon için, özellikle web uygulamalarında.
- Erişim haklarını kontrol eden middleware — Go'da, genellikle middleware aracılığıyla, token'ın varlığı ve geçerliliği ile kullanıcının hakları kontrol edilir.
Go'da JWT doğrulaması için basit bir middleware örneği:
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 token doğrulama mantığını ekleyin
// Token geçerliyse:
next.ServeHTTP(w, r)
})
}