Ладно, у меня такая работа!
Ответ представляет собой комбинацию ответов ниже, а также некоторые игры с контроллерами и представлениями.
Сначала загрузите DotNetOpenAuth , а затем перейдите в каталог примеров, где вы можете найти код OpenIdRelayingPartyMvc.
В моем решении NerdDinner,
- Я добавил ссылку на сборку DotNetOpenAuth
- добавили новый «UserController» и скопировали в код из примера UserController
- добавил правильные операторы using и изменил пространство имен для отражения NerdDinner.Controllers
- воссоздали аналогичные «Пользовательские» представления из примера, изменив их соответствующим образом, чтобы отразить идентификаторы основного содержимого сайта.
- добавлено представление xrds под домашним контроллером. (не уверен, что это делает)
- изменил индекс и добавил методы Xrds ActionResult в HomeController для отражения образца.
- изменил файл web.config (в корневой папке) в разделе Authenticate, чтобы изменить путь входа в систему на новый UserController и метод входа в систему
- Измените ссылки ActionLink'а LogOnUserControl, чтобы они указывали на новые методы UserControl и «Вход» и «Выход».
- возиться с различными представлениями, которые напрямую вызывают функцию входа в систему
Сейчас это работает ограниченным образом. Я могу войти в систему и взаимодействовать с приложением NerdDinner с помощью OpenID. Так что это круто. Однако некоторые функции еще не работают. Сохранение созданного ужина не работает, но и не зависает. Мне придется исследовать, как перенести некоторые функции членства в AccountController в UserController. Я буду обновлять этот пост (предложения и указатели приветствуются).