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


Быстрый старт: Добавление входа через Microsoft в веб-приложение ASP.NET Core

Добро пожаловать! Это, вероятно, не страница, которую вы ожидали. Пока мы работаем над исправлением, эта ссылка должна привести вас к нужной статье.

Краткое руководство: Добавление входа с помощью Microsoft в веб-приложение ASP.NET Core

Приносим извинения за неудобства и благодарим за терпение! Мы работаем над устранением этой проблемы.

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

Шаг 1. Настройка приложения на портале Azure

Чтобы пример кода в этом кратком руководстве работал:

  • Для URI перенаправления введите https://localhost:44321/ и https://localhost:44321/signin-oidc.
  • Введите https://localhost:44321/signout-oidc для URL-адреса выхода front-channel.

Конечная точка авторизации выдает токены ID запроса.

Уже настроено Приложение настроено с помощью этих атрибутов.

Шаг 2. Скачивание проекта ASP.NET Core

Запустите проект.

Подсказка

Чтобы избежать ошибок, вызванных ограничениями длины пути в Windows, рекомендуется извлечь архив или клонировать репозиторий в каталог рядом с корнем диска.

Шаг 3. Приложение настроено и готово к выполнению

Мы настроили проект со значениями свойств вашего приложения и готовы к выполнению.

Замечание

Enter_the_Supported_Account_Info_Here

Дополнительные сведения

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

Как работает этот пример

Схема взаимодействия между веб-браузером, веб-приложением и платформой удостоверений Майкрософт в примере приложения.

Класс Стартап

ПО промежуточного слоя Microsoft.AspNetCore.Authentication использует Startup класс, который выполняется при запуске процесса размещения:

public void ConfigureServices(IServiceCollection services)
{
    services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
        .AddMicrosoftIdentityWebApp(Configuration.GetSection("AzureAd"));

    services.AddControllersWithViews(options =>
    {
        var policy = new AuthorizationPolicyBuilder()
            .RequireAuthenticatedUser()
            .Build();
        options.Filters.Add(new AuthorizeFilter(policy));
    });
   services.AddRazorPages()
        .AddMicrosoftIdentityUI();
}

Метод AddAuthentication() настраивает службу для добавления проверки подлинности на основе файлов cookie. Эта проверка подлинности используется в сценариях браузера и для задания задачи OpenID Connect.

Строка, содержащая .AddMicrosoftIdentityWebApp проверку подлинности платформы удостоверений Майкрософт, добавляется в приложение. Затем приложение настроено для входа пользователей на основе следующих сведений в AzureAD разделе файла конфигурации appsettings.json :

Ключ appsettings.json Описание
ClientId Идентификатор приложения (клиента), зарегистрированного на портале Azure.
Instance Конечная точка службы токенов безопасности для проверки подлинности пользователей. Обычно это значение https://login.microsoftonline.com/, указывающее на общедоступное облако Azure.
TenantId Имя арендатора или идентификатор арендатора (GUID), или common, чтобы войти в систему с рабочими или учебными учетными записями, а также с личными учетными записями Microsoft.

Метод Configure() содержит два важных метода: app.UseAuthentication() и app.UseAuthorization(), которые обеспечивают упомянутые функциональные возможности. Кроме того, в методе Configure() необходимо зарегистрировать веб-маршруты Microsoft Identity Web по крайней мере с одним вызовом endpoints.MapControllerRoute() или вызовом endpoints.MapControllers().

app.UseAuthentication();
app.UseAuthorization();

app.UseEndpoints(endpoints =>
{
    endpoints.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}");
    endpoints.MapRazorPages();
});

Атрибут для защиты контроллера или методов

Вы можете защитить контроллер или методы контроллера, используя атрибут [Authorize]. Этот атрибут разрешает доступ к контроллеру или методам только тем пользователям, которые прошли проверку подлинности. Затем можно запустить вызов проверки подлинности для доступа к контроллеру, если пользователь не прошел проверку подлинности.

Помощь и поддержка

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

Дальнейшие действия

Репозиторий GitHub, содержащий этот учебник ASP.NET Core, содержит инструкции и дополнительные примеры кода, которые показано, как:

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