2012-03-01 25 views
5

Şu anda üzerinde çalıştığım REST API'sı için OAuth sürüm 1.0'ı araştırıyorum.Gerçekten 2 aşamalı Oauth nedir

Ben 3 kimlik doğrulama senaryoları

  1. bu 3 taraf söz konusudur, servis sağlayıcı, tüketicinin ve kullanıcı var. 3 aşamalı Oauth bu senaryoyla eşleşiyor.
  2. Tüketiciler ve servis sağlayıcılar arasında 2 taraf bulunur. Bu, 2 aşamalı Oauth'un en uygulanabilir olduğu bir senaryodur ve eğer öyleyse, bu ve HTTP temel kimlik doğrulaması benim anlayışıma dayanan bir fark olmadığı için süreç nedir.
  3. Ayrıca, şu anda oturum açmış olan kullanıcının verilerine her zaman kullanıcının izni olmadan erişebilen özel bir kullanıcı türü oluşturuyorum. OAuth'ı hala uygularken resme bu nasıl sığar?

Bu senaryoları kullanarak? Oauth'u nasıl düzgün bir şekilde uygulayabilirim ve bu, 3 aşamalı ve 2 aşamalı Oauth işlemlerini anlamama nasıl yardımcı olabilir?

+0

Sadece parola yerine erişim belirteci saklarsınız. Böylece, daha güvenli (hiçbir saklanan saklanan) ve erişim uygulama bazında iptal edilebilir (şifrenizin değiştirilmesi o hesaba ihtiyaç duyan tüm uygulamaları bozardı) – aitchnyu

cevap

1

1 Numara: Doğru, yalnızca normal 3 aşamalı oauth akışını kullanın.

Sayı 2. 2 aşamalı oauth, http-temel ile hemen hemen aynıdır, ancak oauth imzası, MITM saldırılarına karşı koruma sağlar (ancak aynı korumayı aldığınızdan TLS üzerinden http-temelini kullanırsanız). 2 aşamalı oauth süreci, yalnızca http temelli bir kullanıcı adı/parola ile eşanlamlı olan tüketici anahtar/sırrı ile talebin imzalanmasıdır.

Numara 3. Burada ne demek istediğiniz konusunda% 100 açık değilim, ancak Google'ın google apps etki alanları için 2 aşamalı oauth özelliğini nasıl kullandığı anlaşılıyor. Belgelerine bir göz atın: https://developers.google.com/accounts/docs/OAuth#GoogleAppsOAuth

OAuth 2.0'a baktınız mı? Hala taslakta, ama farklı senaryolar için çok daha fazla esnekliğe sahip. Düşünecek bir şey olabilir. http://oauth.net/2/

+1

Teşekkür ederim çok fazla josh. Google'ın 2 aşamalı Oauth uygulamasından geçtim ve senaryo 2'yi ele alacağım. Senaryo 3'e gelince, kullanıcı adı ve parola doğrulaması kullanacağım, çünkü bu durumda tüketici de sağlayıcı. Ayrıca Oauth 2 şartnamelerini de inceledim, iyi bir PHP kütüphanesi bulduğumda ya da kendim için bir tane yazabilirim. – kayfun

İlgili konular