Поделиться через


Перенос одностраничного приложения JavaScript из неявного потока предоставления разрешения в поток кода авторизации

Библиотека проверки подлинности для 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 и потока кода авторизации, нужно выполнить три основных шага:

  1. Переключите URI перенаправления регистрации приложения с платформы Веб на платформу одностраничного приложения.
  2. Обновите код с MSAL.js 1.x до версии 2.x.
  3. Отключите неявное предоставление в регистрации приложения, когда все приложения, использующие эту регистрацию, будут обновлены до MSAL.js 2.x и на поток кода аутентификации.

Далее подробно описан каждый из этих шагов.

Переключите URI перенаправления на платформу SPA

Если вы хотите продолжить использование вашей существующей регистрации для приложений, используйте Центр администрирования Microsoft Entra для обновления URI перенаправления регистрации на платформу SPA. Это позволит активировать поток кода авторизации с поддержкой PKCE и CORS для приложений, использующих регистрацию (но вам по-прежнему необходимо обновить код вашего приложения до версии MSAL.js 2.x).

Выполните следующие действия для регистрации приложений, настроенных в настоящее время с помощью URI перенаправления веб-платформы :

  1. Войдите в Центр администрирования Microsoft Entra.

  2. Перейдите к Entra ID>регистрации приложений, выберите ваше приложение, а затем аутентификация.

  3. На плитке платформы Web под URI перенаправления выберите баннер с предупреждением о необходимости миграции ваших URI.

    Неявный баннер предупреждения о потоке на плитке веб-приложения в Центре администрирования Entra.

  4. Выберите только те URI перенаправления, приложения которых будут использовать MSAL.js 2.x, а затем нажмите кнопку "Настроить".

    Выберите вкладку URI перенаправления на странице SPA в центре администрирования Entra.

Теперь эти URI перенаправления должны отображаться на плитке платформы одностраничного приложения, показывая, что поддержка CORS с использованием потока кода авторизации и PKCE включена для этих URI.

Плитка одностраничного приложения при регистрации приложений на портале Azure

Обновите код до 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].

Следующие шаги