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