Упражнение — изменение способа представления данных с помощью шаблонов
В этом упражнении вы узнаете, как настроить шаблон компонента входа для отображения адреса электронной почты пользователя, выполнившего вход.
Перед началом работы
Прежде чем приступить к этому упражнению, выполните указанные ниже действия.
1. Настройка приложения Microsoft Entra
Для этого модуля требуется приложение со следующими параметрами:
- Имя: My app
- Платформа: одностраничное приложение (SPA)
- Поддерживаемые типы учетных записей: учетные записи в любом каталоге организации (любой каталог Microsoft Entra — мультитенантный) и личные учетные записи Майкрософт (например, Skype, Xbox)
- URI перенаправления: http://localhost:3000
Чтобы создать это приложение, выполните указанные ниже действия.
В браузере перейдите в Центр администрирования Microsoft Entra, войдите в систему и перейдите к идентификатору Microsoft Entra.
В расположенной слева области выберите пункт Регистрация приложений и щелкните Новая регистрация.
На экране Регистрация приложения введите следующие значения:
- Имя: введите имя вашего приложения.
- Поддерживаемые типы учетных записей: выберите Учетные записи в любом каталоге организации (любой каталог Microsoft Entra — мультитенантный) и личные учетные записи Майкрософт (например, Skype, Xbox).
-
URI перенаправления (необязательно): выберите Одностраничное приложение (SPA) и введите
http://localhost:3000
. - Нажмите Зарегистрировать.
2. Настройте свою среду
На рабочем столе создайте папку customize-mgt.
Откройте папку customize-mgt в Visual Studio Code.
В Visual Studio Code в папке customize-mgt создайте файл index.html.
Скопируйте следующий код в index.htmlи замените
YOUR-CLIENT-ID
скопированным идентификатором приложения (клиента) из созданного ранее приложения Microsoft Entra.<!DOCTYPE html> <html lang="en"> <head> <script src="https://unpkg.com/@microsoft/mgt@3/dist/bundle/mgt-loader.js"></script> </head> <body> <mgt-msal2-provider client-id="YOUR-CLIENT-ID"></mgt-msal2-provider> <mgt-login></mgt-login> <mgt-agenda></mgt-agenda> </body> </html>
Добавьте папку с именем .vscode в корневую папку проекта.
Добавьте файл с именем settings.json в папку .vscode. Скопируйте и вставьте указанный ниже код в файл settings.json и сохраните этот файл.
{ "liveServer.settings.host": "localhost", "liveServer.settings.port": 3000 }
Использование шаблонов в компоненте Login
Предположим, вам необходимо отображать электронный адрес пользователя в качестве содержимого кнопки "Выполнен вход в систему" в компоненте Login. Вы можете использовать тег template
в компоненте <mgt-login>
и добавить выражение signed-in-button-content
в качестве значения параметра data-type
. В шаблоне используйте выражение {{personDetails.mail}}
для доступа и отображения электронного адреса пользователя. Компонент Login будет выглядеть, как в этом примере:
<mgt-login>
<template data-type="signed-in-button-content">
<div>{{personDetails.mail}}</div>
</template>
</mgt-login>
Совет
Если вы используете Microsoft Graph Toolkit с библиотекой JavaScript, в которой уже используется {{ }}
, можно настроить Microsoft Graph Toolkit таким образом, чтобы использовать другие символы, например [[ ]]
, для обозначения шаблонов и предотвращения конфликтов с платформой JavaScript.
Окончательная версия файла index.html будет выглядеть, как в этом примере:
<!DOCTYPE html>
<html lang="en">
<head>
<script src="https://unpkg.com/@microsoft/mgt@3/dist/bundle/mgt-loader.js"></script>
</head>
<body>
<mgt-msal2-provider client-id="YOUR-CLIENT-ID"></mgt-msal2-provider>
<mgt-login>
<template data-type="signed-in-button-content">
<div>{{personDetails.mail}}</div>
</template>
</mgt-login>
<mgt-agenda
date="June 28, 2023"
days="3"
group-by-day>
</mgt-agenda>
</body>
</html>
Тестирование приложения в браузере
В Visual Studio Code нажмите указанные ниже клавиши и найдите Live Server.
- Windows: CTRL+SHIFT+P
- macOS: COMMAND+SHIFT+P
Запустите Live Server, чтобы протестировать приложение.
В браузере перейдите по адресу
http://localhost:3000
. Если файл index.html открыт при запуске Live Server, браузер откроетhttp://localhost:3000/Index.html
. Обязательно измените URL-адрес наhttp://localhost:3000
, прежде чем входить с помощью учетной записи разработчика Microsoft 365. Если не обновить URL-адрес, появится следующая ошибка.The redirect URI 'http://localhost:3000/Index.html' specified in the request does not match the redirect URIs configured for the application <Your client ID>. Make sure the redirect URI sent in the request matches one added to your application in the Azure portal. Navigate to https://aka.ms/redirectUriMismatchError to learn more about how to fix this.
Войдите в систему, используя свою учетную запись разработчика Microsoft 365. Предоставьте необходимые разрешения и нажмите кнопку Принять.
Теперь после того как пользователь выполнит вход в систему, в содержимом кнопки "Выполнен вход в систему" будет отображаться электронный адрес этого пользователя.