Краткое руководство. Вход пользователей и вызов Microsoft Graph из классического приложения Node.js
В этом кратком руководстве описывается, как скачать и выполнить пример кода. В примере кода показано, как в классическом приложении Electron реализовать вход пользователей и получение маркеров доступа для вызова API Microsoft Graph.
В рамках этого краткого руководства используется библиотека проверки подлинности Майкрософт для Node.js (MSAL Node) с потоком кода авторизации с использованием PKCE.
Необходимые компоненты
- Node.js
- Visual Studio Code или любой другой редактор кода.
Регистрация и скачивание примера приложения
Выполните шаги ниже, чтобы начать.
Шаг 1. Регистрация приложения
Совет
Действия, описанные в этой статье, могут немного отличаться на портале, с который вы начинаете работу.
Чтобы зарегистрировать приложение и добавить сведения о его регистрации в решение вручную, сделайте следующее:
- Войдите в Центр администрирования Microsoft Entra как минимум администратор облачных приложений.
- Если у вас есть доступ к нескольким клиентам, используйте значок "Параметры" в верхнем меню, чтобы переключиться на клиент, в котором вы хотите зарегистрировать приложение из меню каталогов и подписок.
- Перейдите к приложениям> удостоверений>Регистрация приложений и выберите "Создать регистрацию".
- Введите имя приложения, например
msal-node-desktop
. Пользователи приложения могут видеть это имя. Вы можете изменить его позже. - Выберите Зарегистрировать, чтобы создать приложение.
- В разделе Управление выберите Проверка подлинности.
- Поочередно выберите Добавить платформу>Мобильные и классические приложения.
- В разделе URI перенаправления введите
http://localhost
. - Выберите Настроить.
Шаг 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. Запуск приложения
Зависимости этого примера необходимо установить один раз:
cd ms-identity-javascript-nodejs-desktop-main npm install
Затем запустите приложение с помощью командной строки или консоли:
npm start
Выберите Войти, чтобы начать процесс входа.
При первом входе вам будет предложено предоставить согласие на то, чтобы приложение могло выполнить вход и получить доступ к вашему профилю. После успешного входа вы будете перенаправлены обратно на домашнюю страницу приложения.
Дополнительные сведения
Как работает этот пример
Когда пользователь впервые выбирает кнопку входа , acquireTokenInteractive
вызывается метод MSAL Node. Этот метод перенаправляет пользователя на вход с помощью конечной точки платформа удостоверений Майкрософт, получает код авторизации, а затем обменивается им на маркер доступа.
MSAL Node
Библиотека MSAL Node нужна для обработки входа пользователей и запросов маркеров, которые используются для доступа к API, защищенному платформой удостоверений Майкрософт. Дополнительные сведения об использовании MSAL Node с классическими приложениями см. в этой статье.
Вы можете установить MSAL Node, выполнив следующую команду npm.
npm install @azure/msal-node --save
Следующие шаги
Дополнительные сведения о разработке классических приложений Electron с помощью MSAL Node см. в учебнике: