繁体   English   中英

ASP.NET 核心 web api 编辑承载认证

[英]ASP.NET Core web api editing Bearer auth

我已经实现了承载身份验证,但我想在其中进行一些自定义操作。 我需要验证声明 token_id 是否使用数据库中的token_id签出。 如果是,则请求应通过身份验证,在另一种情况下,应发回 401 响应。

为了验证不记名令牌,您可以自定义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;
            }
        };
    });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM