Я создаю приложение для клиента, которому необходимо выполнить следующее:
- Разрешить пользователям аутентифицироваться с помощью Google, Facebook, Twitter и LinkedIn.
- Разрешить пользователям добавлять дополнительных поставщиков после регистрации. (то есть, если пользователь аутентифицирован с помощью Google, тогда они должны иметь возможность добавлять любого или всех других поставщиков.)
- Разрешить пользователям импортировать контакты Google, список друзей Facebook, подписчиков Twitter и друзей Linkedin, чтобы создать собственный список контактов.
Где лучше всего начать об этом узнавать? Есть ли стандарт, который все используют для этих вещей в .NET? Я несколько раз заходил в Google, и, хотя кажется, что большинство людей указывают на DotNetOpenAuth Я не могу найти твердых учебников о том, как использовать библиотеку. Загрузка поставляется с образцами, но она все еще меня путает.
Я предположил, что это будет так же просто, как:
- Настройка секретов поставщиков.
- Начать вход с поставщиком
- Аутентификация пользователя с помощью файла cookie auth
- Создайте запись пользователя в моей базе данных и сохраните уникальный идентификатор от поставщика.
Но похоже, что у каждого провайдера есть собственный набор кода, и все это так разные и запутывающие. У Facebook есть некоторый объект графика, у twitter есть некоторый "InMemoryTokenManager", который я не понимаю, и Google даже не имеет примера проверки подлинности, только пример адресной книги Google. Кроме того, по какой-то причине вам нужно скопировать фрагменты кода из какой-либо демонстрации ApplicationBlock в образцы в ваше собственное приложение и получить все, чтобы скомпилировать, не зная, что черт, который он пытается сделать, - трудная задача.
Я чувствую, что мне не хватает чего-то фундаментального со всем этим.
Даже рекомендация книги была бы великолепной на данный момент.
Я считаю, что понимаю концепции высокого уровня OAuth, но как только я пытаюсь погрузиться в ничтожество, я сразу теряюсь.