OAuth (Açık Yetkilendirme) tam olarak nedir?
OAuth, bir kaynak sağlayıcısına (örneğin Facebook) kaynak sahibinin (örneğin siz) üçüncü taraflara (örneğin bir Facebook Uygulaması) bilgilerine (örn. Arkadaşlarınızın listesi ) erişmesine izin verdiğini bildirmesine izin verir .
Eğer açıkça ifade ederseniz, karışıklığınızı anlarım. Şimdi somut bir örnekle devam edelim: bir başka sosyal ağa katılmak!
Mevcut bir GMail hesabınız olduğunu varsayalım. LinkedIn'e katılın ve LinkedIn'e katılın. Birçok arkadaşınızın tümünü manuel olarak eklemek yorucu ve hataya açıktır. Davet için e-posta adreslerine yarıdan binebilir veya yazım hatası ekleyebilirsiniz. Sonuçta hesap oluşturmamaya cazip gelebilirsiniz.
Bu durumla karşı karşıya olan LinkedIn, arkadaşlarınızın listesini otomatik olarak ekleyen bir program yazmak için İyi Fikir'e (TM) sahiptir, çünkü bilgisayarlar yorucu ve hataya eğilimli görevlerde çok daha verimli ve etkilidir. Ağa katılmak artık çok kolay olduğundan, böyle bir teklifi reddetmenin bir yolu yok , şimdi olur mu?
Bu kişi listesini değiştirmek için bir API olmadan, LinkedIn'e GMail hesabınıza kullanıcı adını ve şifreyi vermeniz, böylece onlara çok fazla güç vermeniz gerekir .
OAuth devreye giriyor. GMail'iniz OAuth protokolünü destekliyorsa LinkedIn, GMail kişiler listenize erişmeleri için onları yetkilendirmenizi isteyebilir.
OAuth şunları sağlar:
- Farklı erişim seviyeleri: salt okunur VS okuma-yazma. Bu, kullanıcı listenize erişim veya yeni LinkedIn arkadaşlarınızı GMail kişilerinizle otomatik olarak senkronize etmek için iki yönlü erişim izni vermenizi sağlar.
- Erişim ayrıntı düzeyi: yalnızca iletişim bilgilerinize (kullanıcı adı, e-posta, doğum tarihi vb.) Veya tüm arkadaş listenize, takviminize ve nelere izin vermemeye karar verebilirsiniz.
- Kaynak sağlayıcısının uygulamasından erişimi yönetmenizi sağlar. Üçüncü taraf uygulaması, erişimi iptal etmek için bir mekanizma sağlamazsa, bilgilerinize erişimi olan kullanıcılara takılırsınız. OAuth ile, erişimi istediğiniz zaman iptal etme hükmü vardır.
Yakın gelecekte fiili (standart?) Olacak mı?
OAuth ileriye doğru önemli bir adım olsa da, insanlar doğru kullanmazsa sorunları çözmez. Örneğin, bir kaynak sağlayıcı tüm kaynaklarınıza aynı anda yalnızca tek bir okuma-yazma erişim düzeyi verirse ve erişimi yönetmek için bir mekanizma sağlamazsa, bunun bir anlamı yoktur. Başka bir deyişle, OAuth yalnızca kimlik doğrulama değil, yetkilendirme işlevselliği sağlayan bir çerçevedir.
Uygulamada sosyal ağ modeline çok iyi uyuyor. Özellikle üçüncü taraf "eklentilerine" izin vermek isteyen sosyal ağlar için popülerdir. Bu, kaynaklara erişimin doğası gereği gerekli olduğu ve aynı zamanda doğası gereği güvenilir olmadığı bir alandır (yani, bu uygulamalar üzerinde çok az kalite kontrolünüz vardır veya hiç yoktur).
Vahşi doğada bu kadar çok kullanım görmedim. Ben her ne kadar ben, otomatik olarak banka kayıtları erişecek bir online finansal danışmanlık firması bilmiyorum demek olabilir teknik olarak yol olduğunu kullanılabilir.