Краткое руководство. Добавление входа с помощью Корпорации Майкрософт в веб-приложение ASP.NET Core
Добро пожаловать! Возможно, это не та страница, которую вы ожидали. Пока мы работаем над исправлением, воспользуйтесь этой ссылкой, чтобы перейти к нужной статье:
Краткое руководство. Добавление входа с помощью Корпорации Майкрософт в веб-приложение ASP.NET Core
Приносим извинения за неудобства и благодарим за терпение! Мы работаем над устранением этой проблемы.
В этом кратком руководстве вы скачайте и запустите пример кода, демонстрирующий, как веб-приложение ASP.NET Core может выполнять вход пользователей из любой организации Microsoft Entra.
Шаг 1. Настройка приложения на портале Azure
Чтобы пример кода, приведенный в этом кратком руководстве, работал, сделайте следующее:
- В поле URI перенаправления введите https://localhost:44321/ и https://localhost:44321/signin-oidc.
- Для параметра Front-channel logout URL (URL-адрес выхода Front-channel) введите значение https://localhost:44321/signout-oidc.
Конечная точка авторизации будет выдавать маркеры идентификации запросов.
Приложение настроено с помощью этих атрибутов.
Шаг 2. Скачивание проекта ASP.NET Core
Запустите проект.
Совет
Чтобы избежать ошибок, вызванных ограничениями длины пути в Windows, рекомендуется извлечь архив или клонировать репозиторий в каталог рядом с корневой папкой диска.
Шаг 3. Приложение настроено и готово к выполнению
Мы уже настроили для проекта нужные значения свойств приложения, и его можно запускать.
Примечание.
Enter_the_Supported_Account_Info_Here
Дополнительные сведения
В этом разделе представлен код, используемый для выполнения входа пользователей. Это может быть полезно для рассмотрения принципов работы кода и основных аргументов. Вы также поймете, нужно ли добавлять функцию входа в существующее приложение ASP.NET Core.
Как работает этот пример
Класс Startup
ПО промежуточного слоя 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 | Description |
---|---|
ClientId |
Идентификатор приложения (клиента), зарегистрированного на портале Azure. |
Instance |
Конечная точка службы токенов безопасности для проверки подлинности пользователей. Обычно это значение https://login.microsoftonline.com/ , указывающее на общедоступное облако Azure. |
TenantId |
Имя клиента, идентификатор клиента (уникальный идентификатор) или common для входа пользователей под рабочими, учебными или личными учетными записями Майкрософт. |
Метод 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.
- Добавление авторизации.
- Вход пользователей в национальные облака или вход с помощью удостоверений социальных сетей.