Инициализация объекта общедоступного клиентского приложения в MSAL Node

В этой статье вы узнаете, как инициализировать объект PublicClientApplication в MSAL Node и как настроить центр авторизации.

Необходимые условия

Прежде чем инициализировать приложение, сначала необходимо зарегистрировать его в Центр администрирования Microsoft Entra, установив связь доверия между приложением и платформа удостоверений Майкрософт.

После регистрации приложения вам потребуется некоторые или все следующие значения, которые можно найти в Центр администрирования Microsoft Entra.

Ценность Обязательный Description
Идентификатор приложения (клиента) Обязательный GUID, который однозначно идентифицирует ваше приложение на платформе идентификации Microsoft.
Авторитет Optional URL-адрес поставщика удостоверяющих данных ( instance) и аудитория для входа для вашего приложения. Экземпляр и аудитория входа в систему при объединении составляют центр авторизации.
ИД каталога (арендатора) Optional Укажите идентификатор каталога (клиента), если вы создаете бизнес-приложение исключительно для вашей организации, часто называемое однотенантным приложением.
Перенаправляющий URI Optional Если вы разрабатываете веб-приложение, элемент redirectUri указывает, куда поставщик удостоверений (платформа удостоверений Майкрософт) должен возвращать выданные им токены безопасности.

Инициализация объекта PublicClientApplication

Чтобы использовать MSAL Node, необходимо создать экземпляр объекта PublicClientApplication . Мы поддерживаем и настоятельно рекомендуем использовать PKCE (ключ подтверждения для обмена кодом) для любого приложения типа PublicClientApplication. Шаблон использования показан в примере PKCE.

import * as msal from "@azure/msal-node";

const clientConfig = {
    auth: {
        clientId: "your_client_id",
        authority: "your_authority",
    }
};
const pca = new msal.PublicClientApplication(clientConfig);

Основы конфигурации

Параметры конфигурации для узла имеют common параметры и specific пареметры для каждого потока проверки подлинности.

  • client_id является обязательным для инициализации общедоступного клиентского приложения
  • authority по умолчанию имеет значение https://login.microsoftonline.com/common/, если пользователь не задаёт его при настройке

Дополнительные параметры Конфигурации см. в разделе Конфигурация в MSAL Node.

Настроить центр сертификации

По умолчанию MSAL настраивается с клиентом common , который используется для мультитенантных приложений и приложений, разрешающих персональные учетные записи (а не B2C).

const msalConfig = {
    auth: {
        clientId: 'your_client_id',
        authority: 'https://login.microsoftonline.com/common/'
    }
};

Если ваше приложение предназначено для одного арендатора, необходимо указать authority с идентификатором вашего арендатора, как показано ниже:

const msalConfig = {
    auth: {
        clientId: 'your_client_id',
        authority: 'https://login.microsoftonline.com/{your_tenant_id}'
    }
};

Если ваше приложение использует отдельный OIDC-совместимый центр аутентификации, например "https://login.live.com" или IdentityServer, необходимо указать его в поле knownAuthorities и установить для protocolMode значение "OIDC".

const msalConfig = {
    auth: {
        clientId: 'your_client_id',
        authority: 'https://login.live.com',
        knownAuthorities: ["login.live.com"],
        protocolMode: "OIDC"
    }
};

Дальнейшие шаги