1

Интересно, как я могу использовать внешний провайдер идентификации (twitter, facebook, google, ..) для входа в мое приложение.Как использовать oAuth в приложении для магазина Windows?

У меня есть окна Маркете и asp.net веб-Rest API и цель состоит в том, чтобы использовать существующую учетную запись (например, Twitter), чтобы предоставить мой веб-Апите тождество. Поэтому я могу получить информацию пользователя и предоставить ему правильную информацию.

Я не понимаю процесс и то, что я могу использовать для этого. Некоторые ссылки привели меня к oAuth, но я не вижу, как его использовать, и я не уверен, что это правильный путь.

Должен ли мой веб-интерфейс взаимодействовать с твиттером или вся информация должна быть получена приложением WS и отправлена ​​в API? Как я могу декодировать полученную информацию в моем API? Какую информацию я смогу получить (идентификатор?)

Может ли кто-нибудь предоставить мне какой-то учебник или пример кода для такого рода работ?

EDIT: Кажется, мне нужно использовать трехногий oAuth или двуглавую версию oAuth. Я действительно не понимаю, какую версию я должен использовать. 2-legged между Twitter и приложение магазина или 3-legged с твитер-WebApi-Windows store app?

ответ

3

Я не думаю, что полезно дать полное описание процесса, поскольку их уже много документации. Но я могу представить, что легко потеряться, я могу помочь вам с указателями взглядов, но легче ответить на ваши вопросы, когда они станут немного более конкретными.

Прежде всего, с провайдером OpenId пользователь должен авторизовать ваш Api, чтобы использовать их информацию. Здесь Oauth приходит на место. Вы перенаправляете своего пользователя, например, Google в соответствии с протоколом Oauth2. Пользователь войдет в систему со своими учетными данными google и утвердит ваше приложение, чтобы использовать их информацию для внешнего идентификатора.

Второй Twitter по-прежнему использует протокол Oauth1, и в них были внесены некоторые улучшения, особенно в простоте, в протокол Oauth2. Поэтому для начала я бы начал с Facebook/Google/Instagram (который имеет очень хорошую документацию), которые поддерживают протокол Oauth2. Кроме того, посмотрите на это изображение:

Oauth2 flow

Too начать с Oauth я бы взглянуть на DotNetOpenAuth, это библиотека, которая занимает почти все сложной логики прочь. У них есть несколько хороших образцов, которые вы можете скачать here. Надеюсь, это поможет вам начать работу.