Здравствуйте! Пытаюсь сделать кастомную валидцацию токена, но ничего не выходит.
Я хочу добавить в алгоритм валидации токена проверку на blacklist.
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(o => o.AddPolicy("MyPolicy", builder =>
{
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader();
}));
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
options.RequireHttpsMetadata = false;
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidIssuer = AuthOptions.ISSUER,
ValidateAudience = true,
ValidAudience = AuthOptions.AUDIENCE,
// будет ли валидироваться время существования
ValidateLifetime = true,
IssuerSigningKey = AuthOptions.GetSymmetricSecurityKey(),
ValidateIssuerSigningKey = true,
SignatureValidator = AuthOptions.signatureValidator
};
});
services.AddControllers();
services.AddSingleton<TaskQueue>(new TaskQueue());
}
public static JwtSecurityToken signatureValidator(string token, TokenValidationParameters parameters)
{
var jwt = new JwtSecurityToken(token);
return jwt;
}
Но даже без лишних проверок мой код работает некорректно. При попытке обратиться к контроллеру я получаю статус 401 Unauthorized.
Спасибо!