У меня есть веб-приложение .NET 8, которое использует Microsoft Entra ID для аутентификации пользователей.
Мне необходимо перенести это приложение с использования файлов cookie. использовать какой-либо подход на основе токенов (JWT или что-то еще, например, новый токен носителя .NET 8, тип токена на самом деле не имеет значения, важно то, что мне нужно избегать использования файлов cookie).
< br />
Я немного поискал в Интернете, но не смог найти достойного руководства о том, как это сделать. Существует множество объяснений, как использовать аутентификацию на основе токенов, но все они используют базу данных пользователей и вручную вызывают метод .SignIn() для обработки аутентификации, в то время как мне нужно реализовать поток аутентификации Azure Id/Entra ID. , где пользователь перенаправляется на страницу входа Microsoft/SSO и после входа в систему перенаправляется обратно в мое веб-приложение.
На данный момент это моя настройка аутентификации, в которой используется файл cookie:
Код: Выделить всё
services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApp(options =>
{
options.Instance = appSettings.AzIdInstance;
options.Domain = appSettings.AzIdDomain;
options.TenantId = appSettings.AzIdTenantId;
options.ClientId = appSettings.AzIdClientId;
options.CallbackPath = appSettings.AzIdCallbackPath;
options.SignedOutCallbackPath = appSettings.AzIdSignOutCallbackPath;
options.NonceCookie.Name = "myAppNonceCookieName";
options.NonceCookie.SameSite = SameSiteMode.None;
options.CorrelationCookie.Name = "myAppCorrelationCookieName";
options.CorrelationCookie.SameSite = SameSiteMode.None;
});
Источник: https://stackoverflow.com/questions/781 ... a-id-authe