SORU
17 Aralık 2012, PAZARTESİ


GERİSİ Giriş Desen API

Apı, Google önerileri yakından takip, isim fiiller, apı sürümü url içine pişmiş kullanarak değil, koleksiyon için iki apı yolları, SİLMEK kullanımı, vb SONRASI ortaya koyduğu bir DİNLENME yaratıyorum.

Giriş sistemi üzerinde çalışıyorum, ama uygun DİNLENME emin kullanıcılar giriş yolu. Bu noktada, sadece giriş örüntü veya akış güvenliği üzerinde çalışıyorum. (Daha sonra biz 2 adım oAuth, bir HMAC, vb) ekleyerek olacaktır

Olası Seçenekler

  • https://api...com/v1/login.json gibi bir şey için bir POST
  • A https://api...com/v1/users.json gibi bir şey KOYMAK
  • Bir şey var ama

Kullanıcılar giriş için uygun DİNLENME tarzı nedir?

CEVAP
25 Aralık 2012, Salı


Principled Design of the Modern Web Architecture by Roy T. Fielding and Richard N. Taylor, yani eserleri dizisi tüm DİNLENME terminoloji geldi, istemci-sunucu tanımı içeren etkileşim:

Tüm etkileşimlerivatansız. Diğer bir deyişle, heristek içerir anlamak için bir bağlayıcı için gerekli tüm bilgileri, istek, öncesinde herhangi bir istekleri bağımsız.

Bu kısıtlama dört işlevleri gerçekleştirir, 1. ve 3. Bu durumda önemli

  • 1:bağlayıcıların uygulama durumu korumak için herhangi bir ihtiyacını ortadan kaldırır istekleri arasındaböylece tüketimi fiziksel kaynakların ve iyileştirilmesi ölçülebilirlik;
  • 3: görüntülemek için . bir aracı sağlar ^strong>izolasyon isteğini anlıyorum, hizmetleri dinamik olarak yeniden gerekli olabilir;

Ve şimdi sağlar güvenlik davanızı geri dön. Her isteği içeren gerekli tüm bilgiler ve yetkilendirme/kimlik doğrulaması bir istisna değildir. Nasıl bunu başarmak için? Tam anlamıyla her isteği ile teller üzerinde tüm gerekli bilgileri gönderin.

Bu archeive nasıl örneklerinden biri hash-based message authentication code or HMAC. Pratikte bu her istek için geçerli iletinin karma bir kod ekleyerek anlamına gelir. Karma kodu ile hesaplanırşifreleme karma işlevibir ile birliktegizli şifreleme anahtarı.Şifreleme karma işleviya önceden ya da bir bölümünükod-isteğe bağlıGebe (örneğin JavaScript).Gizli şifreleme anahtarıkaynak olarak istemciye sunucu tarafından sağlanmalı, ve müşteri her talebi için karma kodu hesaplamak için kullanır.

Çok örnekleri vardırHMACuygulamalar, ancak aşağıdaki üç dikkat etmek istiyorum:

Uygulamada nasıl

Eğer istemci gizli anahtarı bilen varsa, o zaman kaynakları ile çalışmaya hazırdır. Aksi takdirde geçici olarak yönlendirilen (307 (Geçici Yeniden Yönlendirme durum kodu) yetki ve gizli anahtarı elde etmek için, ve sonra orijinal kaynağa geri yönlendirileceksiniz. Bu durumda varmüşterimiz için yetki URL ne olduğunu önceden bilmek gerekir (bir yere yani koda)mümkün zamanla bu şema ayarlamak için , ve.

Bu uygun bir çözüm bulmak için size yardımcı olur umarım!

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DONFANTASTICKYPESS

    DONFANTASTIC

    1 Temmuz 2007
  • Eric Enge

    Eric Enge

    2 Kasım 2009
  • TheJoeycool2010

    TheJoeycool2

    12 Temmuz 2010