Dotnetopenauth oAuth Объяснение поставщика услуг - PullRequest
14 голосов
/ 28 мая 2010

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

1 Ответ

12 голосов
/ 30 мая 2010

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

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

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

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

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

...