Упражнение — подключение приложения ASP.NET Core к Microsoft 365

Завершено

В этом упражнении вы будете работать с приложением ASP.NET Core и подключите его к Microsoft 365. Вы будете использовать сборку .NET Core с именем Microsoft.Identity.Web, чтобы предоставить пользователям возможность входить в приложение с учетной записью Microsoft 365. Затем имена и аватары этих пользователей будут выведены на экран с помощью SDK Microsoft Graph .NET Core.

Настройка и запуск примера приложения

Это упражнение упрощает создание базового веб-приложения. Чтобы получить начальный код приложения, который вам предстоит использовать, перейдите в https://github.com/microsoftdocs/mslearn-m365-microsoftgraph-dotnetcorerazor и выберите один из следующих вариантов.

  • Если вы используете Git, клонируйте проект с помощью команды git clone:

    git clone https://github.com/microsoftdocs/mslearn-m365-microsoftgraph-dotnetcorerazor.git
    
  • Если вы не используете Git, нажмите кнопку Код, а затем — Скачать ZIP. Извлеките файл *.zip на компьютер.

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

  1. Перейдите в папку с исходным кодом приложения и выберите один из следующих вариантов в зависимости от редактора кода.

    • Visual Studio (2019 версия 16.11.0 или выше)

      Дважды щелкните MicrosoftGraph-DotNetCoreRazor.sln в папке mslearn-m365-microsoftgraph-dotnetcorerazor/Begin для открытия проекта.

    • Visual Studio Code или другой редактор кода

      Откройте папку mslearn-m365-microsoftgraph-dotnetcorerazor/Begin в редакторе кода.

  2. В редакторе кода откройте файл appsettings.json и ознакомьтесь с заданными в нем параметрами.

  3. Измените значение свойства Scopes как указано ниже, чтобы разрешить доступ для чтения к профилю и присутствию пользователя, параметрам почтовых ящиков (для сведений о часовом поясе) и календарям.

    user.read presence.read mailboxsettings.read calendars.read
    
  4. Прежде чем продолжать работу, сохраните appsettings.json.

  5. Чтобы добавить значения ClientId и ClientSecret идентификатора Microsoft Entra, используйте секреты приложения ASP.NET Core.

  6. Откройте окно терминала в корневой папке mslearn-m365-microsoftgraph-dotnetcorerazor/Begin и запустите следующие команды, заменив YOUR_APP_ID на Идентификатор приложения (клиент) с портала Azure, а YOUR_APP_SECRET — на созданный вами секрет приложения.

    dotnet user-secrets init
    dotnet user-secrets set "AzureAd:ClientId" "YOUR_APP_ID"
    dotnet user-secrets set "AzureAd:ClientSecret" "YOUR_APP_SECRET"
    

    Важно!

    В случае производственного приложения вы можете хранить конфиденциальные сведения в безопасном месте, например в Azure Key Vault.

  7. В этом проекте используются следующие сборки платформы удостоверений Майкрософт и Microsoft Graph:

    • Microsoft.Identity.Web: используется для запроса и управления маркерами доступа.
    • Microsoft.Identity.Web.UI: обеспечивает функцию входа и выхода в пользовательском интерфейсе.
    • Microsoft.Identity.Web.MicrosoftGraph: обеспечивает внедрение зависимостей для SDK Microsoft Graph.
  8. Выполните следующий шаг в зависимости от используемого редактора кода:

    • Visual Studio

      Нажмите клавишу F5, чтобы выполнить сборку и запуск проекта.

    • Visual Studio Code или другой редактор кода

      Откройте окно терминала в папке Begin и запустите указанную ниже команду.

      dotnet run
      

    Важно!

    Если появляется предупреждение о том, что сертификат localhost не является доверенным, см. инструкции по использованию CLI .NET Core для доверия к сертификату разработки в статье Доверие к сертификату разработки ASP.NET Core HTTPS на Windows и macOS. Если вы работаете в Visual Studio и еще не утвердили сертификат разработчика на компьютере, вам может быть предложено утвердить сертификат.

  9. Откройте браузер и перейдите по адресу https://localhost:5001.

    Совет

    Если вы постоянно используете Microsoft 365 в работе и планируете выполнять это упражнение в клиенте для разработки (рекомендуется), возможно, вам лучше открыть браузер в режиме инкогнито или в приватном режиме. Вы даже можете выбрать другой браузер или другой профиль браузера, отличный от того, который обычно используете для работы.

  10. Войдите с помощью своей учетной записи Microsoft 365.

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

  12. В приложении появится приветственное сообщение с вашим именем пользователя и аватаром.

  13. Закройте браузер и нажмите клавиши CTRL+C в окне терминала, чтобы остановить сервер.

    Примечание.

    Если вы открыли проект в Visual Studio, можете закрыть браузер или нажать клавиши SHIFT+F5 в Visual Studio, чтобы остановить сервер. Закройте окно терминала Visual Studio, если оно еще открыто.