Domanda

Un semplice scenario:

Supponiamo di avere un'Applicazione Web nel cloud che consentono agli utenti di iscriversi usando OpenID.(Io sono aperto a usare Windows Live ID, in alternativa) Si può accedere e aggiornare i meta dati, per esempio, ciò che il loro colore preferito è.

Se voglio ottenere queste informazioni da un client per il desktop, come faccio?Probabilmente sarà necessario esporre un Servizio Web per query di questo tipo di informazioni, ma come per l'autenticazione?

C'è il DotNetOpenAuth e c'è il Windows Identity Foundation, e abbiamo CardSpace etc.
Ma dove diamine faccio a iniziare?Che di loro ho bisogno?Ho bisogno di tutti e 3?
E che dire di STS, c'è per OpenID / Windows Live ID?

Qualcuno si è mai visto un esempio di utilizzo di queste tecnologie in grado di fare quello che sto cercando?Tutti i puntatori?

È stato utile?

Soluzione

Separati in mente i concetti di autenticazione e di autorizzazione.Si autenticare gli utenti al tuo sito web solo.Si può fare questo con OpenID, InfoCard, M, o nome utente+password.Le applicazioni Client che chiamare il servizio per le informazioni specifiche dell'utente deve essere autorizzato, tradizionalmente, significa chiedere all'utente per il proprio username+password, che è un anti-pattern, e si rompe quando si utilizza più o credenziali alternative come OpenID o InfoCard, come si sta vedendo.

Di autorizzare l'applicazione deve utilizzare una delegazione come protocollo OAuth, che permette che l'utente visita una pagina web che consente l'applicazione desktop per accedere i dati privati degli utenti, senza mai esporre le proprie credenziali per l'app.

DotNetOpenAuth supporta questo scenario.Si tratta del campione OAuth e OpenID siti.Mi consiglia di controllare uno dei i modelli di progetto che dimostrano OpenID login (e il web costituisce uno include anche InfoCard login come opzione) e anche OAuth Fornitore di servizi, rendendo il lavoro sia per gli utenti del web e che autorizzano queste applicazioni client destra, fuori dalla scatola.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top