2009-04-10 1 views
5

Devo essere stupido, perché tutti gli articoli che ho visto su OpenID in ASP.NET mi hanno semplicemente confuso sul problema. Sono abbastanza sicuro di aver capito i concetti coinvolti qui, sono solo un po 'confuso su come le cose sembrano sul lato posteriore delle cose.Come utilizzare OpenID nel mio nuovo sito Web ASP.NET?

Così un nuovo utente arriva al mio sito Web e vuole creare un account. Ecco il diluvio di domande:

  • È il primo passo da fare per scegliere quale provider openID utilizzerà per accedere?
  • Viene richiesto un nome utente sul mio sistema?
  • Devo legarlo allo stesso provider openID ogni volta che ritorna, oppure è possibile selezionare un nuovo fornitore ogni volta?
  • Che aspetto ha il database qui? Ho il suo nome utente in una tabella e questo è collegato a un provider openID?
  • Cosa succede se l'utente non ha un account OpenID? Dovrei permettergli di creare un account tradizionale da parte mia, quindi espormi come fornitore OpenID?

Cosa mi manca qui? Di solito sono piuttosto brillante, ma quest'area è stata come la kryptonite di Superman per le mie capacità di sviluppo. Grazie in anticipo!

Adam

risposta

5

Questa pagina è un tutorial passo-passo per l'attuazione OpenID su un sito web. Credo che risponda a tutte le tue domande sui meccanismi di aggiunta.

A Recipe for OpenID-Enabling Your Site

Se l'utente non dispone di un OpenID vorrei solo permettere loro di registrare 'normalmente', memorizzare le loro credenziali per uso locale. Non è necessario aggiungere la complessità extra di diventare un fornitore OpenID a meno che non si abbia un business case per questo.

5

Amico, non sei solo. OpenID confonde tutti tranne le persone che l'hanno progettato, e anche in questo caso, non sono così sicuro che non li confonda poiché ci sono più provider OpenID e lievi incompatibilità tra di loro, a seconda delle librerie che si usano.

Immagina che l'utente sia un "tavolo" sql (quella tabella contiene le sue "credenziali") e che tu disponga di una tabella di dati del profilo specifica per il tuo sito web di tua proprietà. L'url OpenID è una "chiave esterna" che usi per "unire" queste due tabelle. Devi provare a tu stesso che possiede davvero quell'URL di OpenID prima di accettarlo (o associarlo ai dati del tuo profilo privato). Stai essenzialmente "offshoring" della parte di autenticazione del tuo sito.

Quindi, in definitiva, si utilizza una libreria client openid che fa il lavoro per te sul tuo sito web. Si registrano normalmente compilando "nome completo", "età", ecc. (Qualunque sia lo desiderato) ma forniscono un URL openid al posto del nome utente/password.La libreria si occupa di verificare che ne sia realmente proprietaria. Dopodiché, archivia tutti i dati del tuo profilo con quello aperto.Dato.

Mentre potresti offrire il tuo provider di openid, non ne vale la pena a questo punto: ce ne sono già molti là fuori. tuttavia, è offerto un nome utente/password tradizionale INSTEAD di openid L'idea di openid è quella di registrare il proprio registro una volta con un provider, quindi dimostrare di essere il proprietario di quell'URL a qualsiasi sito che desidera utilizzarlo per identificarti (anziché il nome utente/password)

Ha senso?

-Oisin

+0

Grazie! Quella piccola pepita era ciò che mi mancava. Mi piacerebbe accettare 2 risposte, ma l'altra risposta conteneva più dettagli tecnici che stavo cercando. –