Anasayfa » Internet » OAuth Connect nedir ve nasıl kullanılır?

    OAuth Connect nedir ve nasıl kullanılır?

    Birçoğumuz Web'de gezinirken OAuth ile bağlantı kurduk ve çoğumuz onun varlığının farkında bile değiliz. OAuth (Açık Kimlik Doğrulama), üçüncü taraf web sitelerine, Twitter veya Facebook hesaplarınız gibi kullanıcı hesaplarına sınırlı erişim sağlayan bir sistemdir. Yeni hesap kaydı gerektirmeden veya kullanıcı adınızı ve şifrenizi üçüncü taraflara bırakmadan ziyaretçilerin site içinde etkileşime girmelerini sağlar.

    Bu rehberde OAuth kavramını ve geliştiricilere nasıl uygulanabileceğini tanıtmak istiyorum. Kendi OAuth başvurunuzun uygulanmasında yer alan birçok teknik detay bulunmaktadır. Örneğim PHP'de bir Twitter kitaplığı sargısı kullanılarak yazılacak, ancak Python'dan Ruby ya da Objective-C'ye kadar neredeyse tüm popüler programlama API'larını kullanabilirsiniz..

    Kavram şifreli olsa bile, olabildiğince sindirmeye çalış. Hala çok gizemli bir teknoloji, 2007'de yeniden tasarlandı. İlk birkaç dersimden sonra bile tam OAuth Bağlantılarını nasıl geliştireceğimi kesinlikle anlamadım ama hızlı bir şekilde devam edersiniz. Şimdi ilk şeyleri başlatmak için küçük bir giriş!

    Ne Sorunları Çözebiliriz??

    İnternete ne kadar bağlı hale geldiğini düşünüyorsanız, yalnızca kullanıcıların Facebook'tan Twitter, Tumblr, Foursquare'e ve şimdi bile Path veya Instagram gibi mobil uygulamalara bilgi paylaşımı yapmak isteyecekleri mantıklıdır. Şimdi karşılaştığımız sorun, bunu mümkün olan en güvenli ve en basit şekilde nasıl gerçekleştireceğimiz. OAuth 1.0, eski OpenID standartlarına kıyasla, bu ve diğer birçok sorunu çözme girişimidir. Kullanıcılar, sadece OpenID'ye bağlanmak için kullanıcı adlarını / şifrelerini diğer üçüncü taraf web sitelerine girmeye devam ediyor. Bu kullanıcı için daha güvenli yapmaz. OAuth'un özelliklerine göre, kullanıcının hiçbir zaman kişisel hesap verilerini üçüncü taraf bir veritabanına kaydetmesi gerekmez..

    (Resim Kaynağı: Martin Hassman)

    OAuth ile ana hesap sağlayıcısı (örneğin Twitter, Facebook) önce sizi (kullanıcı) bir yetkilendirme sayfasına yönlendirir. Kullanıcı daha sonra ana ağa giriş yapar ve daha sonra üçüncü taraf web sitesine yeni bir bağlantıyı kabul eder veya reddeder. Teknoloji ağrısızdır kolaydır ve hesap ayarlarınızdaki bağlantıları istediğiniz zaman izinsiz olarak bırakabilirsiniz. Şifrenizin asla üçüncü tarafa verilmediğine dikkat edin, bu protokolü, emsalinden çok daha güvenli hale getirir.

    İşlem Nasıl Çalışıyor?

    Standart bir OAuth çağrısında dikkate alınması gereken 3 taraf vardır:

    • Servis sağlayıcı - Veri almaya çalıştığınız ana ağ. Kullanıcı adınız, profil resminiz, web sitenizin URL'si ve diğer şeyler gibi API yanıtı sağlarlar.
    • Tüketici - 3. parti uygulaması veri almak istiyor. Bu, ilk bağlantı talebini yapan web sitesi veya mobil uygulama olacaktır, ayrıca yetkilendirme sonrasında iade verilerini de işler..
    • kullanıcı - Bilgisayarın arkasında oturan kişi, sizin olacak web siteleriyle etkileşime girer.!

    OAuth'un amacı, web sitelerinin kullanması için belirli bir kitaplık sağlamak değildir. Aslında o kurar “kurallar” açık protokol API oluşturmak için. Bu yüzden, bu teknolojiden hepimiz yararlanabilirken aslında bu alana gerçekten ilgi duyacak geliştiriciler var. Daha fazla bilgiye ihtiyacınız olursa, Nisan 2010'da yayımlanan gözden geçirilmiş v1.0 sürümünü inceleyin..

    Karşılıklı Güvenlik

    Tüm süreç sonuçta bir erişim belirtecinin yanında 2 farklı anahtar gerektiriyor. Anahtarlar, bir uygulamayı kaydettikten sonra root servisi tarafından verilir - bunlar sizin müşteri ve gizli kimlik. Müşteri kimliği genellikle Kimlik Doğrulama URL’sine iletilir, böylece sunucu uygulamanızı tanıyabilir.

    Gizli kimlik kodunuzda tutulur, böylece sunucu uygulamanızın kimliğini doğrulayabilir. Benzer şekilde, uzak sunucu gizli kimliğinizi kendikiyle eşleştirecektir, böylece yanlışlıkla yanlışlıkla Facebook'un API'sine bir twitter isteği göndermezsiniz, ya da tam tersi. Kullanıcı bağlantıyı onaylarsa ve tüm tuşlar eşleşirse, web sitenize uzun bir rasgele sayı ve harf kodu ile geri gönderilir.

    Bu kod yeni bir tane üretmek için kullanılır. erişim belirteci. Bunlar, kullanıcının web sitenize giriş yapmasını sağlamak için bir çerezde saklayabileceğiniz bir oturum değişkenine benzer şekilde davranır. Tek fark, birçok hizmetin bir Erişim Simgesi ve Gizli Erişim Simgesi göndermesidir. Sunucudan herhangi bir veri çekmek için her ikisine de ihtiyacınız olabilir. Bir örnek, kullanıcının profil fotoğrafını bir kopyasını kendi web sitenize kaydetmesini isteyebilir..

    Twitter için Örnek Kitaplık OAuth

    Geliştiricilerin sıfırdan başlaması pek muhtemel değildir, bu yüzden neden önceden oluşturulmuş bir kütüphaneye bakmıyorsunuz? PHP ile çalışırken bu bize zamanımızı ve baş ağrılarından kurtaracak. Twitter API'sinin üstüne gerçekten basit bir örnek oluşturmaya göz atalım.

    GitHub'da Jaisen Mathai tarafından Twitter Async'i tavsiye ederim. Mükemmel çalışıyor ve hatta bakabileceğimiz bazı basit örnek kodlar sağlıyor. Şimdilik .zip dosyasını indirebilirsiniz, ancak koda bakmadan önce Twitter'dan uygulama kimliklerini kaydetmemiz ve kaydetmemiz gerekir.

    Yeni Bir Başvuru Kaydetmek

    Twitter Geliştirme Merkezi, API'ye yeni başlayanlar için harika bir kaynak. Birkaç yıl boyunca defalarca yazılmıştır ve yeniden yazılmıştır. İstediğimiz sayfa https://dev.twitter.com/apps/new. İlk önce giriş yapmanız istenecek, ardından yeni bir uygulama için bazı bilgiler girmeniz gerekecektir..

    Kullanıcı Twitter ile yetkilendirmeye gittiğinde, Uygulama adı ve açıklaması görüntülenir. Web URL’niz üçüncü taraf adresini ayırt etmek için de önemlidir. Test etmek için localhost kullanabilseniz de, canlı bir etki alanıyla çalışmak daha kolay olurdu, ancak bu yöntemi desteklemiyorum. Ücretsiz bir web sunucusuna kaydolmak ve komut dosyalarınızı oradan çalıştırmak kadar kolay.

    Geri arama URL'si, ziyaretçileriniz yetkilendirmeyi kabul ettikten veya reddettikten sonra son hedef olarak belirtilir. Twitter'dan gelen yanıtı okumak ve buna göre bir mesaj iletmek programcı olarak sizin işiniz. Async kütüphanesinde zaten bazı kimlik bilgilerimiz var, ancak geri arama URL'si harici bir blogda belirtildiği için çalışmayacaklar. Tamamen bağlı bir OAuth web uygulaması oluşturmakla ilgileniyorsanız, aşağıda bazı ayrıntılı öğreticileri ekledim.

    Kodu inceleyin

    Uzak bir web barındırma kullanıyorsanız, Async kitaplıklarını açmak ve yeni bir dizine yüklemek isteyebilirsiniz. Aksi takdirde kaynak kodunu kontrol edebilirsiniz. Muhtemelen zaten yeni bir bağlantı kuramayacağız. Ancak kaynak kodu yükleme ve düzenleme konusunda uygulamalı deneyim her zaman bir öğrenme sürecidir.

    Kök dizinde adlı bir betiği bulacaksınız. simpleTest.php. İçinde dahil OAuth kütüphaneleri ile ilgili bir sürü PHP kodu var. Hepsini sizin için bir araya getiremem, ancak kayda değer ayrıntıları tam olarak belirlemek için önemli bir kod bloğuna bakmalıyız..

     

    Müşteri anahtarı ve gizli kimliği için, belirteç ve gizli belirteç kimliği ile birlikte çok önemli 4 değişken vardır. Tüm API hizmetleri bu 4'lü seti gerektirmez, ancak uygun OAuth protokolüdür. EpiTwitter sınıfı parametre olarak 4 değerin tümünü gerektirir ve Twitter'da bağlantı URL'sini oluşturur.

    https://api.twitter.com/oauth/authorize?oauth_token=TOKEN_ID_HERE

    Bu yeni dinamik URL ile kullanıcılarınız için bir giriş butonu oluşturabilirsiniz. Bu, onları ilk önce, kullanıcının bağlantınızı kabul ettiği veya reddettiği güvenli bir Twitter API sayfasına yönlendirir. Seçiminden bağımsız olarak kullanıcı daha sonra uygulama geri arama URL'nize yönlendirilir. Açık protokolün tamamı, özellikle pratikte her dilde mevcut olan kütüphaneler ile hızlı gelişim için çok temiz bir perspektife sahiptir..

    İlgili Bağlantılar

    • hueniverse oauth 1.0 kılavuzu
    • OAuth'a Nazik Giriş
    • OAuth SSS
    • Facebook Kimlik Doğrulama Geliştirici Kılavuzu
    • Basit Twitter OAuth Oturum Açma
    • CocoA Objective-C'de OAuth'u Twitter İle Kullanma
    • Raylarda Akıllı OAuth Tüketmek

    Sonuç

    Umarım, OAuth’a bu giriş, protokol üzerinden uygulama oluşturmakla ilgilenmenize neden olmuştur. Birçok geliştirici tam da böyle bir çözüm için çabalıyor ve OAuth 2.0, birbirine bağlı sosyal ağların geleceği olabilir. Twitter hesabımda iki düzineden fazla bağlantı kullandım ve geliştiricinin dokümantasyonundan gerçekten etkilendim.!

    Açıkçası bu konuda söylenecek çok şey var. Bir oturuşta tamamen işleyebileceğiniz bir şey değil. Daha fazla OAuth çözümü için internette gezinin ve aşağıdaki tartışma alanındaki düşüncelerinizi bize bildirin.