Вопрос

Я использую OpenID так же, как и здесь, на StackOverflow, чтобы аутентифицировать моих пользователей. То, что мне действительно нужно сделать,-это то, что это открытая работа по всем поддоменам моего сайта.

Сайт ведет себя почти так же, как и киджи, в том, что в каждом регионе есть собственный поддомен

  • calgary.example.com
  • toronto.example.com
  • Vancouver.example.com
  • так далее

Когда пользователь входит в «Калгари», а затем входит в «Торонто», он будет вынужден «дать разрешение» у поставщика, что приведет к новому OpenID и в результате также в новом входе в систему.

Мое приложение «может» иметь несколько OpenID под одной учетной записью, но это стало бы громоздким для управления.

Есть ли способ, чтобы провайдер соединился с доменом верхнего уровня и впоследствии поработал во всех поддоментанах?

Я использую dotnetopenauth.

Единственное, что у меня есть, - это всегда заставить пользователя входить в систему http://example.com а затем используйте аутентификацию форм domain = ".example.com" разрешить навигацию ко всем субдоменам.

Это было полезно?

Решение

Да. Установить Realm свойство на управлении ASP.NET или на вашем IAuthenticationRequest (Если вы делаете это программно) на «https: //*.example.com». Обратите внимание, что схема может быть HTTP или HTTPS, но это должен Совместите любую схему в вашем свойстве returnto, которая будет (по умолчанию) быть схемой, используемой в текущем запросе.

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

Но не беспокойтесь о самом подстановлении. Когда вы устанавливаете https: //*.example.com в качестве своей области, все ваши отдельные сайты, соответствующие этой шаблоне, получат такой же Идентификатор Google.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top