SORU
19 Aralık 2009, CUMARTESİ


Mobil uygulamalar OAuth sırları

OAuth protokolünü kullanırken, gizli bir dize için temsilci seçmek istediğiniz hizmeti elde gerekir. Eğer bunu bir web uygulaması, sadece mağaza içinde gizli veri tabanı veya dosya sistemi, ama ne olduğunu en iyi şekilde işlemek için bir mobil uygulama (veya bir masaüstü uygulaması için bu konuda)?

App dize saklamak birini kolayca bulmak ve istismar gibi belli ki iyi değil.

Başka bir yaklaşıma server üzerinde store ve app her koş getir, asla telefonda saklamak olacaktır. Bu app URL eklemek zorunda çünkü neredeyse kötü.

Tek uygulanabilir çözüm ben kadar gelebilir. ilk elde Erişim simgesi olarak normal (tercihen kullanarak bir web görünümü içinde app), ve sonra rota daha fazla iletişim yoluyla sunucumuz, hangisi Ekle sırrı isteği veri ve iletişim ile sağlayıcı. Sonra tekrar, gerçekten bilgili insanların bu konuda. fikirlerini duymak isterim, böylece güvenlik bir çaylak değilim, En uygulamalar bana garanti güvenlik için bu kadar ileri (örneğin, Facebook uygulamanızda bir dize içine doğru sırrı koymak farz gibi görünüyor Bağlan) olacak gibi görünmüyor.

Başka bir şey: kendi sunucumuz dahil olmadan yapılabilir, böylece başlangıçta gizli Erişim Belirteci isteyen katılır inanmıyorum. Doğru muyum?

CEVAP
19 Aralık 2009, CUMARTESİ


Evet, bu kendimize karşı karşıya olduğumuzu OAuth tasarımı ile ilgili bir sorun. Kendi sunucusu üzerinden tüm aramaları proxy için seçtik. OAuth tamamen masaüstü uygulamaları açısından sürsem değildi. OAuth değiştirmeden bulduğum bu sorun için çözüm kaymakam yok.

Eğer düşünürseniz bu sırlar var neden soruyorsun, çoğunlukla hüküm ve uygulamalar devre dışı. Eğer sırrımızı boşluğu varsa, sağlayıcı sadece gerçekten tüm uygulama iptal edebilirsiniz. Masaüstü uygulaması içinde bizim gizli gömmek zorunda olduğumuza göre, biraz saçma.

Çözüm her masaüstü uygulaması için farklı bir sırrı var. OAuth bu kavram kolaylaştırmıyor. Bir yolu var kullanıcı gidip oluşturun bir sır kendi ve enter tuşuna kendi içine masaüstü uygulaması (bazı facebook Uygulamaları yaptım benzer bir şey için uzun bir süre olan kullanıcı gidip facebook oluşturmak için Kur kendi özel quizler falan). Kullanıcı için büyük bir deneyim değil.

OAuth için bir temsilci sistem önerisi üzerinde çalışıyorum. Bu kavramı kullanarak kendi gizli anahtarı bulursak bizim sağlayıcı ederiz, sorun bizim kendi temsilci sırrı bizim kendi masaüstü istemcisi (bir için her masaüstü uygulaması temel olarak) ve daha sonra sırasında kimlik doğrulama işlemi gönderdiğimiz anahtar üzerinde en üst seviyeye sağlayıcı çağrıları geri bize ve yeniden doğrular bize. Her masaüstü istemcisi için biz sorunu kendi sırlarını iptal edebiliriz bu şekilde. (SSL bu nasıl bir sürü borç). Bütün bu sistem üçüncü parti bir Java Eklentisi için çağrılarda geçmesi, katma değerli web hizmetleri için de kaymakam olur.

Bu süreç aynı zamanda üst düzey sağlayıcı ve yeni temsilci sırları iptal oluşturmak için bir API sağlar Eğer heyet doğrulama geri olmadan yapılabilir. Facebook Uygulamaları facebook kullanıcıları alt uygulamalar oluşturmak için izin vererek benzer bir şey yapıyor.

Sorun online hakkında bazı görüşmeler vardır:

http://blog.atebits.com/2009/02/fixing-oauth/ http://groups.google.com/group/twitter-development-talk/browse_thread/thread/629b03475a3d78a1/de1071bf4b820c14#de1071bf4b820c14

Twitter ve İnlemek çözüm kimlik doğrulama pin bir çözümdür: https://dev.twitter.com/oauth/pin-based https://www.yammer.com/api_oauth_security_addendum.html

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • eHow

    eHow

    27 NİSAN 2006
  • oHeymarvin

    oHeymarvin

    11 Temmuz 2013
  • UKF

    UKF

    2 Aralık 2009