ASP.NET Core редактирование веб-API - PullRequest
0 голосов
/ 26 сентября 2019

У меня реализована аутентификация Bearer, но я хочу выполнить в ней некоторые пользовательские действия.Мне нужно убедиться, что заявка token_id проверяется с помощью token_id в базе данных.Если это так, запрос должен пройти аутентификацию, в другом случае ответ 401 должен быть отправлен обратно.

1 Ответ

1 голос
/ 27 сентября 2019

Для проверки токена на предъявителя вы можете настроить OnTokenValidated как

services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
    .AddJwtBearer(options =>
    {
        options.Events = new JwtBearerEvents {
            OnTokenValidated = async context =>
            {                            
                var accessToken = context.SecurityToken as JwtSecurityToken;
                var dbContext = services.BuildServiceProvider().CreateScope().ServiceProvider.GetRequiredService<ApplicationDbContext>();
                var tags = await dbContext.Tags.ToListAsync();
                context.Fail("Token is invalid");
                return;
            }
        };
    });
...