Sobes.tech
Junior

Temel Kimlik Doğrulama (Basic Auth) nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Temel kimlik doğrulama, RFC 7617 standardında tanımlanan en basit HTTP istemcisi kimlik doğrulama yöntemidir.

Çalışma prensibi:

  1. İstemci, korunan bir kaynağa HTTP isteği gönderir.
  2. Sunucu, 401 Unauthorized durumu ve WWW-Authenticate: Basic realm="<realm>" başlığı ile yanıt verir, burada <realm> korunan alanın (kaynağın) metinsel açıklamasıdır.
  3. Tarayıcı veya istemci uygulaması, kullanıcı adı ve şifre girmesi için bir iletişim kutusu gösterir.
  4. İstemci, kullanıcı adı ve şifreyi username:password formatında bir dizeye kodlar.
  5. Elde edilen dize Base64 kullanılarak kodlanır.
  6. İstemci, tekrar istekte bulunur ve Authorization: Basic <base64_kodlu_dize> başlığını ekler, burada <base64_kodlu_dize> Base64 kodlamasının sonucudur.
  7. Sunucu, Base64 dizisini çözer, kullanıcı adını ve şifreyi ayırır ve kimlik bilgilerini doğrular.
  8. Kimlik bilgileri doğruysa, sunucu istenen kaynağı gönderir. Aksi takdirde, tekrar 401 Unauthorized yanıtı verir.

Authorization başlığı örneği:

Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l

Burada YWxhZGRpbjpvcGVuc2VzYW1l, aladdin:opensesame dizisinin Base64 kodlamasıdır.

Özellikler:

  • Basitlik: Hem istemci hem de sunucu tarafında kolayca uygulanabilir.
  • Güvensizlik: Kimlik bilgileri, Base64 kodlu olsa da, şifrelenmemiş olarak iletilir. Base64, kodlama olup, şifreleme değildir. Trafik yakalandığında, veriler kolayca çözülebilir. Sadece HTTPS ile birlikte kullanıldığında minimum güvenlik sağlar.
  • Durumsuzluk: Sunucu arasında istekler arasında durum tutmaz (stateless). Her istekte Authorization başlığı gerekir.
  • Kullanıcı deneyimi: Tarayıcıdaki iletişim kutusu, özel kimlik doğrulama formlarına kıyasla daha az esnektir ve kullanıcı dostu değildir.

Kullanım: Genellikle API'leri, statik kaynakları korumak veya güvenliğin kritik olmadığı basit iç sistemlerde kullanılır, veya her zaman SSL/TLS (HTTPS) ile birlikte kullanılır.