Краткое руководство. Вход пользователей и вызов Microsoft Graph из классического приложения Node.js

В этом кратком руководстве описывается, как скачать и выполнить пример кода. В примере кода показано, как в классическом приложении Electron реализовать вход пользователей и получение маркеров доступа для вызова API Microsoft Graph.

В рамках этого краткого руководства используется библиотека проверки подлинности Майкрософт для Node.js (MSAL Node) с потоком кода авторизации с использованием PKCE.

Необходимые компоненты

Регистрация и скачивание примера приложения

Выполните шаги ниже, чтобы начать.

Шаг 1. Регистрация приложения

Совет

Действия, описанные в этой статье, могут немного отличаться на портале, с который вы начинаете работу.

Чтобы зарегистрировать приложение и добавить сведения о его регистрации в решение вручную, сделайте следующее:

  1. Войдите в Центр администрирования Microsoft Entra как минимум облачные приложения Администратор istrator.
  2. Если у вас есть доступ к нескольким клиентам, используйте значок Параметры в верхнем меню, чтобы переключиться на клиент, в котором вы хотите зарегистрировать приложение из меню каталогов и подписок.
  3. Перейдите к приложениям> удостоверений>Регистрация приложений и выберите "Создать регистрацию".
  4. Введите имя приложения, например msal-node-desktop. Пользователи приложения могут видеть это имя. Вы можете изменить его позже.
  5. Выберите Зарегистрировать, чтобы создать приложение.
  6. В разделе Управление выберите Проверка подлинности.
  7. Поочередно выберите Добавить платформу>Мобильные и классические приложения.
  8. В разделе URI перенаправления введите http://localhost.
  9. Выберите Настроить.

Шаг 2. Скачивание примера проекта Electron

Скачивание примера кода

Шаг 3. Настройка примера проекта Electron

*Извлеките проект, откройте ms-identity-JavaScript-nodejs-desktop-main folder, а затем откройте .authConfig.js file. Замените значение следующим образом:

«Переменная» Description Пример(ы)
Enter_the_Cloud_Instance_Id_Here Облачный экземпляр Azure, в котором зарегистрировано приложение https://login.microsoftonline.com/ (включая завершающую косую черту)
Enter_the_Tenant_Id_Here Идентификатор арендатора или основной домен contoso.microsoft.com или aaaabbbb-0000-cccc-1111-dddd2222eeee
Enter_the_Application_Id_Here Идентификатор клиента зарегистрированного приложения 00001111-aaaa-2222-bbbb-3333cccc4444
Enter_the_Redirect_Uri_Here URI перенаправления зарегистрированного приложения msal00001111-aaaa-2222-bbbb-3333cccc4444://auth
Enter_the_Graph_Endpoint_Here Облачный экземпляр API Microsoft Graph, который будет вызывать ваше приложение https://graph.microsoft.com/ (включая завершающую косую черту)

Файл должен выглядеть примерно так:

const AAD_ENDPOINT_HOST = "https://login.microsoftonline.com/"; // include the trailing slash

const msalConfig = {
    auth: {
        clientId: "00001111-aaaa-2222-bbbb-3333cccc4444",
        authority: `${AAD_ENDPOINT_HOST}/aaaabbbb-0000-cccc-1111-dddd2222eeee`,
    },
    system: {
        loggerOptions: {
            loggerCallback(loglevel, message, containsPii) {
                 console.log(message);
             },
             piiLoggingEnabled: false,
             logLevel: LogLevel.Verbose,
        }
    }
}

const GRAPH_ENDPOINT_HOST = "https://graph.microsoft.com/"; // include the trailing slash

const protectedResources = {
     graphMe: {
         endpoint: `${GRAPH_ENDPOINT_HOST}v1.0/me`,
         scopes: ["User.Read"],
     }
};

module.exports = {
     msalConfig: msalConfig,
     protectedResources: protectedResources,
 };

Шаг 4. Запуск приложения

  1. Зависимости этого примера необходимо установить один раз:

    cd ms-identity-javascript-nodejs-desktop-main
    npm install
    
  2. Затем запустите приложение с помощью командной строки или консоли:

    npm start
    
  3. Выберите Войти, чтобы начать процесс входа.

    При первом входе вам будет предложено предоставить согласие на то, чтобы приложение могло выполнить вход и получить доступ к вашему профилю. После успешного входа вы будете перенаправлены обратно на домашнюю страницу приложения.

Дополнительные сведения

Как работает этот пример

Когда пользователь впервые выбирает кнопку входа , acquireTokenInteractive вызывается метод MSAL Node. Этот метод перенаправляет пользователя на вход с помощью конечной точки платформа удостоверений Майкрософт, получает код авторизации, а затем обменивается им на маркер доступа.

MSAL Node

Библиотека MSAL Node нужна для обработки входа пользователей и запросов маркеров, которые используются для доступа к API, защищенному платформой удостоверений Майкрософт. Дополнительные сведения об использовании MSAL Node с классическими приложениями см. в этой статье.

Вы можете установить MSAL Node, выполнив следующую команду npm.

npm install @azure/msal-node --save

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

Дополнительные сведения о разработке классических приложений Electron с помощью MSAL Node см. в учебнике: