Я использую OpenID почти так же, как здесь, в StackOverflow, для аутентификации моих пользователей. Что мне действительно нужно, так это то, что OpenID работает во всех поддоменах моего сайта.
Сайт ведет себя так же, как и Киджи, в том, что у каждого региона есть свой собственный поддомен
- calgary.example.com
- toronto.example.com
- vancouver.example.com
- и т.д.
Когда пользователь входит в «Калгари», а затем входит в «Торонто», он будет вынужден «дать разрешение» провайдеру, что приведет к созданию нового OpenID и, соответственно, к новому входу.
Мое приложение "может" иметь несколько OpenID под одной учетной записью, но управлять им будет громоздко.
Есть ли способ заставить провайдера связываться с доменом верхнего уровня и впоследствии работать во всех поддоменах?
Я использую DotNetOpenAuth.
Единственная мысль, которая у меня возникает, - это всегда заставлять пользователя входить в систему с http://example.com, а затем использовать аутентификацию форм domain = ".example.com"
, чтобы разрешить навигацию по всем поддоменам.