Лучший способ использовать аутентификацию OpenID в Azure?
-
09-09-2019 - |
Вопрос
Я изо всех сил пытаюсь заставить OpenID работать в приложении Windows Azure.В настоящее время я использую DotNetOpenAuth (раньше был DotNetOpenId), и сначала у меня возникла проблема с этапом ретрансляции, поскольку Azure использует внутренний порт 20000, и он передавался туда и обратно.Я нашел обходной путь для этого (я напишу об этом сообщение в блоге).
Следующая проблема заключается в том, что при запуске приложения на веб-ферме (несколько экземпляров) вам нужно будет написать свое собственное "пользовательское хранилище" для DotNetOpenAuth и сохранить данные в базе данных.Писать об этом - сплошная мука.
Должен быть более простой способ.Возможно, одна из служб Azure?Кто-нибудь успешно запустил веб-приложение, которое проходит проверку подлинности с OpenID и работает в Azure?Какой самый лучший или рекомендуемый способ?
Решение
Самый простой способ добиться успеха - вообще не пользоваться магазином.Вы можете либо установить Stateless=true для одного из элементов управления входом, если вы их используете, либо передать null
к тому OpenIdRelyingParty
конструктор.Это переводит ваш веб-сайт в режим OpenID без состояния или "немой".Пользователям немного медленнее входить в систему (если вы вообще заметили), и вам не нужно писать этот класс хранилища базы данных.
В качестве альтернативы, вы можете голосуйте за дополнительные предварительно написанные хранилища данных, в том числе за одно для Azure по голосу пользователя.
Кстати, в Проблема с портом Azure должна была быть исправлена в DotNetOpenAuth версии v3.1.Если это было не так, пожалуйста, повторно активируйте этот билет.