#azure-ad-b2c #msal #msal.js
Вопрос:
Я читаю этот документ: https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/initialization.md
Написано, что:
При использовании всплывающих API-интерфейсов мы рекомендуем установить значение
redirectUri
на пустую страницу или страницу, на которой не реализован MSAL. Это поможет предотвратить потенциальные проблемы, а также повысить производительность.
- Что такое «потенциальные проблемы» и «производительность»?
- Если я установлю
redirectUri
пустую страницу, перенаправится ли пользователь на пустую страницу?
Ответ №1:
Для беззвучных и всплывающих потоков главное окно приложения (которое инициировало действия) будет отслеживать iframe/всплывающее окно для перенаправления обратно в приложение, а затем анализировать ответ. Поскольку это главное окно выполняет всю работу, MSAL не нужно запускать в URI перенаправления, используемом для этих действий.
Поскольку loginRedirect/acquireTokenRedirect
само главное окно перенаправляется на экран входа в систему , а затем обратно в приложение, поэтому используемая страница перенаправления должна сама иметь MSAL для обработки ответа.
- Что такое «потенциальные проблемы» и «производительность»?
Не уверен в «потенциальных проблемах» и «производительности», но если мы установим здесь непустой uri перенаправления, это может вызвать проблему с таймаутом. Смотрите этот пост.
- Если я установлю перенаправление на пустую страницу, перенаправится ли пользователь на пустую страницу?
Нет. Это не перенаправит пользователя на пустую страницу, потому что все сделает главное окно.
Комментарии:
1. Все это правильно. Что касается потенциальных проблем и производительности, для беззвучных и всплывающих запросов браузеру необходимо загрузить ваш uri перенаправления, прежде чем можно будет проанализировать ответ, и если загрузка этой страницы займет много времени, это может повлиять на производительность этих запросов. Наиболее распространенная проблема, которую мы видим, — это страница, используемая для uri перенаправления, искажает/удаляет хэш ответа до того, как основной экземпляр MSAL сможет его проанализировать, что может привести к тайм-аутам.