OAuth2 ve Facebook ile Oturum Açma Hakkında Bilmeniz Gerekenler

Yayınlanan: 2022-03-10
Kısa özet ↬ OAuth2, kullanıcıların uygulamanızda oturum açmasını, her web sitesi için bir parola hatırlamak zorunda kalmamasını ve güvenliğinize güvenmesini kolaylaştırır. OAuth2'nin benimsenmesine yaklaşan başka bir güvenlik protokolü olmadığı için OAuth2 sektöre hakimdir.

OAuth2'nin ne olduğunu merak ediyorsanız, herkesin Facebook hesabıyla giriş yapmasını sağlayan protokoldür. Uygulamalarda ve her yerdeki web sitelerinde “Facebook ile Giriş Yap” düğmesine güç verir.

Bu makale size "Facebook ile Giriş Yap"ın nasıl çalıştığını gösterir ve arkasındaki protokolü açıklar. Neden Facebook, Google, Microsoft veya OAuth2'yi destekleyen diğer birçok şirketten biriyle giriş yapmak istediğinizi öğreneceksiniz.

Bu makale size "Facebook ile Giriş Yap"ın nasıl çalıştığını gösterir ve arkasındaki protokolü açıklar. Neden Facebook, Google, Microsoft veya OAuth2'yi destekleyen diğer birçok şirketten biriyle giriş yapmak istediğinizi öğreneceksiniz.

İki örneğe bakacağız: Spotify, Spotify mobil uygulamasına giriş yapmanıza izin vermek için neden Facebook'u kullanıyor ve Quora, web sitesine giriş yapmanıza izin vermek için neden Google ve Facebook'u kullanıyor.

SmashingMag'de Daha Fazla Okuma :

  • Mobil Uygulama Oluşturmanın Dört Yolu
  • Dürüst Kullanıcı Arayüzleri Nasıl Oluşturulur ve Kullanıcıların Daha İyi Kararlar Vermesine Yardımcı Olur
  • Lansmandan Sonra Android Uygulamanızı Popüler Tutma
  • Kodlama ve Tasarım Oturumlarınızı Artıracak Spotify Oynatma Listeleri
Atlamadan sonra daha fazlası! Aşağıdan okumaya devam edin ↓

OAuth2'den önce

OAuth2, birkaç yıl önce bir standartlar savaşını kazandı. Büyük satıcılar tarafından desteklenen tek kimlik doğrulama protokolüdür. Google, tüm API'leri için OAuth2'yi önerir ve Facebook'un Grafik API'si yalnızca OAuth2'yi destekler.

OAuth2'yi anlamanın en iyi yolu, ondan önce ne olduğuna ve neden farklı bir şeye ihtiyacımız olduğuna bakmaktır. Her şey Temel Yetkilendirme ile başladı.

Temel Yetkilendirme

Kimlik doğrulama şemaları iki temel soruya odaklanır: Sen kimsin? Ve kanıtlayabilir misin?

Bu iki soruyu sormanın en yaygın yolu bir kullanıcı adı ve şifre kullanmaktır. Kullanıcı adı kim olduğunuzu söylüyor ve şifre bunu kanıtlıyor.

Temel Auth, ilk web kimlik doğrulama şemasıydı. Kulağa komik geliyor ama ilk olarak 1999'da yayınlanan spesifikasyondaki asıl adı “Temel kimlik doğrulama” idi.

Temel Yetkilendirme, web sunucularının bu kimlik bilgilerini tarayıcıların anlayacağı şekilde istemesine olanak tanır. Sunucu, 401 bir HTTP yanıt kodu döndürür (bu, kimlik doğrulamanın gerekli olduğu anlamına gelir) ve yanıta, özel bir Basic değeriyle WWW-Authenticate adlı özel bir başlık ekler.

Tarayıcı bu yanıt kodunu ve bu başlığı gördüğünde, bir açılır oturum açma iletişim kutusu gösterir:

Temel Yetkilendirme oturum açma iletişim kutusu
Temel Yetkilendirme oturum açma iletişim kutusu

Temel Yetkilendirmenin en büyük yanı basitliğidir. Giriş ekranı yazmak zorunda değilsiniz. Tarayıcı bunların hepsini halleder ve sadece kullanıcı adını ve şifreyi sunucuya gönderir. Ayrıca, tarayıcıya, kullanıcı için hatırlayarak, üçüncü taraf bir eklentiden alarak veya kullanıcının kimlik bilgilerini işletim sistemlerinden alarak, şifreyi özel olarak işleme şansı verir.

Dezavantajı, oturum açma ekranının görünümü ve hissi üzerinde herhangi bir kontrol sahibi olamamanızdır. Bu, onu biçimlendiremeyeceğiniz veya "Parolanızı mı unuttunuz?" gibi yeni işlevler ekleyemeyeceğiniz anlamına gelir. bağlantı veya yeni bir hesap oluşturma seçeneği. Daha fazla kişiselleştirme istiyorsanız, özel bir oturum açma formu yazmanız gerekir.

Özel Oturum Açma Formları

Özel oturum açma formları size isteyebileceğiniz tüm kontrolü sağlar. Bir HTML formu yazarsınız ve kimlik bilgilerini sorarsınız. Ardından formu gönderin ve oturum açma işlemini istediğiniz şekilde halledin. Tam kontrol sizde: Stil verebilir, daha fazla ayrıntı isteyebilir veya daha fazla bağlantı ekleyebilirsiniz.

WordPress gibi bazı web siteleri, oturum açma ekranı için basit bir form kullanır:

WordPress giriş ekranı
WordPress giriş ekranı

LinkedIn, kullanıcıların web sitesinin başka bir bölümüne gitmek zorunda kalmadan aynı sayfada oturum açmasına veya bir hesap oluşturmasına olanak tanır:

LinkedIn giriş ekranı
LinkedIn oturum açma ekranı (Büyük versiyonu görüntüleyin)

Form tabanlı oturum açma çok popülerdir, ancak önemli bir temel sorunu vardır: Kullanıcılar web sitesine şifrelerini söylemek zorundadır.

Sırları Gizli Tutmak

Güvenlik çevrelerinde şifreye sır diyoruz. Bu, yalnızca sizin sahip olduğunuz ve sizin siz olduğunuzu kanıtlayan bir bilgi parçasıdır. Sır aynı zamanda bir paroladan daha fazlası olabilir; bunun hakkında biraz sonra konuşacağız.

Bir web sitesi dünyadaki tüm güvenlik önlemlerini alabilir, ancak kullanıcı şifresini paylaşırsa bu güvenlik ortadan kalkar. Bilgisayar korsanları 2010 yılında Gawker web sitesini ihlal ederek birçok kullanıcının şifresini açığa çıkardı. Bu Gawker için bir sorun olsa da sorun burada bitmedi. Çoğu kişi şifreleri yeniden kullanır, bu nedenle bilgisayar korsanları Gawker'dan sızan verileri aldı ve Gmail, Facebook ve eBay gibi daha kritik web sitelerine giriş yapmaya çalıştı. Daha önemli şeyler için bir Gawker şifresi kullanan herkes, Hulk Hogan'ın seks kasetiyle ilgili en son dedikodulardan çok daha fazlasını kaybetti.

Kullanıcılarınızın birden fazla hesap için bir parolayı yeniden kullanmamasını sağlamak sorunun ilk yarısıdır ve bu imkansızdır. İnsanlar internetin her yerinde farklı hesaplar oluşturmak zorunda kaldıkları sürece şifrelerini yeniden kullanacaklardır.

Sorunun ikinci yarısı, şifreleri güvenli bir şekilde saklamaktır.

Birisi uygulamanızda oturum açtığında, onun şifresini doğrulamanız gerekir ve bu, onu doğrulamak için bir kopyaya ihtiyacınız olduğu anlamına gelir. Tüm kullanıcı adlarını ve parolaları bir yerde bir veritabanında saklayabilirsiniz, ancak şimdi bu parolaları kaybetme veya saldırıya uğrama riskiyle karşı karşıyasınız. En iyi uygulama, SHA-2 işlevlerinden biri gibi bir karma işlevi kullanmaktır. Bu işlev, verileri asla geri alamayacağınız bir şekilde şifreler, ancak şifrelemeyi çoğaltabilirsiniz: “şifrem” her seferinde bb14292d91c6d0920a5536bb41f3a50f66351b7b9d94c804dfce8a96ca1051f2 gibi bir şeye hash olur.

Ve şimdi uzun otların arasındayız: Size kriptografik protokolleri nasıl uygulayacağınızı anlatıyorum. Ardından, verilerinize nasıl tuz ekleneceğini ve ortadaki adam saldırılarında hangi ders kitaplarının okunacağını açıklamam gerekecek. Tek yapmak istediğin bir uygulama yazmak ve şimdi bir güvenlik uzmanı olmalısın. Geri adım atmalıyız.

OAuth2

Muhtemelen bir güvenlik uzmanı değilsiniz. Öyle olsan bile, yine de sana şifrem konusunda güvenmem. OAuth2 size daha iyi bir yol sunar.

Örnek olarak, iPad'imde Spotify kullanıyorum. Müzik dinlemek için şirkete ayda 10 dolar ödüyorum. Spotify bana yalnızca üç cihazda erişim sağlıyor, bu yüzden hesabımı başka kimsenin kullanmadığından emin olmak için bir şifreye ihtiyacım var. Spotify hesabım büyük bir güvenlik sorunu değil. Saldırıya uğramak dünyanın sonu olmaz ama şirkette kredi kartım var, bu yüzden güvende olduğumdan emin olmak istiyorum.

Spotify'a neredeyse hiç giriş yapmam, bu yüzden başka bir hesap oluşturmak ve başka bir şifreyi hatırlamak zorunda kalmak istemiyorum. Spotify bana daha iyi bir seçenek sunuyor:

_Facebook ile giriş yap_ seçeneği ile Spotify giriş ekranı
“Facebook ile Giriş Yap” seçeneği ile Spotify giriş ekranı (Büyük versiyonu görüntüle)

Giriş yapmak için Facebook hesabımı kullanabilirim. O düğmeye dokunduğumda Spotify beni facebook.com'a gönderiyor ve ben orada giriş yapıyorum. Bu küçük bir ayrıntı gibi görünebilir, ancak tüm sürecin en önemli adımıdır.

Spotify için Facebook giriş ekranı
Spotify için Facebook giriş ekranı (Büyük versiyonu görüntüle)

Spotify'ın programcıları bir oturum açma formu yazabilir ve ardından kullanıcı adımı ve şifremi arka uç API'si ile Facebook'a gönderebilirdi, ancak bunu yapmalarını istemememin iki büyük nedeni var:

  • Facebook şifrem konusunda Spotify'a güvenmiyorum. Facebook'u arkadaşlarımla bağlantı kurmak için kullanıyorum ve saldırıya uğramak istemiyorum. Spotify'ın şifreyi doğru bir şekilde ele alacağına güvenmiyorum. Ayrıca onunla komik bir şey yapma cazibesinden kaçınacağına da güvenmiyorum. Belki daha sonra kullanabilmek için saklamaya çalışırdı. Belki bir bilgisayar korsanının onu ele geçirebilmesi için Facebook'a göndermeden önce bir dosyaya yazan bir hatası vardır. Özür dilerim, Spotify; Ben sadece güvenen biri değilim.
  • Spotify'ın her şeyi yapmasına izin vermek istemiyorum. Spotify'ın müzik çalmasını istiyorum. Spice Girls'ü dinlerken arkadaşlarımın duvarlarına asılmasını istemiyorum. Ayrıca arkadaş listemi indirmesine ve Spotify'a katılmalarını engellemesine izin vermek istemiyorum. Spotify'a Facebook şifremi verirsem, Facebook'ta benim gibi giriş yapabilir; yapabileceğim her şeyi yapabilirdi.

Spotify'ın bunu yapmak istememesinin de iki büyük nedeni var:

  • Facebook'ta oturum açmam için birden fazla seçenek var. . Kullanıcı adım ve şifrem ile giriş yapabilirim veya Facebook uygulaması ile giriş yapabilirim. Ayrıca Facebook'tan şifremi alabilir veya Spotify'ın bana veremeyeceği yardımı alabilirim. Spotify'a şifremi vermiş olsaydım, bu seçeneklerden hiçbirini alamazdım.
  • Sırrım bir şifre olmayabilir. . Ayda 10 dolarlık Spotify hesabım için bir parola yeterli güvenlik, ancak bankam veya daha önemli bir şey için yeterli olmayabilir. Verebileceğim başka pek çok sır da var: Bir akıllı kartım olabilir veya bir Mission Impossible filminde yaşıyor ve retina tarayıcısı kullanıyor olabilirim.

Mission Impossible filminde değilim, ancak gerçek dünyada birçok şirket, parola ve başka bir şey gibi iki faktörlü kimlik doğrulama kullanır. En yaygın yöntem telefonunuzu kullanmaktır. Giriş yapmak istediğinizde, şirket size birkaç dakika süren özel bir kod içeren bir metin gönderir; daha sonra kodu yazın veya girmek için bir uygulama kullanın.

Artık şirket, telefonunuz olmadan kimsenin hesabınıza giriş yapamayacağından emin. Birisi şifrenizi çalsa yine de giriş yapamaz. Telefonunuzu kaybetmediğiniz sürece her şey güvende.

Facebook tek OAuth2 sağlayıcısı değil. Google hesabımla Quora'ya giriş yaptığımda Google, Quora'nın ne yapmak istediğini söylüyor ve uygun olup olmadığını soruyor:

Google Quora OAuth2 süreci için 2. adım iletişim kutusu
Google ve Quora OAuth2 süreci için 2. adım iletişim kutusu

Quora'nın e-posta adresimi ve temel profil verilerimi görüntülemesine izin vermem sorun değil, ancak bunun kişilerimi yönetmesini istemiyorum. OAuth2, Quora'nın istediği tüm erişimi bana göstererek, erişim izni verdiğim şeyi seçip seçmeme izin veriyor.

Yani, bunlar OAuth2'nin avantajları. Nasıl çalıştığını görelim.

OAuth2 Nasıl Çalışır?

Facebook, Google ve diğer OAuth2 sağlayıcılarının çoğu, yerel istemcilere web istemcilerinden farklı davranır. Yerel istemciler daha güvenli kabul edilir ve aylarca sürebilen belirteçler ve yenileme belirteçleri alırlar. Web istemcileri, genellikle kullanıcı tarayıcıyı kapattığında veya bir süre web sitesini tıklamadığında zaman aşımına uğrayan çok daha kısa jetonlar alır.

Her iki durumda da oturum açma işlemi aynıdır. Aradaki fark, kullanıcının ne sıklıkta geçmesi gerektiğidir.

OAuth2 oturum açma işlemi şu genel adımları takip eder:

  1. Kullanıcı, kimlik doğrulama gerektiren bir şey yapmaya çalışır. Bu, bir uygulamayı açmak veya "Giriş yap" düğmesine tıklamak kadar basit olabilir.
  2. Uygulama veya web sitesi, kullanıcının henüz oturum açmadığını belirler ve oturum açma işlemini başlatır. Bunu bir web sayfası açıp Facebook, Google veya OAuth2'nizi sağlayan başka herhangi bir web sitesindeki özel bir URL'ye göndererek yapar.

OAuth2 sağlayıcısı için yeni bir tarayıcı penceresi açmak çok önemli bir adımdır. Sağlayıcıların kendi oturum açma formlarını göstermelerine ve her kullanıcıdan ihtiyaç duydukları oturum açma bilgilerini istemelerine izin veren şey budur. Çoğu uygulama bunu gömülü bir web görünümüyle yapar.

Sağlayıcının oturum açma URL'si ile birlikte sağlayıcıya kim olduğunuzu ve ne yapmak istediğinizi söyleyen bazı URL parametreleri göndermeniz gerekir:

  • client_id Bu, OAuth2 sağlayıcısına uygulamanızın ne olduğunu söyler. İstemci kimliği almak için uygulamanızı önceden kaydetmeniz gerekir.
  • redirect_uri Bu, işiniz bittiğinde sağlayıcıya nereye gitmek istediğinizi söyler. Bir web sitesi için bu, ana sayfaya geri dönebilir; yerel bir uygulama, web görünümünü kapatan bir sayfaya gidebilir.
  • response_type Bu, sağlayıcıya ne geri istediğinizi söyler. Normalde, bu değer bir erişim belirteci istediğinizi belirtmek için token veya bir erişim code istediğinizi belirtmek için koddur. Sağlayıcılar, diğer veri türlerini sağlamak için bu değeri genişletebilir.
  • scope Bu, sağlayıcıya uygulamanızın neye erişmek istediğini söyler. Google, Quora'nın kişilerinizi yönetmek için erişim istediğini bu şekilde biliyor. Her sağlayıcının farklı bir kapsamı vardır.

Daha fazla güvenlik ekleyebilecek veya önbelleğe almaya yardımcı olabilecek ek alanlar vardır. Bazı sağlayıcılar ayrıca daha fazla alan ekleyebilir, ancak bu dördü önemli olanlardır.

Uygulamanız web görünümünü açtığında, sağlayıcı devralır. Basit bir kullanıcı adı ve şifre isteyebilirler veya en sevdiğiniz öğretmenin adından annenizin kızlık soyadına kadar her şeyi isteyen birden fazla ekran sunabilirler. Bu onlara kalmış. Önemli olan kısım, sağlayıcı bittiğinde, size geri yönlendirilecek ve size bir jeton verecek olmasıdır.

Her Şey Jetonlarla İlgili

İşlem tamamlandığında, sağlayıcı size bir belirteç ve bir belirteç türü verecektir. İki tür belirteç vardır: erişim belirteçleri ve yenileme belirteçleri. Sahip olduğunuz müşteri türü, hangi tür jetonları istemenize izin verildiğini belirleyecektir.

Spotify uygulamama giriş yaptığımda, telefonumun sadece benim tarafımdan kullanıldığı varsayımına göre aylarca açık kalabiliyorum. Facebook, jetonları yönetmek için Spotify uygulamasına güveniyor ve jetonları kaybetmemek için Spotify uygulamasına güveniyorum.

Erişim belirteci zaman aşımına uğradığında (genellikle bir ila iki saat içinde), Spotify yeni bir tane almak için yenileme belirtecini kullanabilir.

Yenileme belirteci aylarca sürer. Bu şekilde, telefonumda yılda sadece birkaç kez oturum açmam gerekiyor. Dezavantajı ise, o yenileme jetonunu kaybedersem, başka birinin hesabımı aylarca kullanabilmesidir. Yenileme belirteci o kadar önemlidir ki iOS, belirteçler için güvenli bir şekilde şifrelemeyi ve saklamayı sağlayan bir anahtarlık sağlar.

OAuth2'yi bir web uygulamasında kullanmak aynı şekilde çalışır. Bir web görünümü kullanmak yerine, OAuth2 oturum açma isteğini bir çerçevede, bir iframe veya ayrı bir pencerede açabilirsiniz. Bunu geçerli sayfada da açabilirsiniz, ancak bu, birinin oturum açması gerektiğinde tüm JavaScript uygulama durumunu kaybetmenize neden olur.

Web tarayıcımla Quora'da oturum açtığımda, yenileme belirteci almıyorum. Tarayıcımdan çıktığımda, hatta öğle yemeğine çıktığımda jetonun zaman aşımına uğramasını ve benden tekrar giriş yapmamı istemelerini istiyorlar. Güvenilmeyen istemciler, önemli yenileme belirtecini tutmak için güvenilir olmadıklarından belirteci yenileyemez. Daha güvenli ama daha az kullanışlı çünkü sizden çok daha sık tekrar oturum açmanızı isteyecekler.

Uygulamanızda OAuth2'yi Kullanma

Artık OAuth2'nin nasıl çalıştığını biliyorsunuz, ancak muhtemelen kendi OAuth2 istemcinizi uygulamak istemiyorsunuz. Uyumakta zorluk çekiyorsanız, 75 sayfalık OAuth 2.0 spesifikasyonunun tamamını okuyabilirsiniz, ancak buna ihtiyacınız yok. Kullanmanız için bazı harika kütüphaneler var.

iOS, OAuth2 için yerleşik desteğe sahiptir. Corrina Krych'in Swift ile OAuth 2.0'ı kullanma konusunda çok faydalı bir öğreticisi var. Nasıl jeton alacağınız, görünümleri uygulamanıza nasıl entegre edeceğiniz ve jetonlarınızı nerede saklayacağınız konusunda size yol gösterir.

Android ayrıca OAuth2 için yerleşik desteğe sahiptir. İOS'a odaklandığım için o kadar aşina olmadığımı itiraf etmeliyim, ancak belgelerde size örnekler gösterecek bazı iyi bölümler ve bunu daha da kolaylaştırmak için bazı açık kaynak kitaplıkları var.

JavaScript, OAuth2 için yerleşik desteğe sahip değildir, ancak tüm büyük JavaScript kitaplıkları için istemciler vardır. React, OAuth2'yi tamamen destekler. AngularJS, birçok proje için OAuth2.0 için üçüncü taraf desteğine sahiptir. Hatta bir tanesini yazdım.

Bir OAuth2 istemciniz olduğunda, bir sağlayıcı seçmeniz gerekir.

Kime güveniyorsun?

Buradaki büyük varsayım, Facebook'a Spotify'dan daha fazla güvendiğimdir. Bunun için iyi bir nedenim yok. Facebook iç güvenliğini herkese açık hale getirmiyor ve bunu denetlemem için iyi bir yol yok. Spotify'da da yok. OAuth2 güvenliği için Tüketici Raporu yok. Temelde Facebook'a güveniyorum çünkü daha büyük. Facebook'a güveniyorum çünkü başkaları güveniyor.

Ayrıca “Facebook ile Giriş Yap” düğmesine her tıkladığımda Facebook'a daha çok güveniyorum. Facebook şifremi kaybederse, bilgisayar korsanları yalnızca Facebook hesabıma değil, aynı zamanda Spotify hesabıma ve Facebook hesabımla giriş yaptığım diğer hizmetlere de erişebilir. İyi tarafı, sorunu çözmek için şifremi sıfırlamam gereken tek bir yer var.

Facebook'a güvenmek zorunda değilim ama birine güvenmek zorundayım. Birinin beni doğrulaması gerekiyor. Güvendiğim sağlayıcıyı seçmem gerekiyor.

OAuth2 Sağlayıcı Seçme

Wikipedia, OAuth sağlayıcılarının bir listesini tutar, ancak çoğunu umursamazsınız. En büyükleri Facebook ve Google. Amazon veya Microsoft'a da bakmak isteyebilirsiniz.

Dördü de büyük ve entegre edilmesi kolay. Facebook, bir uygulamayı kaydetmek için talimatlar sağlar. Google'ın benzer adımları vardır. Temel fikir, bir geliştirici hesabı oluşturmanız ve ardından bir uygulama kimliği oluşturmanızdır. Sağlayıcı daha sonra size istekte bulunmak için kullanabileceğiniz bir müşteri kimliği verir.

Ayrıca birden fazla sağlayıcı seçebilirsiniz. Quora, Facebook veya Google ile giriş yapmanızı sağlar; ikisi de OAuth2 kullandığından, her ikisi için de aynı kodu kullanabilirsiniz.

OAuth2'de Neler Eksik

OAuth2, karmaşık bir sorunu çözme konusunda çok iyi bir iş çıkarıyor, ancak birkaç şey eksik:

  • Standart tamamen standart değildir. Birkaç if ifadesi olmadan hem Facebook'ta hem de Google'da oturum açabilen tek bir OAuth2 istemcisi yazamadım. Her biri belirtimi farklı şekilde yorumlar ve her biri için çok az farklı ayrıntı vardır. Ayrıca, hangi kapsamların sağlanacağı konusunda her zaman farklı fikirleri vardır. OAuth2 ile entegre etmek için bir kitaplık kullanmak bu soruna çok yardımcı olur, ancak uygulamanızın kodunda asla %100 şeffaf olmayacaktır.
  • Oturumu kapatmak zor. . OAuth2 kullanan her uygulama veya web sitesinde bir çıkış düğmesi bulunur, ancak çoğu jetonları geçersiz kılmadan unutur. Uygulama, mevcut tüm jetonlarınızı unutacak ve başka birinin giriş yapmasına izin verecek, ancak jetonlarınız hala geçerli. Bir bilgisayar korsanı jetonunuzu çaldıysa, yine de kullanabilir ve sizin adınıza oturum açabilir.

OAuth2 belirteçlerini geçersiz kılmak için ayrı bir belirtim vardır, ancak çoğu büyük sağlayıcı tarafından alınmamıştır. OAuth2, bir bilgisayar korsanı yenileme simgenizi alırsa kurtarmanın bir yolunu sağlamaz; Belirtecin yerel kopyasını silebilseniz bile, bilgisayar korsanı yine de ona sahip olacaktır. Birçok sağlayıcı size hesabınızı askıya almanın bir yolunu sunar, ancak bunu yapmanın standart bir yolu yoktur.

OAuth2'nin savunmasında bu zor bir sorundur, çünkü birçok sağlayıcı durumsuz belirteçler oluşturmak için ortak anahtar şifrelemesi kullanır. Bu, sunucunun oluşturduğu jetonları hatırlamadığı ve daha sonra onları unutamayacağı anlamına gelir.

OAuth2 ile ilgili diğer büyük sorun, sağlayıcınıza bağımlı olmanızdır. Facebook kapandığında, uygulamanızdaki “Facebook ile Giriş Yap” düğmesi de düşer. Google, OAuth2'yi desteklemek için sizden ücret almaya karar verirse veya kârınızı onunla paylaşmanızı talep ederse, yapabileceğiniz hiçbir şey yoktur. Bu, bir sağlayıcıya güvenmenin iki ucu keskin kılıcıdır: Sizin için çok şey yapıyorlar, ancak kullanıcılarınız üzerinde kontrolleri var.

OAuth2 Dünyayı Yönetiyor

Birkaç eksik özellik ve büyük bir bağımlılık olsa bile, OAuth2 hala mükemmel bir seçimdir. Kullanıcıların uygulamanızda oturum açmasını, her web sitesi için bir parola hatırlamak zorunda kalmamasını ve güvenliğinize güvenmesini kolaylaştırır. OAuth2 çok popüler bir seçimdir. Sektöre hakimdir. OAuth2'nin benimsenmesine başka hiçbir güvenlik protokolü yaklaşmaz.

Artık OAuth2'nin nereden geldiğini ve nasıl çalıştığını biliyorsunuz. Kime güveneceğiniz konusunda akıllı seçimler yapın, şifreli parolaların güvenli bir şekilde saklanmasıyla ilgili makaleleri okumayı bırakın ve zamanınızın çoğunu harika uygulamanızı yazmaya harcayın.