OAuth Programlama: Şifreleri Kullanmayın, Bunu Kullanın

Bilgilendirme: Desteğiniz sitenin çalışmaya devam etmesine yardımcı oluyor! Bu sayfada önerdiğimiz hizmetlerden bazıları için bir başvuru ücreti alıyoruz.


OAuth, kullanıcıların uygulamalara kullanıcının şifresini bildirmek zorunda kalmadan iki farklı uygulamanın kullanıcı adına birbirleriyle iletişim kurmasını sağlayan bir sistemdir. Şüphesiz bu sistemi birçok kez kullandınız, ancak bilmiyor olabilirsiniz. Örneğin, bazı yorum sistemleri Facebook veya Google+ hesabınızla oturum açmanıza izin verir. Bu OAuth ile yapılır.

OAuth Nasıl Çalışır?

Bir WordPress blogunuz olduğunu ve her makale yayınladığınızda bunun bir duyuruyu otomatik olarak tweet atmasını istediğinizi düşünün. Böylece WP to Twitter eklentisini kullanıyorsunuz. Eklentiye Twitter şifrenizi söylemek yerine OAuth’u kullanırsınız.

WP’ye Twitter’a hesabınızı kullanarak tweet göndermesini istediğinizi söyleyerek başlarsınız. Twitter’dan WP Twitter’a gidiyor ve izin istiyor. Twitter, WP’ye Twitter’a bir simge verir, bu da size Twitter’a gitme ve isteği yetkilendirme talimatları ile birlikte verir. Bunu yaptıktan sonra, WP’den Twitter’a sizin için tweet gönderebilir.

OAuth’un Kısa Tarihi

2006 yılında, Twitter, kullanıcıların internette birçok farklı hesaba giriş yapmak için kullanabilecekleri tek bir kimliğe sahip olmalarına izin veren yaygın olarak kullanılan bir sistem olan OpenID’yi uygulama sürecindeydi. Ancak, bir erişim delegasyon API’sının oluşturulmasına izin verecek açık standartlara sahip değildi. Böylece, geliştiricilerin web sitelerinin belirli yönlerine erişim isteyen ve onlara erişim sağlayacak uygulamalar oluşturmalarına izin verecek OAuth üzerinde çalışmaya başladılar.

İlk şartname olan OAuth 1.0, 2007’de piyasaya sürüldü, ancak 2010 yılına kadar resmi değildi. Çok kullanışlı bir sistem olmasına ve yaygın olarak kullanılmasına rağmen, mobil cihazlarla kullanımı da dahil olmak üzere belirli kullanımlar için iyi tasarlanmamıştır. Böylece 2012’de OAuth 2.0 piyasaya sürüldü. İki sürüm uyumlu değil. Ancak OAuth 2.0 daha güvenlidir ve telefonlar ve hatta cihazlar da dahil olmak üzere farklı cihaz türleri için “yetkilendirme akışları” ile tasarlanmıştır..

tartışma

Eran Hammer, OAuth 1.0’ın geliştirilmesinde yer alan ana kişilerden biriydi. OAuth 2.0’da da yer aldı, ancak resmi yayınlanmasından kısa bir süre önce projeyle ayrıldı. Ve OAuth’un her iki versiyonundan da o kadar mutsuzdu (ki yaptığı bir konuşmada iş için güvenli değil), kendi yerine koydu, Oz’u yarattı..

OAuth’a Genel Bakış

Kendi uygulamalarınıza OAuth eklemeye çalışmadan önce, sisteme genel bir bakış elde etmek iyi bir fikirdir.

  • Hueniverse OAuth Giriş: Eran Hammer’ın OAuth 1.0’a açık tanıtımı.
  • Aptallar için OAuth: Mark Trapp tarafından OAuth 1.0’ın kuş bakışı görünümü.
  • OAuth 2.0 ile tanışın: OAuth’un çeşitli sürümleri arasındaki farklara mükemmel bir genel bakış.
  • 8 Adımda OAuth2 Eğitim Önizlemesi: Örnekler için PHP kullanarak OAuth’a kısa bir genel bakış.

OAuth’a Başlarken

OAuth bir geliştirme platformu değildir. Başka bir uygulamanın parçası olarak kullanacağınız bir araçtır. Örneğin, yalnızca bir kullanıcının Facebook hesabına erişebilen bir program yazmak istemezsiniz. Bunu bir nedenden dolayı yapmak istersiniz. Dolayısıyla, bu sayfayı okuyorsanız, yukarıda tartıştığımız blog tweet eklentisi gibi çalışmak için OAuth’un yeteneklerine ihtiyaç duyan bazı uygulamalara sahip olmanız gerekir.

Genel Tanıtım

İşte bazı genel tanıtımlar:

  • OAuth 2 Basitleştirilmiş: Aaron Parecki’nin geliştirme sürecine genel bir bakış.
  • OAuth Kodlama Örnekleri: birçok farklı dilde çeşitli örnekler.
  • Belgeler Örnek Kodu: genel kod örnekleri ve belirli hizmetler için bazılarını okuyun. Aşağıdakiler için örnekler içerir:
    • Bitbucket
    • GitHub
    • Google
    • Facebook
    • LinkedIn
    • Tumblr

Özel Hizmetler

Genellikle, OAuth kullanmak bağlanmak istediğiniz servise bağlıdır. Çoğu hizmetin kendi tuhaflıkları ve uzantıları vardır. Aşağıda, bir dizi popüler hizmet için öğreticiler ekledik:

  • OAuth’u Twitter ile Kullanma: OAuth’a çeşitli dillerde örneklerle kapsamlı bir giriş.
  • Yahoo! OAuth Kodlama Örnekleri: BOSS API’sını kullanan OAuth örnekleri.
  • Google OAuth Tüketici: İki ve üç ayaklı OAuth için PHP kodu.
  • OAuth2 Kimlik Doğrulaması: Facebook hesabı ile giriş yapın.
  • Facebook İletişim Kutusu OAuth Eğitimi: PHP ve Python kullanarak kapsamlı bir örnek.

Gelişmiş OAuth Kodlaması

OAuth’un temellerini öğrendikten sonra, öğrenmeye devam etmenin birkaç yolu vardır.

Kitabın

OAuth hakkında gerçekten ciddi olmak istiyorsanız, muhtemelen bu konuda bir kitap almalısınız. Bunlara kapsamlı bir giriş sağlayan bir dizi var..

  • Ryan Boyd tarafından OAuth 2.0’a Başlarken: mobil cihazlarda bir bölüm de dahil olmak üzere OAuth’un birçok özelliğini kapsayan çok kısa bir tanıtım.
  • OAuth 2.0: Matthias Biehl tarafından API Güvenliğine Başlarken: güvenliği vurgulayan ve OAuth’u OpenID ile karşılaştıran başka bir kısa kitap.
  • Charles Bihis tarafından OAuth 2.0’da ustalaşmak: en büyük hizmetleri kullanan örneklerle kapsamlı bir giriş.
  • Gelişmiş API Güvenliği: Prabath Siriwardena tarafından OAuth 2.0, OpenID Connect, JWS ve JWE ile API’lerin güvenliği: çeşitli protokollerin çeşitli sürümlerine bakan güvenlik hakkında genel bir kitap.

Çevrimiçi Forumlar

OAuth ile ilgili genel çevrimiçi forumlar için fazla bir şey yoktur. Genel olarak forumlar belirli hizmetlere odaklanır.

  • Stack Overflow OAuth Etiketli Makaleler: tonlarca bilgili insanlarla dolu, soruları programlamak için nihai site.
  • Getty Image API Forumları: Getty Images API hakkında bilgi, ancak birçok yararlı bilgi.
  • Yahoo! OAuth Yetkilendirme Modeli: Yahoo! Arama aracı ile Geliştirme Ağı.

OAuth Araçları

Bir dizi hizmet OAuth’u kolaylaştırmak için araçlar sağlar.

  • OAuth 1.0 Protokolü: orijinal protokol.
  • OAuth 2.0: spesifikasyonun son versiyonu ve mevcut kütüphanelerin listesi.
  • Google API’larına erişmek için OAuth 2.0’ı kullanma: Google’ın OAuth 2.0 Playground dahil mükemmel kaynağı.

Kütüphaneler

Kütüphanelerin daha kapsamlı bir listesi için oauth.net adresine bakın. İşte OAuth 1.0 için bazıları da dahil olmak üzere ekstra olanlar:

  • PHP.net OAuth: nesne yönelimli OAuth 1.0 kütüphanesi.
  • Ruby için OAuth: OAuth istemcilerini ve sunucularını uygulamak için bir RubyGem.
  • OAuth2 C # kitaplıkları: birçok C # kitaplığı vardır.
  • Oauth 1.0.1: OAuth 1.0 için Python kütüphanesi.

İleriye gidiyor

OAuth kendi başına bir amaç değil, programlarınıza daha fazla güç katmanıza izin veren bir araç olduğundan, bunu yaparak öğrenebilirsiniz. Başlamanız ve sisteme girmenize izin vermeniz için burada birçok kaynak sunduk. Nasıl kullanacağınız size kalmış.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me