DotNetOpenAuth OpenIdTextBox для Google / Yahoo - PullRequest
0 голосов
/ 11 мая 2010

Если я хочу интегрировать DotNetOpenAuth (основной для людей, использующих свои учетные записи 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 Ответ

1 голос
/ 12 мая 2010

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

<%@ Page ValidateRequest="false" %>

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...