Лучшие практики для делегированной аутентификации в настольном приложении - PullRequest
0 голосов
/ 09 марта 2012

Я пишу приложение для Windows 8 Metro (клиент-сервер) и хочу, чтобы мои пользователи могли войти в систему, используя свои существующие учетные записи (Windows Live, Google, Facebook, Yahoo, ...).

В настоящее время я использую OAuth 2.0 на клиенте для получения кода, который можно использовать на стороне сервера для получения токена доступа от провайдера и для чтения основной информации об учетной записи.

Я недавно читал об OpenID, но кажется, что для настольных приложений нет реализаций. Кроме того, Windows Live не поддерживает OpenID.

Итак, мои вопросы:

  • Является ли плохой практикой использование OAuth для делегирования только аутентификации?
  • Должен ли я реализовать свой собственный поставщик OAuth в ASP.NET для доступа к API моего клиента и делегировать задачу аутентификации поставщикам OpenID в веб-формах OAuth?

1 Ответ

1 голос
/ 25 марта 2012

OAuth является излишним, если вы хотите только аутентифицировать пользователя (в конце концов, вы спрашиваете своего клиента, можете ли вы действовать от его имени с помощью службы, используемой для аутентификации); Или, как более конкретный пример, если вы делегировали аутентификацию в Twitter, вы также можете прочитать все их контакты и множество других вещей, которые вам не нужны - этого может быть достаточно, чтобы отвлечь некоторых клиентов от использования вашего приложения и дать это плохой отзыв в магазине.

Немного иначе, когда клиент уже имеет отношения с веб-службой и понимает, что ваше приложение является его клиентом.

...