Prima di tutto stabilire alcuni termini:
Il User-supplied identifier
è la stringa che l'utente effettivamente tipi (o viene attivato facendo clic su un tasto predefinito in RP) che fa scattare la scoperta OpenID di prendere posto. Non è normalizzato e non dovrebbe mai essere usato per rappresentare l'utente nel tuo database perché non è sicuro o unico, ma è un punto di partenza necessario. Scoperta su questo identificatore yeilds o claimed identifier
o OP Identifier
. Esempi: yahoo.com, myopenid.com, andrewarnott.myopenid.com
Il Claimed Identifier
è l'identificatore OpenID che l'utente "controlla" o utilizza come sua identità. Potrebbe o potrebbe non essere un URL (potrebbe essere un XRI). Un'affermazione positiva da un OP sarà sempre un identificativo dichiarato (anche se la scoperta è iniziata con un identificativo OP). Esempi: https://andrewarnott.myopenid.com/
Il OP Identifier
, o "OpenID Provider Identifier" è l'OpenID Identifer che RP possono eseguire il rilevamento su di iniziare un identifier select
flusso in cui il PS non sa ancora cosa Identifier Ha affermato l'utente sarà. Esempi: https://me.yahoo.com/, http://www.myopenid.com/ e https://www.google.com/accounts/o8/id
Il OP Endpoint
è l'URL effettivo che il RP reindirizza l'utente al fine di autenticare l'utente, e viene utilizzato per stabilire associazioni condivisi o eseguire la verifica diretta di un affermazione che utilizza un OP privato associazione. Esempi: http://localhost/server.aspx, http://localhost/provider.ashx, https://www.google.com/accounts/o8/ud (si noti il UD fine invece di id)
Quindi, con tutto ciò che di sfondo, il OpenIdRelyingParty.CreateRequest
chiamata dovrebbe ricevere un identificativo fornito dall'utente, che può anche essere un identificatore rivendicato o un OP Identifier. Dovrebbe essere non essere l'endpoint dell'OP. Così, per esempio, si potrebbe passare:
openIdRelyingParty.CreateRequest("http://localhost/sampleop/")
o
openIdRelyingParty.CreateRequest("http://localhost/user.aspx?username=bob")
fonte
2010-08-25 02:35:29
Andrew, grazie mille per tutte queste spiegazioni +1. Mi ha davvero aiutato a chiarire questi concetti. Sono riuscito a fare in modo che le 2 demo di DotNetOpenAuth si connettessero tra loro (OP e RP) ma non sono riuscito a creare il mio OP ea connettermi.Continua a ricevere "Nessun endpoint OpenID trovato", ciò che non è un errore molto esplicativo. Il tuo progetto (DotNetOpenAuth) sembra fantastico ma manca di documentazione. In effetti penso che openid sia privo di documentazione. Non sono riuscito a trovare questi concetti puntati altrove. Grazie comunque :) –
@ André Pena, ho cercato per giorni di far funzionare il mio OP. ma è lo stesso problema che stai avendo. Hai mai risolto questo? –