Мне нравится подход StackExhchange / StackOverflow к интеграции OpenID.
Насколько я понимаю, процесс идет примерно так:
- Если пользователь регистрируется у поставщика OpenID (т. е. Google), StackOverflow (или аналогичный сайт) создает учетную запись для пользователя и связывает OpenID с этой учетной записью.
- Существующий пользователь может связать несколько учетных записей OpenID со своей учетной записью StackExchange.
Мне бы хотелось подражать этому поведению, потому что я не видел его таким удобным для пользователей на других сайтах.
Я знаю, что StackExchange построен на ASP.NET MVC, но не уверен, что он таков.использует стандартную модель учетных данных ASP.NET, а затем добавляет провайдера OpenID в отдельную таблицу БД или что-то подобное.
Итак, мои вопросы:
- Как StackExchange создает эти учетные записи?Создают ли они пользователя в стандартном поставщике ASP.NET MVC, а затем связывают идентификатор, или существует отдельный процесс?
- Как StackExchange позволяет связывать дополнительные учетные записи поставщика OpenID с существующей учетной записью?
Заранее благодарим за любую помощь, которую вы можете оказать!