Краткое руководство. Вход пользователей и вызов API Microsoft Graph из веб-приложения Node.js с помощью MSAL Node
При работе с этим кратким руководством вы скачаете и запустите пример кода. Он демонстрирует, как в веб-приложении Node.js реализовать вход пользователей с помощью потока кода авторизации, а также как получить маркер доступа для вызова API Microsoft Graph.
Иллюстрацию см. в разделе Как работает этот пример.
В рамках этого краткого руководства используется библиотека проверки подлинности Майкрософт для Node.js (MSAL Node) с потоком кода авторизации.
Необходимые компоненты
- Подписка Azure. Зарегистрируйте подписку Azure бесплатно.
- Node.js
- Visual Studio Code или любой другой редактор кода.
Регистрация и скачивание приложения, используемого в этом кратком руководстве
Шаг 1. Регистрация приложения
Совет
Действия, описанные в этой статье, могут немного отличаться на портале, с который вы начинаете работу.
- Войдите в Центр администрирования Microsoft Entra как минимум облачные приложения Администратор istrator.
- Если у вас есть доступ к нескольким клиентам, используйте значок Параметры в верхнем меню, чтобы переключиться на клиент, в котором вы хотите зарегистрировать приложение из меню каталогов и подписок.
- Перейдите к приложениям> удостоверений>Регистрация приложений и выберите "Создать регистрацию".
- Введите значение Name (Имя) для приложения. Пользователи приложения могут видеть это имя. Вы можете изменить его позже.
- В разделе Поддерживаемые типы учетных записей выберите Учетные записи только в этом каталоге организации.
- В качестве типа URI перенаправления выберите Интернет и задайте значение
http://localhost:3000/auth/redirect
. - Выберите Зарегистрировать.
- На странице приложения Обзор запишите идентификатор приложения (клиента) для использования в будущем.
- В разделе Управление выберите Сертификаты и секреты>Секреты клиента>Создать секрет клиента. Оставьте поле для описания пустым, а параметр срока действия — по умолчанию. Затем выберите Добавить.
- Запишите значение параметра Секрет клиента для последующего использования.
Шаг 2. Скачивание проекта
Скачайте основные файлы проекта, чтобы запустить проект с помощью веб-сервера, используя Node.js.
Шаг 3. Настройка приложения Node
Извлеките проект, откройте папку ms-identity-node-main, а затем — файл .env в папке App. Замените значения, как показано ниже:
«Переменная» | Description | Пример(ы) |
---|---|---|
Enter_the_Cloud_Instance_Id_Here |
Облачный экземпляр Azure, в котором зарегистрировано приложение | https://login.microsoftonline.com/ (включая завершающую косую черту) |
Enter_the_Tenant_Info_here |
Идентификатор арендатора или основной домен | contoso.microsoft.com или aaaabbbb-0000-cccc-1111-dddd2222eeee |
Enter_the_Application_Id_Here |
Идентификатор клиента зарегистрированного приложения | 00001111-aaaa-2222-bbbb-3333cccc4444 |
Enter_the_Client_Secret_Here |
Секрет клиента зарегистрированного приложения | A1b-C2d_E3f.H4i,J5k?L6m!N7o-P8q_R9s.T0u |
Enter_the_Graph_Endpoint_Here |
Облачный экземпляр API Microsoft Graph, который будет вызывать ваше приложение | https://graph.microsoft.com/ (включая завершающую косую черту) |
Enter_the_Express_Session_Secret_Here |
Случайная строка символов, используемая для подписывания файла cookie сеанса Express | A1b-C2d_E3f.H4... |
Файл должен выглядеть примерно так:
CLOUD_INSTANCE=https://login.microsoftonline.com/
TENANT_ID=aaaabbbb-0000-cccc-1111-dddd2222eeee
CLIENT_ID=00001111-aaaa-2222-bbbb-3333cccc4444
CLIENT_SECRET=A1b-C2d_E3f.H4...
REDIRECT_URI=http://localhost:3000/auth/redirect
POST_LOGOUT_REDIRECT_URI=http://localhost:3000
GRAPH_API_ENDPOINT=https://graph.microsoft.com/
EXPRESS_SESSION_SECRET=6DP6v09eLiW7f1E65B8k
Шаг 4. Запуск проекта
Запустите проект с помощью Node.js, выполнив приведенные ниже действия.
Чтобы запустить сервер, выполните в каталоге проекта следующую команду.
cd App npm install npm start
Переход к
http://localhost:3000/
.Выберите Войти, чтобы начать процесс входа.
При первом входе вам будет предложено предоставить согласие на то, чтобы приложение могло выполнить вход и получить доступ к вашему профилю. После успешного входа вы будете перенаправлены обратно на домашнюю страницу приложения.
Дополнительные сведения
Как работает этот пример
В этом примере веб-сервер размещается по адресу localhost (порт 3000). Когда веб-браузер получает доступ к этому адресу, приложение отображает домашнюю страницу. Когда пользователь выберет вход, приложение перенаправляет браузер на экран входа Microsoft Entra с помощью URL-адреса, созданного библиотекой узлов MSAL. После согласия пользователя браузер перенаправляет пользователя обратно на домашнюю страницу приложения вместе с идентификатором и маркером доступа.
MSAL Node
Библиотека MSAL Node — это библиотека, используемая для выполнения входа пользователей и запросов маркеров, которые нужны для доступа к API, защищенному платформой удостоверений Майкрософт. Последнюю версию можно скачать с помощью диспетчера пакетов Node.js (NPM):
npm install @azure/msal-node
Следующие шаги
Узнайте больше, создав веб-приложение ASP.NET Core, которое входит в систему пользователей в следующей серии учебников с несколькими частью: