Поделиться через


Руководство. Настройка веб-приложения ASP.NET Core, которое проверяет подлинность пользователей

Применяется к: зеленый круг с символом белой галочки, указывающим следующее содержимое, применимое к клиентам рабочей силы. Клиенты рабочей силы зеленый круг с символом белой галочки, указывающий на следующее содержимое, применимое к внешним клиентам. Внешние клиенты (дополнительные сведения)

В этом руководстве описано, как создать веб-приложение ASP.NET Core и настроить его для проверки подлинности. Это часть 1 серии, демонстрирующая, как создать веб-приложение ASP.NET Core и подготовить его к проверке подлинности с помощью Центра администрирования Microsoft Entra. Это приложение можно использовать для сотрудников в арендаторе рабочей платформы или для клиентов, использующих внешнего арендатора.

Изучив это руководство, вы:

  • Создание веб-приложения ASP.NET Core
  • Создание самозаверяющего сертификата
  • Настройка параметров для приложения
  • Определение параметров платформы и URL-адресов

Необходимые условия

  • Учетная запись Azure с активной подпиской. Создать учетную запись бесплатно. Эта учетная запись должна иметь разрешения на управление приложениями. Используйте любую из следующих ролей, необходимых для регистрации приложения:
    • Администратор приложений
    • Разработчик приложений
  • Хотя можно использовать любую интегрированную среду разработки (IDE), поддерживающую ASP.NET core, в этом руководстве используется Visual Studio Code. Его можно скачать здесь.
  • Минимальное требование .NET 8.0 SDK .
  • Сертификат разработчика ASP.NET Core. Установите один с помощью dotnet dev-certs
  • Зарегистрируйте новое приложение в Центре администрирования Microsoft Entra, настроенное только для учетных записей в этом каталоге организации. Дополнительные сведения см. в статье "Регистрация приложения ". Запишите следующие значения на странице обзора приложения для последующего использования:
    • Идентификатор приложения (клиента)
    • Идентификатор каталога (арендатора)
  • Добавьте следующие URI перенаправления с помощью конфигурации веб-платформы . Дополнительные сведения см. в статье о добавлении URI перенаправления в приложение .
    • Переадресация URI: https://localhost:5001/signin-oidc
    • URL для выхода из фронтального канала: https://localhost:5001/signout-oidc
  • В целях разработки создать самозаверяющий сертификат. См. , добавьте учетные данные для загрузки сертификата и записи отпечатка сертификата . Не используйте самозаверяющий сертификат для рабочих приложений. Используйте доверенный центр сертификации.

Создание проекта ASP.NET Core

В этом разделе описано, как создать проект ASP.NET Core в Visual Studio Code.

  1. Откройте Visual Studio Code и выберите "Открыть папку" > .... Перейдите к папке и выберите расположение, в котором нужно создать проект.

  2. Откройте новый терминал, выбрав терминал > новый терминал.

  3. Введите следующую команду, чтобы сделать проект контроллера представления модели (MVC) ASP.NET Core.

    dotnet new mvc -n identity-client-web-app
    

Установка пакетов идентификации

Это приложение использует Microsoft.Identity.Web и соответствующий пакет NuGet должен быть установлен.

Используйте следующий фрагмент кода, чтобы перейти в новую папку identity-client-web-app и установить соответствующий пакет NuGet:

cd identity-client-web-app
dotnet add package Microsoft.Identity.Web.UI

Настройка приложения для проверки подлинности

Веб-приложения, которые выполняют вход пользователей с помощью платформы удостоверений Майкрософт, настраиваются с помощью файла конфигурации appsettings.json. В ASP.NET Core необходимо указать следующие значения:

Setting Description
Instance Конечная точка проверки подлинности для запуска приложения в национальных облаках. Используйте один из следующих вариантов:
- https://login.microsoftonline.com/ (общедоступное облако Azure)
- https://login.microsoftonline.us/ (Azure для государственных организаций США)
- https://login.microsoftonline.de/ (Microsoft Entra Germany)
- https://login.partner.microsoftonline.cn/ (Microsoft Entra China, оператором которого является 21Vianet)
TenantId Идентификатор клиента, в котором зарегистрировано приложение. Рекомендуется использовать идентификатор клиента из регистрации приложения. Альтернативы:
- organizations (любая рабочая или учебная учетная запись)
- common (рабочая/учебная или личная учетная запись Майкрософт)
- consumers (Только персональные учетные записи Майкрософт).
ClientId Идентификатор приложения (клиента), полученного из регистрации приложения.
CertificateThumbprint Отпечаток сертификата, отправленного в Центр администрирования Microsoft Entra (см. добавление учетных данных).
CallbackPath Путь, используемый для перенаправления ответов; задано /signin-oidc для этого руководства.
DownstreamApi Идентификатор, определяющий конечную точку для доступа к Microsoft Graph. Объедините универсальный код ресурса (URI) приложения с требуемой областью (например, user.read).

Обновление файла конфигурации

В интегрированной среде разработки откройте appsettings.json и замените содержимое файла следующим фрагментом кода. Замените текст в кавычках значениями, записанными ранее.

{
  "AzureAd": {
    "Instance": "https://login.microsoftonline.com/",
    "TenantId": "Enter_the_Tenant_Id_Here",
    "ClientId": "Enter_the_Application_Id_Here",
    "ClientCertificates": [
      {
        "SourceType": "StoreWithThumbprint",
        "CertificateStorePath": "CurrentUser/My",
        "CertificateThumbprint": "Enter the certificate thumbprint obtained the Microsoft Entra admin center"
      }   
    ],
    "CallbackPath": "/signin-oidc"
  },
    "DownstreamApi": {
      "BaseUrl": "https://graph.microsoft.com/v1.0/",
      "RelativePath": "me",
      "Scopes": [ 
        "user.read" 
      ]
    },
    "Logging": {
      "LogLevel": {
        "Default": "Information",
        "Microsoft.AspNetCore": "Warning"
      }
    },
    "AllowedHosts": "*"
  }

Обновление URI перенаправления

Согласно предварительным требованиям, URI перенаправления установлен на https://localhost:5001/signin-oidc. Это необходимо обновить в параметрах запуска приложения. Вы можете использовать URI перенаправления, созданный во время настройки локального приложения, или любой другой доступный номер порта, если он соответствует URI перенаправления в регистрации приложения.

  1. В папке свойств откройте файл launchSettings.json.

  2. Найдите объект https и обновите значение applicationURI с правильным номером порта, в данном случае 5001. Строка должна выглядеть примерно так, как показано в следующем фрагменте кода:

    "applicationUrl": "https://localhost:5001;http://localhost:{port}",
    

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