Comment faire des sites StackExchange comptes utilisateurs associés et les connexions OpenID?
-
10-10-2019 - |
Question
J'adore l'approche de StackExhchange / StackOverflow à intégrer OpenID.
Si je comprends bien, le processus va quelque chose comme ceci:
- Si un utilisateur se auprès d'un fournisseur OpenID (à savoir Google), StackOverflow (ou site similaire) crée un compte pour l'utilisateur et associe le compte OpenID avec ce.
- Un utilisateur existant peut associer plusieurs comptes OpenID avec son / son compte StackExchange.
J'aimerais d'imiter ce comportement parce que je ne l'ai pas vu presque aussi convivial sur d'autres sites.
Je sais que StackExchange est construit sur ASP.NET MVC, mais ne suis pas sûr si elle utilise le modèle standard ASP.NET et credentialing ajoute le fournisseur OpenID dans une table de base de données séparée ou quoi.
Alors, mes questions sont:
- Comment créer ces comptes StackExchange? Ont-ils créer un utilisateur dans le fournisseur norme ASP.NET MVC et associer l'ID, ou est-il un processus distinct?
- comment autoriser les comptes StackExchange fournisseur OpenID supplémentaire d'être associé à un compte existant?
Merci d'avance pour toute aide que vous pouvez donner!
La solution
Le utilisent la bibliothèque de DotNetOpenAuth (précédemment connu sous le nom de bibliothèque DotNetOpenId).
Vous avez besoin essentiellement d'une table de User
et une table User_OpenID
avec un à plusieurs. Scot Hanselman a un bon article de base ou essayez une plus aperçu profondeur