2010-05-11 5 views
0

Если я хочу интегрировать DotNetOpenAuth (основной для людей, чтобы использовать их учетные записи Google/Yahoo для входа в систему, а не выступать в качестве провайдера) на мой существующий сайт, достаточно ли это однолинейное управление?DotNetOpenAuth OpenIdTextBox Для Google/Yahoo

<rp:OpenIdTextBox ID="OpenIdTextBox1" runat="server" /> 

Скажем, если пользователь хочет, чтобы войти в систему как Google, я могу просто установить текстовое поле «https://www.google.com/accounts/o8/id», а затем они могут войти в систему. Я попробовал это с моей учетной записью Google, похоже, работает, и я могу получить токен из HttpContext.Current.User.Identity.Name.

Является ли это решение «одной линии» достаточно безопасным для производства? или это «обязательно», что я должен использовать «OpenIdSelector» или «OpenIDLogin»?

Я также открыл шаблон .net и некоторые образцы, они очень сложны. Существуют политики PAPE, xrds.aspx (для обнаружения), ConsumerKey + ConsumerSecret ... и т. Д. Как новичок, я очень смущен. Любые советы по этому поводу будут действительно оценены. Спасибо

ответ

1

По безопасности, что вы сделали, достаточно. Но есть еще что вам нужно/нужно сделать. Первый один в том, чтобы установить этот атрибут на ваш верхнюю строку страницы тега:

<%@ Page ValidateRequest="false" %> 

В противном случае пользователи будут видеть случайные сбои входа в системе, потому что некоторые OpenID сообщение «выглядит» опасным для ASP.NET.

Следующее, что вам нужно сделать, это настроить страницу xrds.aspx и ссылку на нее со своей домашней страницы. Это не является абсолютно необходимым для того, чтобы получить базовую работу OpenID, но это повышает безопасность вашего сайта, если у вас есть открытые URL-адреса переадресации, и некоторые Провайдеры, такие как Google и Yahoo, могут отображать уродливые предупреждающие сообщения вашим пользователям, если вы неправильно выполняете это " RP обнаружения "вашего сайта.

После этого вы можете оставить его в покое, если получаете все, что вам нужно.

Но если вас интересуют только пользователи Google, подумайте об использовании управления ASP.NET OpenIdButton вместо OpenIdTextBox, так как это может обеспечить лучший визуальный для ваших пользователей.

+0

Большое спасибо за советы, они очень полезны. Ваш DotNetOpenAuth просто потрясающий, продолжайте хорошую работу. Чем больше я думаю об этом, я думаю об использовании «OpenIdSelector». Я полагаю, что рекомендации validaterequest и xrds.aspx применимы и к OpenIdSelector, правильно? – userb00

+0

Спасибо. И это правильно. –