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

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

Ответы

Ответ 1

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

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

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

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

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