Я новичок в области oAuth и настроил DotNetOpenAuth для настройки поставщика услуг oAuth. Образец, представленный в загрузке DotNetOpenAuth, довольно сбивает меня с толку... может быть, потому что я новичок в этом деле. Существует одна страница по умолчанию, которая создает базу данных и заполняет ее. Теперь я просматриваю файл login.aspx, и он просит меня указать openid, на самом деле я хочу использовать DNN (который реализует DotNetOpenAuth), и я хочу использовать эти учетные данные на другом сайте, который будет потребителем oAuth. Может ли кто-нибудь объяснить, как протестировать поставщика услуг oAuth в образцах DotNetOpenAuth?
Объяснение поставщика услуг Dotnetopenauth oAuth
Ответы (1)
Вы наткнулись, вероятно, на худший образец, включенный в DotNetOpenAuth. Извини за это. Вы можете обнаружить, что Шаблоны проектов OpenID представляют более простую и реалистичную идею настройки поставщика услуг OAuth.
Образец, с которым вы сейчас работаете, — это поставщик услуг, который предоставляет службу WCF с помощью OAuth, поэтому в образце есть некоторая сложность, которой вам не будет, если вы не используете WCF. Вот что вам нужно сделать, чтобы образец заработал:
- Измените корневой файл примера default.aspx.cs, чтобы добавить данные в новую базу данных для вашего собственного OpenID и заставить образец воссоздать свою базу данных ИЛИ просто добавьте необработанные данные в базу данных после того, как образец создаст свою собственная база данных.
- Используйте образец OAuthConsumer, чтобы попытаться получить доступ к данным в образце OAuthServiceProvider. Обязательно установите хотя бы один флажок для областей, для которых вы запрашиваете разрешение.
- SP предложит вам войти в систему. Сделайте это, используя OpenID, для которого вы добавили данные в базу данных.
- SP спросит, согласны ли вы предоставить свои данные потребительскому образцу. Скажи да.
- Потребитель скажет, что получил авторизацию, и предоставит вам несколько кнопок, которые запрашивают данные пользователя в SP.
Это должно работать. Добавьте комментарии к этому ответу, если это не так, и я буду редактировать этот ответ, пока мы не исправим его. :)
Теперь, что касается вашего входа в DNN — никаких проблем. Как вы, возможно, знаете, OAuth и OpenID ортогональны друг другу, поэтому вы можете просто переключить вход OpenID в SP на вход DNN, и SP будет работать нормально, хотя сопоставление пользовательских данных в базе данных Конечно, потребуется любая работа, которую требует DNN.