Я пишу приложение для Windows 8 Metro (клиент-сервер) и хочу, чтобы мои пользователи могли войти в систему, используя свои существующие учетные записи (Windows Live, Google, Facebook, Yahoo, ...).
В настоящее время я использую OAuth 2.0 на клиенте для получения кода, который можно использовать на стороне сервера для получения токена доступа от провайдера и для чтения основной информации об учетной записи.
Я недавно читал об OpenID, но кажется, что для настольных приложений нет реализаций. Кроме того, Windows Live не поддерживает OpenID.
Итак, мои вопросы:
- Является ли плохой практикой использование OAuth для делегирования только аутентификации?
- Должен ли я реализовать свой собственный поставщик OAuth в ASP.NET для доступа к API моего клиента и делегировать задачу аутентификации поставщикам OpenID в веб-формах OAuth?