назад

JWT-токен в cookie в ASP.Net Core: максимальная безопасность и контроль

Новость 19.09.2025
JWT-токены распространены, чтобы обеспечивать процессы авторизации и аутентификации между сервером и клиентами. Стандартная схема их использования включает в себя передачу токена через заголовок Authorization и обновление с использованием рефреш-токена и рефреш-эндпоинта.

Во время аутентификации клиент получает от сервера токен и должен его где-то сохранить, чтобы потом передавать серверу с каждым запросом. Хранится токен в месте, доступном из JS кода, что порождает уязвимость к XSS атакам. Кроме того, клиенту требуется реализовать логику рефреша.

Иногда в проекте может возникнуть потребность в полном контроле над токеном со стороны сервера: он должен иметь возможность не только проверить, но и обновить или отозвать токен. В этом случае можно применять передачу JWT-токенов через HTTP-Only cookie. Об этом — техлид IT_ONE Сергей Белоусов.

Настройка контейнера ServiceCollection

Рассмотрим на примере. Для добавления работы с JWT-токенами через cookie в фреймфорке ASP.NET Core необходимо в Program.cs добавить следующие строки:

services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme).AddJwtBearer(options =>
{
// выставляем настройки под нужды своего проекта, здесь просто пример
options.TokenValidationParameters = new TokenValidationParameters()
{
ValidateIssuer = true,
ValidIssuer = issuer,
ValidateAudience = true,
ValidAudience = audience,
ValidateLifetime = true,
ValidateIssuerSigningKey = true,
IssuerSigningKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(issuerSigningKey))
};

// здесь и происходит перевод токена из cookie в контекст
options.Events = new JwtBearerEvents
{
OnMessageRecei ved = context =>
{
if(context.Request.Cookies.ContainsKey(Constants.TokenCookieName))
context.Token = context.Request.Cookies[Constants.TokenCookieName];
return Task.CompletedTask;
}
};
});

Подробнее по ссылке

Рекомендуем

Мероприятие 29.11.25

IT_One Java Meetup «Джедайские трюки Java, или Как оптимизировать приложения»

Мероприятие 29.11.25

Практика проектных метрик в разработке программного обеспечения

Мероприятие 29.11.25

Ирина Сокольская, IT_ONE: Секрет успеха — баланс hard и soft skills ИТ-специалистов

Мероприятие 29.11.25

Ирина Сокольская, IT_ONE: Секрет успеха — баланс hard и soft skills ИТ-специалистов

Мероприятие 29.11.25

Ирина Сокольская, IT_ONE: Секрет успеха — баланс hard и soft skills ИТ-специалистов

обсудить сотрудничество

Я даю согласие на обработку персональных данных в целях потенциального партнерства. С Политикой обработки персональных данных можно ознакомиться здесь.

Я даю согласие ООО «ИТ1» и компаниям на направление мне маркетинговых материалов и коммерческих предложений. Проставляя галочку, я также даю согласие на обработку персональных данных в указанных целях.

Возврат к списку