2011-09-28 15 views
7

Sto cercando di capire il concetto ei vantaggi dell'implementazione di OpenID nel progetto. E poiché sono uno sviluppatore Java, sono più o meno interessato alla comprensione della sua principale implementazione Java, openid4java.OpenID Architecture per Java

La mia comprensione è che OpenID è uno standard per il provisioning di ID decentrati in modo uniforme. Ora, se questo è totalmente (o anche leggermente) errato, per favore correggimi!

Supponendo Sono ancora in pista, vedo che tutti i tipi o le organizzazioni hanno utilizzato OpenID, come ad esempio MySpace, che identifica ciascuna delle loro utenti un URL corrispondente http://www.myspace.com/username.

Quindi, come funziona OpenID come sistema? Si manifesta semplicemente come una rete di "Server OpenID" che, come le macchine DNS, si coordinano e si assicurano che tutti gli ID nel loro sistema siano unici e corrispondano a un determinato schema? Oppure, è solo un algoritmo da utilizzare che, come GUID, produce ID univoci per ogni dominio client (come MySpace).

Non capisco proprio come OpenID si manifesti effettivamente, e come framework come openid4java si attengano a quella "manifestazione". (Quali sono i loro usi).

risposta

3

In primo luogo, ci sono due lati della comunicazione OpenID: il fornitore e il consumatore. L'utente è l'applicazione che tenta di autenticare tramite OpenID e il provider è il server a cui viene inviata la richiesta di autenticazione.

Ogni provider ha un cosiddetto endpoint - url che accetta le richieste di autenticazione. È necessario conoscere l'URL in anticipo quando si supporta un provider OpenID. Prima devi scoprire qual è l'endpoint per un dato openId e quindi scambiare messaggi con quel provider. Questo è tutto racchiuso in openid4java ConsumerManager.

Quindi avviene l'autenticazione - si reindirizza l'utente a un url del provider, in cui l'utente conferma che desidera accedere utilizzando il proprio account (deve essere registrato), quindi il provider reindirizza a te, quindi è possibile ottenere il richiesto informazioni sull'utente (tramite un'altra richiesta)

+0

Grazie @Bozho! Quindi, come qualcosa come openid4java funziona con un framework SSO come OpenSSO? Qual è la "divisione del lavoro" lì? – IAmYourFaja

+0

a dire il vero - non lo so :) – Bozho

+0

trovato [questo] (http://www.alleged.org.uk/pdc/2007/08/13.html) articolo, che probabilmente avrebbe senso per gli sviluppatori che ho già avuto esperienza con SSO e/o OpenID. Per me, non ha un sacco di buonsenso, ma lo salverò per un altro sforzo di ricerca ;-) ~ grazie ancora per la tua risposta – IAmYourFaja