OAuth2 ROPC, genel REST API'leri için Temel Kimlik Doğrulaması mı?


21

Burada ilgilendiğim özel kullanım örneği, REST istemcilerinin genel kullanıma açık sunucu uç noktalarına (genel REST API'si gibi) karşı kimlik doğrulamasıdır.

Buradaki en basit çözüm Temel Kimlik Doğrulama'dır . Ancak çoğu zaman OAuth2'nin neredeyse her durumda üstün bir kimlik doğrulama çözümü olarak lanse edildiğini duyuyorum.

Mesele şu ki, REST sunucusuna karşı kimlik doğrulaması yapan bir REST istemcisi için uygun olan tek OAuth2 hibe türü, Kaynak Sahibi Parola Kimlik Bilgileri (ROPC) 'dir , çünkü Kod Bağışları ve Örtülü Bağışlar, kullanıcı oturum açmak ve istemci uygulaması el ile yetkilendirmek.

ROPC'nin çalışma şekli, kaynak sahibinin kullanıcı adını / parolasını ve istemci kimliğini sorgu dizesi parametreleri olarak göndererek ?!? Bu, en azından base-64'ün kimlik bilgilerini kodladığı ve TLS tarafından şifrelenebilen bir başlık içinde gönderdiği Temel Kimlik Doğrulama'dan daha az güvenlidir (IMHO)!

Bu yüzden soruyorum: genel REST API'leri bağlamında, OAuth2 ROPC gerçekten Temel Yetkilendirme'den daha iyi mi? OAuth2 ROPC'den daha güvenli olan nedir?


Güncelleştirme

Amazon'un AWS için OAuth2 tabanlı olmayan REST güvenliğini açıklayan bu mükemmel makaleyi okudum . Temelde, her REST isteğinin karmasının üretildiği ve normal (şifrelenmemiş) isteğin yanı sıra sepet olarak gönderildiği özel bir anahtar tabanlı çözümdür. Özel anahtarı yalnızca istemci ve sunucu bilir, bu nedenle sunucu isteği aldığında (yine normal istek + karma isteği içerir), sunucu istemcinin özel anahtarını arar, aynı karmayı normal isteğe uygular ve sonra iki karmayı karşılaştırır.

Bu, OAuth2'nin ROPC'sinden çok daha karmaşık, karmaşık ve güvenli görünüyor! Bir şey eksik sürece önemli burada, OAuth2 ROPC sadece gönderiyor client_id, usernameve passwordtamamen ve tamamen güvensiz ... sorgu dizesi params olarak! Bu HMAC / karma tabanlı çözüm çok daha etkileyici ve güvenli görünüyor.

Mesele şu ki, bu makalenin yazarı bile şöyle devam ediyor:

Ayrıca yavaş yavaş fark edeceksiniz ve bir noktada OAuth'u uygulamak zorunda kalacağınızı kabul edeceksiniz ...

Ba-ba-bwhat?!?! OAuth2 bu akıllı HMAC / hash tabanlı çözümden daha az güvenliyse , bu makalenin yazarı neden OAuth'un bir noktada kucaklanması gerektiğini düşünüyor. Kafam çok karıştı.


Ne tür bir müşteriden bahsediyorsun? Müşterilerin çoğunun bir kullanıcı arayüzüne sahip olacağını varsayıyorum. Bu durumda, OAuth giriş sayfasını bir web görünümünde (masaüstü, mobil) yükleyebilir veya doğrudan ona (web) yönlendirebilirsiniz. Kullanıcı arayüzünden neden kaçınmanız gerektiğini anlamıyorum.
desiklon

@ disiklon lütfen sorunun ilk cümlesini okuyun! REST hizmetlerine karşı kimlik doğrulaması yapan REST (başsız HTTP) istemcileri alıyorum.
smeeb

Sorduğum soru, bu müşterinin herhangi bir kullanıcı arayüzü var mı? Olmasa bile, UI'sı olmayan uygulamaların en azından kimlik doğrulama için bir iletişim kutusu açtığını gördüm.
desiklon

@decyclone hiçbir saf REST istemcisinin hiçbir kullanıcı arabirimine sahip olmamasına rağmen, kullanıcı arabirimi genellikle bir REST hizmetine bağlanmak için saf bir REST istemcisi kullanır. Bir kullanım örneği, REST hizmetine kullanıcı komutları (kabuğa girilen) göndermek için bir REST istemcisi kullanan bir komut satırı aracıdır. Kabuktan bir kullanıcı arayüzü açmak, burada kabul edilebilir bir çözüm değildir.
smeeb

1
Ancak, bir komut satırı / kabuk dışında başka birçok kullanım durumu olduğunu not etmeliyim. Başka bir kullanım durumu, kullanıcı arabirimi olmayan ve kullanıcı arabirimi olmayan bir arka uç sunucusunda çalışıyor olabilecek bir Java / Ruby / Python saf REST / HTTP istemcisidir. Arka uç sunucusunun REST üzerinden başka bir arka uç sunucusuyla iletişim kurması gerekir. Burada, arka uç sunucusu # 2 arka uç sunucusu # 2 ile konuşması gerektiğinde sadece bir kullanıcı arayüzü açmak garip ve kaba olmakla kalmaz, asıl sorun giriş sayfasını görüntülemek için tarayıcı / kullanıcı arayüzü istemcisi yoktur ve insan yoktur. giriş için orada olmak !!!
smeeb

Yanıtlar:


24

Sorunuzun yanıtı kod düzeyinde, protokol düzeyinde veya mimari düzeyde olabilir. Protokol seviyesi sorunlarının çoğunu burada özetlemeye çalışacağım çünkü bu genellikle artıları ve eksileri analizinde kritiktir. Unutmayın OAuth2 çok daha fazla olduğunu Kaynak Sahibi Şifre Kimlik Bilgileri , şartnamesine göre, "eski veya geçiş nedenlerle" için vardır, "Diğer hibe türlerinden daha yüksek riskli" olarak kabul edilir ve şartname açıkça belirtmektedir ki istemciler ve yetkilendirme sunucuları "Bu hibe türünün kullanımını en aza indirmeli ve mümkün olduğunda diğer hibe türlerini kullanmalıdır".

Temel kimlik doğrulaması yerine ROPC kullanmanın birçok avantajı vardır, ancak buna girmeden önce OAuth2 ve temel kimlik doğrulaması arasındaki temel protokol farkını anlayalım. Lütfen bunları açıkladığım için bana katlanın ve daha sonra ROPC'ye geleceğim.

Kullanıcı kimlik doğrulama akışları

OAuth2 spesifikasyonunda tanımlanan dört rol vardır. Örneklerle bunlar:

  1. Kaynak sahibi: Örneğin, sizin durumunuzda, bazı kullanıcıların REST API'sine farklı erişim seviyeleri olabilir;
  2. İstemci: genellikle kullanıcının kullandığı uygulama ve kullanıcıya hizmet sağlamak için kaynağa erişmesi gerekir;
  3. Kaynak sunucu: durumunuzdaki REST API'sı; ve
  4. Yetkilendirme sunucusu: Kullanıcının kimlik bilgilerinin sunulduğu ve kullanıcının kimliğini doğrulayacak sunucu.

Bir istemci uygulaması çalıştırıldığında, kullanıcıya dayalı kaynaklara erişim izni verilir. Bir kullanıcının yönetici ayrıcalıkları varsa, REST API'sinde kullanıcının kullanabileceği kaynaklar ve işlemler yönetici ayrıcalıkları olmayan bir kullanıcıdan çok daha fazla olabilir.

OAuth2 aynı zamanda birden çok istemciyle ve birden çok kaynak için tek bir yetkilendirme sunucusu kullanma olanağı sağlar. Örnek olarak, bir kaynak sunucu kullanıcının Facebook ile kimlik doğrulamasını kabul edebilir (bu durumda yetkilendirme sunucusu olarak işlev görebilir). Kullanıcı bir uygulamayı (yani istemciyi) çalıştırdığında, kullanıcıyı Facebook'a gönderir. Kullanıcı kimlik bilgilerini Facebook'ta yazar ve istemci kaynak sunucuya sunabileceği bir "simge" geri alır. Kaynak sunucusu jetona bakar ve Facebook'un aslında yayınladığını doğruladıktan ve kullanıcının kaynağa erişmesine izin verdikten sonra kabul eder. Bu durumda, müşteri hiçbir zaman kullanıcının kimlik bilgilerini (yani Facebook kimlik bilgilerini) görmez.

Ancak diyelim ki Facebook yerine kullanıcı kimliğinizi yönetiyorsunuz (ve bir yetkilendirme sunucunuz var), bu da müşterinize zaten jeton veriyor. Şimdi bir ortağınız olduğunu ve uygulamalarının (yani istemci) REST API'nize erişmesine izin vermek istediğinizi varsayalım. Temel kimlik doğrulama (hatta ROPC) ile, kullanıcı bu istemciye yetkilendirme sunucusuna gönderecek kimlik bilgileri sağlar. Yetkilendirme sunucusu daha sonra istemci tarafından kaynaklara erişmek için kullanılabilecek bir belirteç sağlayacaktır. Ne yazık ki, bu, kullanıcının kimlik bilgilerinin artık bu istemci tarafından da görülebileceği anlamına gelir. Ancak, bir iş ortağının başvurusunun (kuruluşunuzun dışında olabilecek) bir kullanıcının şifresini bile bilmesini istemezsiniz. Bu şimdi bir güvenlik sorunu. Bu hedefe ulaşmak için,

Bu nedenle, OAuth2 ile bu gibi durumlarda ideal olarak ROPC kullanılmayacak, bunun yerine yetkilendirme kodu akışı gibi farklı bir tane kullanılacaktır. Bu, herhangi bir uygulamayı yalnızca yetkilendirme sunucusuna sunulan kullanıcının kimlik bilgilerini bilmekten korur. Böylece, bir kullanıcının kimlik bilgileri sızdırılmaz. Aynı sorunlar temel kimlik doğrulaması için de geçerlidir, ancak bir sonraki bölümde ROPC'nin nasıl daha iyi olduğunu açıklayacağım çünkü kullanıcının kimlik bilgilerinin istemciler tarafından kalıcı erişim için ROPC'de istemci tarafından saklanması gerekmiyor.

Kullanıcı yetkilendirme sunucusuna gittiğinde, yetkilendirme sunucusunun kullanıcıdan istemcinin kendi adına kaynaklara erişmesine izin vermek isteyip istemediğini onaylamasını isteyebileceğini unutmayın. Bu nedenle, yetkilendirme sunucusu olarak adlandırılır, çünkü istemcinin kaynaklara erişmesi için yetkilendirme işlemi bu sürece dahil edilir. Kullanıcı istemciyi yetkilendirmezse, kaynaklara erişemez. Benzer şekilde, kullanıcının kaynaklara erişimi yoksa, yetkilendirme sunucusu yine de erişimi reddedebilir ve bir belirteç veremez.

Temel kimlik doğrulamasında, yetkilendirme sunucusu ve kaynak sunucusu bile tek bir varlıkta birleştirilir. Bu nedenle, kaynak sunucu kullanıcıyı yetkilendirmek ister, bu nedenle istemciden kimlik bilgilerini ister. İstemci, kaynak sunucu tarafından kullanıcının kimliğini doğrulamak için kullanılan kimlik bilgilerini sağlar. Bu, birden çok kaynak sunucunun temel olarak kullanıcıdan kimlik bilgileri gerektireceği anlamına gelir.

Jeton düzenleme

İstemciler yetkilendirme sunucusundan jeton alır, onları saklar ve kaynaklara erişmek için bunları kullanır (aşağıda jetonlarla ilgili daha fazla ayrıntı). İstemciler asla kullanıcının şifresini bilmez (ROPC dışındaki akışlarda) ve saklanması gerekmez. ROPC'de, istemciler kullanıcının parolasını bilmelerine rağmen, kaynaklara erişmek için bu belirteçleri kullandıkları için yine de saklamaları gerekmez. Buna karşılık, temel kimlik doğrulamasında, bir istemcinin her oturumda kimlik bilgileri sağlaması istemiyorsa, kullanıcının bir dahaki sefere verebilmesi için kullanıcının parolasını saklaması gerekir. İstemci yalnızca bir web uygulaması olmadıkça, temel kimlik doğrulamanın kullanılmasının en büyük dezavantajı bu durumda çerezler bu endişelerin bazılarını ele alabilir. Yerel uygulamalarda, bu genellikle bir seçenek değildir.

OAuth2'nin tokenlerin nasıl verildiği ve nasıl çalıştığı ile ilgili başka bir yönü daha var. Bir kullanıcı yetkilendirme sunucusuna kimlik bilgileri verdiğinde (ROPC'de bile), yetkilendirme sunucusu iki tür belirtecin bir veya daha fazlasını verebilir: 1) erişim belirteci ve 2) yenileme belirteci.

Erişim belirteçleri, onaylandıktan sonra kaynaklara erişim sağlayacak kaynak sunucuya gönderilir ve genellikle kısa bir ömürleri vardır, örneğin 1 saat. Yenileme belirteçleri, süresi dolduğunda başka bir erişim belirteci almak için istemci tarafından yetkilendirme sunucusuna gönderilir ve genellikle uzun bir ömre sahiptir (örneğin birkaç gün ila aylar hatta yıllar).

İstemci kaynak sunucusuna erişim belirtecini sağladığında, belirtecine bakar ve doğruladıktan sonra erişime izin verilip verilmeyeceğini belirlemek için belirtecin içine bakar. Erişim belirteci geçerli olduğu sürece istemci bunu kullanmaya devam edebilir. Kullanıcının uygulamayı kapatıp ertesi gün başlattığını ve erişim belirtecinin süresinin dolduğunu varsayalım. Artık istemci, yetkilendirme sunucusunu arayacak ve süresi dolmadığı varsayılarak yenileme jetonunu sunacaktır. Yetkilendirme sunucusu, belirteci zaten yayınladığından, doğrular ve kullanıcının kimlik bilgilerini tekrar sağlaması gerekmediğini belirleyebilir ve böylece istemciye başka bir erişim belirteci verir. İstemci artık kaynak sunucuya tekrar erişebilir. Facebook ve Twitter için istemci uygulamaları genellikle bir kez kimlik bilgilerini ister ve daha sonra kullanıcının kimlik bilgilerini tekrar vermesini gerektirmez. Bu uygulamaların hiçbir zaman kullanıcıların kimlik bilgilerini bilmeleri gerekmez ve kullanıcı uygulamayı her başlattığında kaynaklara erişebilir.

Artık kullanıcı yetkilendirme sunucusuna gidebilir (örneğin Facebook kullanıcı profilinde), istemci uygulamalarını etkilemeden şifreyi değiştirebilir. Hepsi düzgün çalışmaya devam edecektir. Kullanıcı, yenileme belirteçleri olan bir uygulamaya sahip olduğu bir cihazı kaybederse, yetkilendirme sunucusuna (örn. Facebook), yetkilendirme sunucusunun (örn. Facebook) var olan herhangi bir onurlandırılmadan gerçekleştireceği uygulamaların "oturumunu kapatmasını" söyleyebilir. belirteçleri yenileyin ve kullanıcıyı bu uygulamalar aracılığıyla kaynaklara erişmeye çalıştıklarında kimlik bilgilerini tekrar sağlamaya zorlayın.

JWT , genellikle OAuth2 ve OpenID Connect ile kullanılan simge biçimidir. Simgeyi imzalama ve doğrulama yöntemleri, başka bir çözüm uygulayan her kaynak sunucusu yerine kütüphaneler için standartlaştırılmıştır. Bu nedenle, avantaj, incelenmiş ve desteklenmeye devam edilen kodun yeniden kullanılabilirliğinde yatmaktadır.

Güvenlik uygulamaları

Yukarıdaki senaryolardan herhangi biri resimde olduğunda temel kimlik doğrulama daha zayıf olacaktır. Ayrıca, uygulamalarındaki ortak güvenlik açıklarından kaçınmak için içindeki önerileri kullanabilen geliştiriciler için OAuth2 için kapsamlı bir tehdit modeli de bulunmaktadır. Tehdit modelinden geçerseniz, uygulamayla ilgili birçok güvenlik açığının (açık yeniden yönlendirici ve CSRF gibi) de kapsandığını göreceksiniz. Bu yanıtta temel kimlik doğrulamasına karşı olanları karşılaştırmadım.

OAuth2'nin son büyük avantajı, protokolün standartlaştırılmış olması ve çoklu yetkilendirme sunucularının, istemcilerinin ve kaynak sunucularının onurlandırmasıdır. Geliştiriciler, uygulamalarda güvenlik sorunları bulunduğundan, birlikte çalışabilirlik sağlarken güncellenen çok sayıda kütüphane mevcuttur.

Sonuç

Yeni bir uygulama olan IMO yazıyorsanız, ideal durum, içlerinde bulunan sorunlar nedeniyle hem temel kimlik doğrulamasından hem de ROPC'den kaçınmak olacaktır. Bununla birlikte, her uygulamanın farklı ihtiyaçları, zaman çizelgeleri, geliştirici yeterliliği vb. Vardır, bu nedenle karar duruma göre yapılır. Ancak, temel kimlik doğrulamasından daha fazlasına ihtiyacınız olmasa bile, onu seçerek, kendinizi genişletmesi kolay olmayan bir mimariye kilitleyebilirsiniz (örneğin, gelecekte birden fazla sunucunuz varsa, mutlaka sahip olmak istemezsiniz) kullanıcı, her birine kimlik bilgileri sağlar, daha sonra yalnızca bir kez yetkilendirme sunucusuna sağlar; bu da belirteçleri dağıtabilir vb.)

Kimlik bilgilerinin tel üzerinden nasıl gönderildiği hakkındaki yorumunuzu ele almadığımı unutmayın, çünkü bunlar TLS veya benzer bir protokol veya mülkiyet kanıtı vb. Kullanılarak güvence altına alınabilir. Daha önce önerildiği gibi, temel 64 kodlaması 0 güvenliktir, lütfen bununla kandırılmak. Yukarıda bahsedilen farklılıklar genellikle mimari düzeydedir ve bu yüzden odaklandığım yer budur çünkü mimari bir kez uygulandığında değişmesi en zor olanıdır.

Azure Active Directory B2C Basic , üzerinde çalıştığım ve yakın zamanda genel önizleme için piyasaya sürülen bir hizmet, üçüncü taraf uygulamasının AAD'yi sosyal IDP'lerle (Facebook, Google vb.) Birlikte çalışabilirlikle yetkilendirme sunucusu olarak kullanmasına izin veriyor. Ayrıca, kullanıcıların sosyal IDP'leri kullanmak yerine kendi hesaplarını oluşturmalarına olanak tanır ve bunlar daha sonra kimlik doğrulama amacıyla kullanılabilir. Bunun gibi başka birkaç hizmet daha var (örneğin tanıdığım bir diğeri auth0) geliştiriciler tarafından kimlik doğrulaması ve kullanıcı yönetimi için uygulamaları ve kaynakları tamamen dış kaynak sağlamak amacıyla kullanılabilir. Yukarıda bahsettiğim aynı protokol özellikleri, geliştiriciler tarafından yetkilendirme sunucusunu (AAD), bir kaynağı (örneğin REST API'lerini), istemciyi (örneğin mobil uygulamalarını) ve kullanıcıları ayırmak için kullanılır. Umarım bu açıklama biraz yardımcı olur.


Geniş açı için teşekkürler, ancak bu avantajların, (a) letting the user agent hold just the token instead of the password, (b) allowing a password change without disrupting existing client apps, (c) allowing users log out other sessionsjeton kimlik doğrulama akışlarına özgü olduğunu düşünmüyorum . Ne Temel ne de token kimlik doğrulamaları özelliklerinde (b) ve (c) işlevlerinden bahsetmez. (B) ve (c) 'nin uygulanması her türlü kimlik doğrulaması için mümkün görünmektedir. Şifrelerin (tercihen bunların karmalarının) izlenmesini içerir. Avantajı, parolanın daha geniş kapsamına bağlı görünmektedir.
eel ghEEz

Kullanıcının (Kaynak Sahibi) harici bir Yetkilendirme sunucusuyla herhangi bir kimlik bilgisi yoksa, ancak İstemci uygulamasında kimlik bilgileri varsa OAuth'u nasıl kullanabiliriz? Yani Kaynak Sahibi (kullanıcı), İstemci (kullanıcıyı temsil eder ve kullanıcı için kimlik bilgileri içerir) ve Kaynak Sunucu'dur. Kaynak Sunucu kullanıcının kimliğini nasıl doğrulayabilir ve yetkilendirebilir?
Arun Avanathan

3

Bir URL'deki GET değişkenleri çevresindeki şifreleme konusunda yanlış bilgi sahibi olduğunuzu düşünüyorum

Bir istekte GET değişkenlerini görüntüleyebilen tek kişi orijinal bilgisayar ve alıcı sunucudur ( bağlantı ).

Yalnızca HTTPS isteğinin gönderildiği etki alanına dayalı DNS araması şifrelenmez. Diğer her şey, portlar, GET değişkenleri, kaynak kimliği şifrelenir.

Bunun tek uyarısı, alıcı sunucunun tüm istek yolunu kapatabileceğidir, ancak bunu kontrol edersiniz, böylece uygun gördüğünüz halde verileri koruyabilirsiniz.


3

Temel kimlik doğrulama, REST API'nizi korumanın iyi bir yolu değildir. Bu cevabın nedenlerini açıkladım .

Bir REST API'si oluşturduğunuzda, kaynak sunucuyu OAuth2 terimleriyle uyguluyorsunuz . API'nizin tek yapması gereken, Yetkilendirme HTTP üstbilgisindeki istekle birlikte gönderilen belirtecin geçerli olduğunu ve güvenilir bir yayıncıdan doğrulandığını doğrulamaktır . Kullanılabilir kitaplık yoksa doğrulamanın nasıl uygulanacağı ile ilgili adımlar için bu bağlantıya bakın .

Müşterinizin , yetkilendirme sunucusundan belirteci nasıl elde ettiği , ne tür bir istemci olduğuna bağlıdır . İstemciyi yetkilendirme sunucusuna kaydederken kullanacağınız istemci türünü belirtmeniz gerektiğini unutmayın.

Sunucunuzla konuştuğunuz bir web uygulaması durumunda, yetkilendirme kodu hibesini kullanabilir . Mobil uygulama veya JavaScript uygulaması gibi güvenilir olmayan bir istemci ise, örtülü hibeyi kullanmalıdır .

Bir kaynak sahibiyle etkileşime geçemeyen arka uç hizmetleri için, istemci kimlik bilgileri hibesini kullanabilirsiniz . Komut satırı araçları için, istemci kimlik bilgilerini veya kaynak sahibi parolası bağışını kullanabilirsiniz .

Her şey ne tür bir istemci kullandığınıza bağlıdır.

Son olarak, JWT belirtecinin doğrulanması, kaynak sunucuda yetkilendirme sunucusuyla konuşmanıza gerek kalmadan gerçekleşir. Bu, daha iyi ölçeklenebilir bir mimariye, her müşteri için özel veri aramak isteyen çözümlere yol açar.


1

Güvenli ya da güvenli değil. Ne fazla ne az. Base64'e sahip olmak Temel Kimlik Doğrulamasını (veya herhangi bir şeyi) daha güvenli hale getirmez.

Https gibi şifreli bir boru kullanıyorsa şifrelenmemiş bir şey göndermede yanlış bir şey yoktur.

OAuth'un daha fazla özelliği var, ihtiyacınız varsa kullanın. Başka bir şey için, örneğin bankacılık, temel zorluk-yanıtını kullanmak iyi ve güvenlidir.


0

Bence önce terminolojileri anlamanız gerekiyor. Karşılaştırıyorsunuz - Yetkilendirme ve Dijital imza

OAuth, Amazon'un yaptığı gibi (sorunuzda sağlanan makaleye ve ayrıntılara göre) mesajın bilinen bir kişi tarafından oluşturulduğuna inanması için bir alıcıya (burada Amazon) neden veren geçerli bir dijital imza oluşturduğu Yetkilendirme için açık bir standarttır. gönderen, gönderenin mesajı göndermeyi reddedemediğini ( kimlik doğrulama ve reddetme)

Hangi yetkilendirme mekanizmasının kullanılacağı, az ya da çok kullanım durumunuza bağlıdır.

Aşağıda StackOverflow'da neler bulunabilir :

Gerekli tek başlığı hesaplamak için çok basit bir karma gerektiren temel kimlik doğrulama - OAuth şüphesiz daha pahalı bir kimlik doğrulamadır. Fark edilmesi gereken önemli olan, iki kimlik doğrulama mekanizmasının tamamen farklı amaçlara hizmet etmesidir. Temel Kimlik Doğrulama, istemcinin birincil bir uygulamada kimlik doğrulaması içindir. OAuth, üçüncü bir tarafa birincil uygulamadan istemci verilerine erişme yetkisi vermek içindir. Her ikisinin de yeri vardır ve birini diğerinin üzerinden seçmek uygulamanın özel kullanım durumu tarafından yönlendirilmelidir.

İşte ikisini karşılaştıran ilginç bir makale daha var .

SSL üzerinden Temel Kimlik Doğrulaması , basit bir güvenlik açısından oldukça sorumludur. Kullanıcı adları ve parolalarla uğraşırken, Temel kimlik doğrulaması, uygulanması çok kolay olduğu için yaygın bir çözümdür. Kimlik bilgilerinin iletimi SSL üzerinden şifrelenir ve “Yetkilendirme” üstbilgisinin kullanımı HTTP istemcilerinde ve sistemlerinde her yerde bulunur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.