2010-07-30 2 views
129

Eventuali duplicati:
What's the difference between OpenID and OAuth?OpenID vs. OAuth

Che cosa è veramente la differenza tra OpenID e OAuth? Mi sembrano uguali.

Devo chiarire, sto pensando di usarli in drupal, se questo fa alcuna differenza. Quindi immagino di essere vincolato da qualsiasi implementazione di moduli disponibile in drupal.

risposta

103

Se si dispone di un account (con alcune risorse private) in un sito web, è possibile accedere con le coppie username/password. Se un'applicazione desidera acquistare alcune risorse private, e se non si desidera fornire il proprio nome utente/password, utilizzare OAuth.

Ma se si vuole effettuare il login in più siti web con un account unico , utilizzare OpenID.

(Alcuni siti web utilizzano OAuth come OpenID, e OpenID possono essere utilizzare come OAuth se si dispone di alcune cose private nel tuo account OpenID)

+7

Compreso solo tutte le informazioni ottenute. Spero che questo [OpenID & OAuth] (http://techastute.blogspot.com/2012/05/openid-authentication-oauth.html) sia utile. – raksja

239

OpenID è un modo per specificare un'identità per più siti, quindi non è necessario registrarsi più e più volte.

OAuth è un modo per consentire a un'applicazione di accedere a un account senza fornire a detta applicazione le informazioni di accesso dell'account. Puoi usarli insieme.

Maggiori informazioni: OAuth-OpenID: You’re Barking Up the Wrong Tree if you Think They’re the Same Thing

+26

mi piace questa risposta più di quello contrassegnato come risposta. chiunque altro? – the0ther

+0

A causa della differenza del conteggio dei voti, Mark ha ricevuto un bel distintivo. Certamente. :) –

+0

@ Marco: Così è ora. Ho upvoted accettato uno (e anche il tuo). Dovrebbe essere un distintivo ora. –

20

OpenID è puramente * per l'autenticazione multi-sito con un unico set di credenziali.

OAuth consente alle applicazioni di accedere reciprocamente in modo sicuro: condivisione dei dati. Pensa a ciò impostando un legame di fiducia tra due cose, ad esempio consentendo al tuo account flickr di pubblicare contenuti sulla tua bacheca di Facebook o di agganciare le tue foto di flickr a un sito Web di stampa di terzi.

OAuth non si tratta solo di sito a sito. Puoi collegare applicazioni desktop senza alcun concetto reale di "identità" a un sito basato su identità come Facebook o Twitter (ad esempio, un client Twitter può pubblicare sul tuo feed senza dover memorizzare i dettagli di accesso).

Ci sono delle somiglianze, ma OAuth è davvero tutto basato sui collegamenti service-to-service.

77

OpenID = utilizzando le credenziali di accesso da un provider OpenID (Google) per effettuare il login a un'altra applicazione (overflow dello stack)

OAuth = Consentire un'applicazione (TwitPic) ad agire per suo conto per e accedere alle informazioni da un'applicazione che usi (Twitter).

Possono essere utilizzati in combinazione tra loro.

+0

Non è il caso che Stack Overflow o altri siti Web che appartengono allo stackoverflow come serverfault utilizzano OAuth per la registrazione di nuovi utenti utilizzando google o Facebook e OpenID per l'iscrizione utilizzando altri siti Web del loro dominio come serverfault o askubuntu. In OAuth possiamo limitare le informazioni che fluiscono dall'autentica festa (facebook) al fornitore di servizi (stackoverflow). In OpenID viene semplicemente fornito un certificato che simboleggia la persona come legale e consente l'accesso all'intero database. Poiché stackoverflow o askubuntu appartengono allo stesso dominio, possono scambiarsi i certificati con pieno accesso ai database degli utenti. –

20

OpenID riguarda l'autenticazione di molti siti con un nome utente.
OAuth riguarda l'autorizzazione: il sito A dispone dell'autorizzazione per chiamare l'API del sito B.

Ecco un altro buon articolo/analogia spiegare le differenze: http://www.dotnetopenauth.net/about/about-oauth/

+2

'Il sito A ha il permesso di chiamare l'API del sito B. Questo mi ha permesso di chiarirlo. Grazie mille. –

+0

Inoltre, se voglio che gli utenti visitino il mio sito per iscriversi al mio sito Web accedendo a Google, quindi archiviando un hash del loro ID e-mail contro tutte le loro attività per ragioni contabili, utilizzerei ... OpenID, giusto? –

+0

@ronnieaka OpenID funzionerebbe bene per quello. –