DotNetOpenAuth: веб-формы, начало работы - PullRequest
15 голосов
/ 01 марта 2010

Я пытаюсь выяснить, как заставить DotNetOpenAuth (http://www.dotnetopenauth.net/) работать в моем приложении веб-форм

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

Разве я не могу просто использовать какой-то элемент управления (например, OpenIDSelector) и получить обратно, что пользователь прошел аутентификацию, получить его ClaimedID и обработать остальное самостоятельно?

РЕДАКТИРОВАТЬ: Пытаетесь начать работу с OpenID в Webforms? Иди сюда ...

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

Ответы [ 3 ]

5 голосов
/ 01 марта 2010

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

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

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

1 голос
/ 24 апреля 2010

вот пошаговая ссылка со своего сайта. http://www.plaxo.com/api/openid_recipe

0 голосов
/ 01 марта 2010

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

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

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

...