2012-03-01 14 views
5

Ho esplorato OAuth versione 1.0 per l'API REST a cui sto lavorando attualmente.Che cos'è Oauth a due vie

Ho 3 scenari di autenticazione

  1. questo comporta 3 parti, il fornitore di servizi, il consumatore e l'utente. L'Oauth a tre vie corrisponde a questo scenario.
  2. Sono coinvolte 2 parti, il consumatore e il fornitore di servizi. Si tratta di uno scenario in cui Oauth a due vie è più applicabile e, in tal caso, qual è il processo in quanto vi è appena una differenza tra questa e l'autenticazione di base HTTP in base alla mia comprensione.
  3. Sto anche creando un tipo speciale di utente che può sempre accedere ai dati dell'utente attualmente connessi senza l'autorizzazione dell'utente. Come può adattarsi all'immagine mentre sta ancora implementando OAuth.

Utilizzare questi scenari? come posso implementare Oauth in modo ordinato e in che modo questo può aiutarmi a capire i processi Oauth a 3 e 2 zampe?

+0

Si memorizzerebbe solo il token di accesso al posto della password. Quindi, è più sicuro (nessuna password memorizzata) e l'accesso può essere revocato su base per-app (cambiare la password avrebbe rotto tutte le app che avevano bisogno di quell'account) – aitchnyu

risposta

1

Numero 1: corretto, utilizzare solo il tipico flusso a 3 vie oauth.

Numero 2. Oauth a due vie è praticamente la stessa di http-basic, con la differenza che la firma oauth fornisce protezione contro gli attacchi MITM (ma se si utilizza http-basic su TLS di quanto si ottiene la stessa protezione). Il processo per oauth a due vie è solo la firma della richiesta con la chiave/segreto del consumatore che è anche un nome utente/password su http basic.

Numero 3. Non sono al 100% chiaro su cosa intendi qui, ma sembra simile a come google utilizza oauth a due vie per i domini di google apps. Dai un'occhiata alla loro documentazione qui: https://developers.google.com/accounts/docs/OAuth#GoogleAppsOAuth

Hai esaminato OAuth 2.0? È ancora in bozza, ma ha molta più flessibilità per diversi scenari. Potrebbe essere qualcosa da considerare. http://oauth.net/2/

+1

Grazie mille josh. Ho seguito l'implementazione google di Oauth a due vie e si occuperà dello scenario 2. Per quanto riguarda lo scenario 3, userò solo l'autenticazione di username e password poiché in tal caso il consumatore è anche il provider. Sono passato anche alle specifiche di Oauth 2, dovrò migrare a 2.0 molto più tardi quando trovo una buona libreria PHP o ne scrivo una per me. – kayfun