SORU
28 AĞUSTOS 2010, CUMARTESİ


Dinlendirici bir web hizmeti kimlik doğrulama

Farklı 3. şahıslar tarafından kullanılan Dinlendirici bir web hizmeti API var. Bu API bir parçası kısıtlı (erişim için kullanıcı adı/parola gerekir). Kimlik doğrulaması uygulamak için en iyi yolu ne olacağını merak ediyordum?

Https kullanıyorum, iletişim şifrelenir. İki fikir var:

  • Kullanıcı (yasak) servisi kullanarak başlamadan önce, kullanıcı adı/kullanma SONRASI (https kullanıldığından, kimlik bilgileri şifreli) parolası gönderir. Giriş başarılı olduktan sonra, sunucu bu kullanıcı adı ile eşleşen geri rastgele tek kullanımlık değeri (sapık) gönderir. Bir sonraki isteği yapılıyor, birlikte yan kullanıcı adı, bir istemci, daha önce beş para etmez geri gönderir. Sunucular kullanıcı adı ve sapık ve döner yan istenen veri birlikte yeni sapık maçlar. Her yeni istek, yeni bir seks manyağı kullanır. Temel olarak, bu Özet erişim kimlik doğrulaması hafif bir versiyonu.
  • Bu API 3. parti kullanıldığından, kullanıcı adı/parola (yasak) her istek için kullanılabilir. Https kullanıldığından, şifreli olacak. Bu yaklaşımın düşüşünü bu Dinlendirici uyumlu (POST her zaman kullanılacaktır) olmaz aslında.

Ben çok daha yakın seçimi ilk yaklaşım (Dinlendirici uyumlu, nispeten kolay uygulanması, XML, json veya html kullanılabilir olmadan değişen bir şey), ama görmek istedim sizin fikriniz nedir? Ne tavsiye edersiniz: ilk, ikinci ya da üçüncü yaklaşım?

Btw, sunucu tarafında Python kullanıyorum.

CEVAP
19 HAZİRAN 2011, Pazar


Bu API yapılan gördüğüm tek yönlü (ve yönetmektedir am) Huzurlu bir kaynak oluşturunOturumbir ile oluşturulurPOSTbir kullanıcı adı ve parola malzemeleri.

Bunu hayata geçirdim burada

POST /sessions { Username: "User", Password: "Password" }

Zaman sınırlı bir oturum oluşturmak ve oturum oturum anahtarı değeri ve vade içeren kaynak döner. Ayrıca API istemcileri uygulanmasına kolaylık sağlamak için bir çerez değeri olarak dönmek isteyebilirsiniz.

DELETE /session/{id}

Hemen sona artık kullanılabilir oturumu. Bu oturum kapatmaları Açık için kullanılır.

Ben o kullanıcı da Çerez değeri üzerinden teslim edilmesi için izin verebilirsiniz ama sorgu parametresi üzerinden oturum anahtarı takın, her ikisi için izin tavsiye ederim.

Bu konuda tercih ederim çok kolay olmasıdır.

Belli ki sizin senaryo oturumlarına yönetilmelidir nasıl biraz dikte edecek, belki de zamanın kısıtlı ve son sonsuza kadar değil, ve belki de bir ya da daha fazla güvenlik için karma şifreli.

Eğer her yerde HTTPS kullanıyorsanız muhtemelen çok fazla endişelenmenize gerek yok. Eğer HTTP kullanmak istiyorsanız ancak,, bir karma gibi bir şey boyunca gizli bir anahtar ile kullanmak ve isteği doğrultusunda güvenli bir anahtar oluşturmak için bir zaman damgası söylemek gerekir. Bu şekilde HTTPS üzerinden gizli anahtar paylaşımı ve görüşmeler için HTTP geçin. Eğer birisi bir isteğin anahtarı koklamak için yönetir bile hemen sona erecek ve faydasız olabilir.

Yasal Uyarı: bir güvenlik uzmanı değilim ;-).

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • circuschina

    circuschina

    16 Mart 2007
  • Codecourse

    Codecourse

    3 ŞUBAT 2009
  • The Fashion Sight

    The Fashion

    22 AĞUSTOS 2011