Junior — Middle
Можете ли да обясните какво е JWT и как се използва в ASP.NET приложения?
sobes.tech AI
Отговор от AI
JWT (JSON Web Token) е компактен и безопасен начин за предаване на информация между страни под формата на 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 позволява сигурно и удобно управление на сесиите без съхраняване на състояние на сървъра.