Domanda

Mi piace l'approccio di StackExhchange / StackOverflow a integrare OpenID.

A quanto mi risulta, il processo più o meno così:

  • Se un utente si iscrive con un provider OpenID (cioè Google), StackOverflow (o sito simile) crea un account per l'utente e associa l'OpenID con tale account.
  • Un utente esistente può associare più account OpenID con il proprio account / StackExchange.

mi piacerebbe emulare questo comportamento perché io non l'ho visto quasi come user-friendly su altri siti.

Lo so StackExchange è costruito su ASP.NET MVC, ma non sono sicuro se si utilizza lo standard ASP.NET credentialing modello e poi aggiunge il provider OpenID in una tabella DB separato o quello.

Quindi, le mie domande sono:

  • In che modo StackExchange creare questi account? Fanno Creare un utente nel provider standard di ASP.NET MVC e quindi associare l'ID, o c'è un processo separato?
  • come fa StackExchange consentire agli account di essere associato ad un account esistente provider OpenID supplementare?

Grazie in anticipo per qualsiasi aiuto si può dare!

È stato utile?

Soluzione

Lo StackExchange siti utilizzano DotNetOpenAuth libreria (precedentemente conosciuto come biblioteca DotNetOpenId).

È fondamentalmente bisogno di un tavolo e un tavolo User User_OpenID con una relazione uno-a-molti. Scot Hanselman ha un buon articolo di base o prova un più in profondità panoramica

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