Одностраничное приложение: Регистрация приложения

Чтобы зарегистрировать одностраничное приложение (SPA) на платформе удостоверений Майкрософт, сделайте следующее. Процедура регистрации будет разной для MSAL.js 1.0 с поддержкой неявного потока предоставления разрешений и MSAL.js 2.0 с поддержкой потока кода авторизации с использованием PKCE.

Создание регистрации приложения

Для обоих типов приложений (на основе MSAL.js версии  1.0 и 2.0) сначала создается исходная регистрация приложения.

  1. Войдите на портал Azure.
  2. Если у вас есть доступ к нескольким клиентам, в верхнем меню используйте фильтр Каталог и подписка , чтобы выбрать клиент, в котором следует зарегистрировать приложение.
  3. Найдите и выберите Azure Active Directory.
  4. В разделе Управление выберите Регистрация приложений > Создать регистрацию.
  5. Введите значение Name (Имя) для приложения. Пользователи приложения могут видеть это имя. Вы можете изменить его позже.
  6. Выберите поддерживаемые типы учетных записей для приложения. НЕ указывайте URI перенаправления. Описание разных типов учетных записей см. в статье Регистрация приложения.
  7. Щелкните Зарегистрировать, чтобы создать регистрацию приложения.

Теперь присвойте этой регистрации приложения URI перенаправления, чтобы указать, куда платформа удостоверений Майкрософт будет перенаправлять клиенты с любыми маркерами безопасности. Выполните действия с учетом используемой в приложении версии MSAL.js:

URI перенаправления: MSAL.js 2.0 с потоком кода авторизации

Выполните следующие действия, чтобы добавить URI перенаправления для приложения с библиотекой MSAL.js 2.0 или более поздней версии. MSAL.js 2.0 и более поздние версии поддерживают поток кода авторизации с использованием PKCE и CORS, что связано с ограничениями в браузерах на прием сторонних файлов cookie. Неявный поток предоставления разрешений в MSAL.js 2.0 и более поздних версиях не поддерживается.

  1. На портале Azure выберите регистрацию приложения, создание которой описано в разделе Создание регистрации приложения.
  2. В разделе Управление выберите Проверка подлинности > Добавить платформу.
  3. В разделе Веб-приложения щелкните плитку Одностраничные приложения.
  4. В поле URI перенаправления введите URI перенаправления. НЕ устанавливайте флажки в разделе Неявное предоставление и гибридные потоки.
  5. Щелкните Настроить, чтобы завершить добавление URI перенаправления.

Итак, вы завершили регистрацию одностраничного приложения (SPA) и настроили URI перенаправления, на который будут перенаправляться все клиенты и оправляться маркеры безопасности. Когда вы завершите настройку URI перенаправления, используя плитку Одностраничное приложение на панели Добавить платформу, для регистрации приложения будет настроена поддержка потока кода авторизации с помощью PKCE и CORS.

Рекомендации можно найти в учебнике.

URI перенаправления: MSAL.js 1.0 с неявным потоком

Выполните следующие действия, чтобы добавить URI перенаправления для одностраничного приложения с библиотекой MSAL.js 1.3 или более ранней версии, которая использует поток неявного предоставления разрешений. Приложения, которые используют MSAL.js 1.3 или более раннюю версию, не поддерживают поток кода авторизации.

  1. На портале Azure выберите регистрацию приложения, создание которой описано в разделе Создание регистрации приложения.
  2. В разделе Управление выберите Проверка подлинности > Добавить платформу.
  3. В разделе Веб-приложения щелкните плитку Одностраничные приложения.
  4. В поле URI перенаправления введите URI перенаправления.
  5. Включите неявное предоставление разрешения и гибридные потоки:
  6. Щелкните Настроить, чтобы завершить добавление URI перенаправления.

Итак, вы завершили регистрацию одностраничного приложения (SPA) и настроили URI перенаправления, на который будут перенаправляться все клиенты и оправляться маркеры безопасности. Установив флажки Маркеры идентификации и Маркеры доступа, вы включили неявный поток предоставления разрешений.

Примечание о потоках авторизации

По умолчанию регистрация приложения, настроенная на платформе одностраничного приложения, включает поток кода авторизации. Но чтобы использовать этот поток, приложение должно работать с библиотекой MSAL.js 2.0 или более поздней версии.

Как уже упоминалось, одностраничные приложения с MSAL.js 1.3 могут работать только с потоком неявного предоставления разрешений. В текущих рекомендациях по OAuth 2.0 предлагается использовать для одностраничных приложений поток кода авторизации, а не неявный поток. Наличие маркеров обновления с ограниченным сроком действия также позволяет приложению учитывать современные ограничения браузеров в отношении конфиденциальности файлов cookie, например Safari ITP.

Когда все рабочие одностраничные приложения, которые используют эту регистрацию приложения, будут использовать MSAL.js 2.0 и поток кода авторизации, снимите флажок поддержки неявного предоставления разрешений на панели Проверка подлинности на портале Azure для этой регистрации приложения. Но если вы оставите включенным неявный поток (установленный флажок), приложения с MSAL.js 1.x и неявным потоком будут и дальше нормально работать.

Дальнейшие действия

Настройте кода приложения для использования созданной на предыдущих шагах регистрации приложения: Конфигурация кода приложения.