Код: Выделить всё
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApi(configuration.GetSection(ConfigurationKeys.AzureEntraIdSection));
services.AddAuthorization();
Я изучил эту статью, которая выполняет следующее:
Итак, чтобы избежать путаницы, мы используем аутентификацию JWT и продолжим использовать аутентификацию JWT даже после того, как мы реализуем логику httponly cookie. Cookie будет использоваться в качестве механизма транспортировки и ничего более - поэтому мы не используем аутентификацию cookie здесь, и нам не нужно регистрировать промежуточное программное обеспечение cookie. < /P>
Но что нам нужно DO расширяет конфигурацию JWTBearer с помощью свойства Events и создать ее с новым классом JWTBearEREVENTS ... тогда внутри мы называем свойство OnMessageReceived, которое действует как событие здесь, когда -то аутентификация Сообщение протокола получено. Это делегат Func, который принимает контекст в качестве параметра.
Код: Выделить всё
options.Events = new JwtBearerEvents
{
OnMessageReceived = ctx =>
{
ctx.Request.Cookies.TryGetValue("accessToken", out var accessToken);
if (!string.IsNullOrEmpty(accessToken))
ctx.Token = accessToken;
return Task.CompletedTask;
}
};
Есть мысли? Frontend построен с Svelte и использует Arctic, если это имеет значение
Подробнее здесь: https://stackoverflow.com/questions/794 ... p-net-core