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