DotNetOpenAuth: веб-формы, начало работы

Я пытаюсь выяснить, как получить DotNetOpenAuth (http://www.dotnetopenauth.net/), работающий в моем приложении webforms

Я не понимаю, с чего начать. У меня есть OpenIDSelector на моем Login.aspx, который позволяет вам выбирать Google или Yahoo. Вы можете выбрать один, затем появится всплывающее окно и позволит вам войти в систему. После входа в систему программа зависает, потому что она пытается что-то сделать с базой данных

Не могу ли я просто использовать некоторый элемент управления (например, OpenIDSelector) и вернуться к тому, что пользователь был аутентифицирован, получить свой Идентифицированный идентификатор и сам справиться с этим?

EDIT: попытка начать работу с OpenID в Webforms? Иди сюда...

https://github.com/DotNetOpenAuth/DotNetOpenAuth/wiki/Creating-an-openid-relying-party-%28programatically%29

Ответы

Ответ 1

Вам не нужно использовать шаблон проекта. Вы можете удалить элемент управления OpenIDSelector в любое веб-приложение, и оно будет работать только в минималистском режиме "дайте мне имя пользователя". В библиотеке DotNetOpenAuth нет никаких зависимостей SQL. Просто обработайте событие OpenIdSelector.LoggedIn, и вы получите нужное имя пользователя.

Шаблон проекта, раздутый, как вам кажется, предполагает, что на самом деле у вас есть пользовательские данные для хранения и что вы хотите обеспечить разумный вход в систему и управление учетными записями. Он также работает в веб-фермах и облачных средах. Если вы начинаете с нуля, это отличный способ начать работу, хотя, естественно, какой-то код, который он использует, будет применяться меньше, чем другие, поэтому у вас есть источник, поэтому вы можете его изменить.

Да, шаблон проекта включает зависимость от базы данных. Он использует Linq-to-Entities, поэтому любая база данных с провайдером Entities работает, а не только SQL Server. И он поставляется со схемой для этой базы данных. Просто запустите setup.aspx и он должен создать базу данных для вашей локальной установки SQLExpress.

Ответ 3

1 - заявленный идентификатор - это то, что вы ищете. проблема заключается в том, что Google и тому подобное используют "направленную идентификацию", что означает, что заявленный идентификатор будет связан с областью, из которой вы пришли. чистый результат для вас - один и тот же пользователь может пройти через несколько разных заявленных идентификаторов.

2 и 3, о которых я не знаю - я предполагаю, что это какая-то функциональная возможность DNOA, но я не играл с ней.

4 - не то, что я нашел. dnoa охватывает все случаи, о которых вам нужно беспокоиться.