У меня есть веб-приложение Asp.Net Core 2.2 MVC, в котором вызовы базы данных обрабатываются через Asp.Net Core Web Api 2.2, и этот веб-API генерирует сообщение токена JWT, проверяющее учетные данные для входа, и возвращает его обратно в приложение MVC сТокен JWT.
В ядре приложения MVC Asp.Net контроллеры, снабженные атрибутом Authorize для проверки последующего запроса, поступают из браузера, но здесь я не могу проверить токен JWT.
Поэтому, пожалуйста,подскажите, как проверить токен JWT в веб-приложении MVC Asp.Net Core 2.2.
Заранее спасибо!
Код:
services.AddAuthentication(j =>
{
j.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
j.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
j.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(x =>
{
x.SaveToken = true;
x.RequireHttpsMetadata = true;
x.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidateAudience = true,
//ValidateLifetime = true,
//ValidateIssuerSigningKey = true,
ValidIssuer = "xyz.com",
ValidAudience = "xyz.com",
IssuerSigningKey = new SymmetricSecurityKey(key),
ClockSkew = TimeSpan.FromMinutes(5)
};
});
app.UseAuthentication();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Login}/{action=Login}/{id?}");
});