Объяснение поставщика услуг Dotnetopenauth oAuth

Я новичок в области oAuth и настроил DotNetOpenAuth для настройки поставщика услуг oAuth. Образец, представленный в загрузке DotNetOpenAuth, довольно сбивает меня с толку... может быть, потому что я новичок в этом деле. Существует одна страница по умолчанию, которая создает базу данных и заполняет ее. Теперь я просматриваю файл login.aspx, и он просит меня указать openid, на самом деле я хочу использовать DNN (который реализует DotNetOpenAuth), и я хочу использовать эти учетные данные на другом сайте, который будет потребителем oAuth. Может ли кто-нибудь объяснить, как протестировать поставщика услуг oAuth в образцах DotNetOpenAuth?


person ria    schedule 28.05.2010    source источник
comment
вы хотите использовать открытую аутентификацию для веб-сайта, связанного с .net?   -  person Emaad Ali    schedule 28.05.2010
comment
да, я хочу, чтобы мой сайт провайдер oauth и другой сайт в JSF были потребителем сайта. Однако в настоящее время моя основная проблема заключается в том, чтобы понять образец службы oAuth Provider DotNetOpenAuth. Я не могу понять, как он должен работать и каков его поток. Я протестировал потребительский образец DotNetOpenAuth oAuth, и он заработал раньше. но я не знаю, как сделать мой сайт сервисом поставщика oAuth   -  person ria    schedule 28.05.2010


Ответы (1)


Вы наткнулись, вероятно, на худший образец, включенный в DotNetOpenAuth. Извини за это. Вы можете обнаружить, что Шаблоны проектов OpenID представляют более простую и реалистичную идею настройки поставщика услуг OAuth.

Образец, с которым вы сейчас работаете, — это поставщик услуг, который предоставляет службу WCF с помощью OAuth, поэтому в образце есть некоторая сложность, которой вам не будет, если вы не используете WCF. Вот что вам нужно сделать, чтобы образец заработал:

  1. Измените корневой файл примера default.aspx.cs, чтобы добавить данные в новую базу данных для вашего собственного OpenID и заставить образец воссоздать свою базу данных ИЛИ просто добавьте необработанные данные в базу данных после того, как образец создаст свою собственная база данных.
  2. Используйте образец OAuthConsumer, чтобы попытаться получить доступ к данным в образце OAuthServiceProvider. Обязательно установите хотя бы один флажок для областей, для которых вы запрашиваете разрешение.
  3. SP предложит вам войти в систему. Сделайте это, используя OpenID, для которого вы добавили данные в базу данных.
  4. SP спросит, согласны ли вы предоставить свои данные потребительскому образцу. Скажи да.
  5. Потребитель скажет, что получил авторизацию, и предоставит вам несколько кнопок, которые запрашивают данные пользователя в SP.

Это должно работать. Добавьте комментарии к этому ответу, если это не так, и я буду редактировать этот ответ, пока мы не исправим его. :)

Теперь, что касается вашего входа в DNN — никаких проблем. Как вы, возможно, знаете, OAuth и OpenID ортогональны друг другу, поэтому вы можете просто переключить вход OpenID в SP на вход DNN, и SP будет работать нормально, хотя сопоставление пользовательских данных в базе данных Конечно, потребуется любая работа, которую требует DNN.

person Andrew Arnott    schedule 30.05.2010
comment
большое спасибо ... я проверю и дам вам знать. Я очень ценю ваш подробный ответ. - person ria; 31.05.2010
comment
@ Эндрю, у тебя есть DotNetOpenAuth YahooConsumer? - person King Friday; 23.05.2012
comment
Еще нет. Пожалуйста, не стесняйтесь внести свой вклад. - person Andrew Arnott; 24.05.2012