AppModelV2: как автоматически войти в систему с помощью Azure
Я опробую новую модель для унифицированной аутентификации приложений с помощью passport-azurea-ad из этой ссылки https://docs.microsoft.com/en-us/azure/active-directory/active-directory-v2-devquickstarts-node-web
Интеграция прошла успешно, но каждый раз, когда я вхожу в систему, меня перенаправляют на страницу, где я могу выбрать одну из существующих учетных записей Microsoft или добавить новую. Почему сеанс или учетная запись не выбираются автоматически, если пользователь уже вошел в свою учетную запись Azure или Microsoft? Мое требование заключается в том, что пользовательский сеанс должен выбираться автоматически (не впервые, когда он дает согласие), если он вошел в свою учетную запись Azure или учетную запись micrososft.
этой страницы нужно избегать, если он уже вошел в систему
1 ответ
Причина - техническое ограничение. Позвольте мне посмотреть, смогу ли я кратко объяснить:
- Когда запрос поступает к конечной точке v2 (login.microsoftonline.com), конечная точка v2 не может обнаружить присутствие существующего сеанса учетной записи потребителя (login.live.com).
- Поэтому конечная точка v2 должна выполнить запрос (через iframe, размещенный на странице login.microsoftonline.com) к login.live.com, чтобы определить, существует ли сеанс потребителя или нет.
- Если потребительский сеанс существует, конечная точка v2 должна показывать пользователю экран "выбора учетной записи", подобный тому, который вы изображаете в вопросе.
- Если потребительский сеанс не существует, и у пользователя есть только один бизнес-сеанс, он может автоматически войти в систему пользователя с этой бизнес-учетной записью. Однако к этому времени пользователь, вероятно, уже ждал секунду или около того, чтобы запрос к login.live.com завершился. Это может быть странно для пользователя, если страница автоматически заполняется через секунду.
Конечная точка v2 может определенно показывать загрузочный счетчик или что-то, что удерживает пользователя до тех пор, пока не может быть принято решение, но было решено, что пользователь нажимает на плитку как приемлемую альтернативу.