Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Библиотека проверки подлинности для JavaScript от Майкрософт (MSAL.js) версии 2.0 обеспечивает поддержку потока кода авторизации с использованием PKCE и CORS для одностраничных приложений на платформе удостоверений Майкрософт. Выполните действия, описанные в разделах ниже, чтобы перенести приложение MSAL.js 1.x, использующее implicit grant, на MSAL.js 2.0+ (далее 2.x) и работать с кодом авторизации.
MSAL.js 2.x — это расширенная версия MSAL.js 1.x, которая поддерживает поток кода авторизации в браузере вместо потока неявного предоставления разрешения. MSAL.js 2.x не поддерживает неявный поток.
Выполнение действий по миграции
Чтобы перевести приложение на использование MSAL.js 2.x и потока кода авторизации, нужно выполнить три основных шага:
- Переключите URI перенаправления регистрации приложения с платформы Веб на платформу одностраничного приложения.
- Обновите код с MSAL.js 1.x до версии 2.x.
- Отключите неявное предоставление в регистрации приложения, когда все приложения, использующие эту регистрацию, будут обновлены до MSAL.js 2.x и на поток кода аутентификации.
Далее подробно описан каждый из этих шагов.
Переключите URI перенаправления на платформу SPA
Если вы хотите продолжить использование вашей существующей регистрации для приложений, используйте Центр администрирования Microsoft Entra для обновления URI перенаправления регистрации на платформу SPA. Это позволит активировать поток кода авторизации с поддержкой PKCE и CORS для приложений, использующих регистрацию (но вам по-прежнему необходимо обновить код вашего приложения до версии MSAL.js 2.x).
Выполните следующие действия для регистрации приложений, настроенных в настоящее время с помощью URI перенаправления веб-платформы :
Войдите в Центр администрирования Microsoft Entra.
Перейдите к Entra ID>регистрации приложений, выберите ваше приложение, а затем аутентификация.
На плитке платформы Web под URI перенаправления выберите баннер с предупреждением о необходимости миграции ваших URI.
Выберите только те URI перенаправления, приложения которых будут использовать MSAL.js 2.x, а затем нажмите кнопку "Настроить".
Теперь эти URI перенаправления должны отображаться на плитке платформы одностраничного приложения, показывая, что поддержка CORS с использованием потока кода авторизации и PKCE включена для этих URI.
Обновите код до MSAL.js 2.x
В MSAL 1.x вы создали экземпляр приложения, инициализировав UserAgentApplication следующим образом:
// MSAL 1.x
import * as msal from "msal";
const msalInstance = new msal.UserAgentApplication(config);
В MSAL 2.x инициализируйте вместо этого [PublicClientApplication][msal-js-publicclientapplication]:
// MSAL 2.x
import * as msal from "@azure/msal-browser";
const msalInstance = new msal.PublicClientApplication(config);
Дополнительные изменения, которые могут потребоваться внести в код, см. в руководстве по миграции на GitHub.
Отключение параметров неявного предоставления разрешений
После обновления всех рабочих приложений, использующих регистрацию этого приложения и его идентификатор клиента до MSAL 2.x и потока кода авторизации, необходимо снять флажок в параметрах неявного предоставления разрешений в меню Authentication регистрации приложения.
Когда вы снимаете флажок с настроек неявного гранта в регистрации приложения, неявный поток отключается для всех приложений, использующих регистрацию и ее идентификатор клиента.
Не отключайте функцию неявного предоставления доступа перед обновлением всех приложений до MSAL.js 2.x и [PublicClientApplication][msal-js-publicclientapplication].
Следующие шаги
Дополнительные сведения о потоке кода авторизации, включая различия между неявными и потоками кода проверки подлинности, см. на платформе удостоверений Майкрософт и потоке кода авторизации OAuth 2.0.
Узнайте больше, создав одностраничное приложение React (SPA), которое выполняет вход пользователей, в следующей многосерийной серии руководств.