Back to questions
Junior — Middle
62
Можете объяснить, что такое JWT и как оно используется в ASP.NET приложениях?
Answer from AI
sobes.tech AI
JWT (JSON Web Token) — это компактный, URL-безопасный способ передачи информации между сторонами в виде JSON-объекта. В ASP.NET приложениях JWT часто используется для аутентификации и авторизации пользователей.
Принцип работы:
- При входе пользователя сервер создает JWT, содержащий полезные данные (например, идентификатор пользователя, роли) и подписывает его секретным ключом.
- Клиент сохраняет этот токен и отправляет его в заголовке Authorization при последующих запросах.
- Сервер проверяет подпись токена, извлекает данные и на их основе принимает решение о доступе.
Пример настройки JWT в ASP.NET Core:
services.AddAuthentication(options => {
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(options => {
options.TokenValidationParameters = new TokenValidationParameters {
ValidateIssuer = true,
ValidateAudience = true,
ValidateLifetime = true,
ValidateIssuerSigningKey = true,
ValidIssuer = "yourIssuer",
ValidAudience = "yourAudience",
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("yourSecretKey"))
};
});
Таким образом, JWT позволяет безопасно и удобно управлять сессиями без хранения состояния на сервере.