【发布时间】:2019-10-15 10:02:01
【问题描述】:
我正在尝试跳过我想在我的 API 上“公开”的方法的令牌验证。
在我的 StartUp 中,我收到以下事件来检查呼叫是否被授权:
x.Events = new JwtBearerEvents
{
OnTokenValidated = async context =>
{
var sessionManager = context.HttpContext.GetService<ISessionManager>();
if (!sessionManager.IsCurrentTokenValid())
{
context.HttpContext.Response.StatusCode = (int)HttpStatusCode.Unauthorized;
var message = Encoding.UTF8.GetBytes("invalidToken");
context.Response.OnStarting(async () =>
{
await context.Response.Body.WriteAsync(message, 0, message.Length);
});
}
}
};
我试图从控制器中删除[Authorize] 属性,但上面的代码仍然触发
还尝试在我想跳过验证但仍然触发上述代码的方法上添加[IgnoreAntiforgeryToken(Order = 1001)]。
你知道我怎样才能只对某些方法禁用它吗?
【问题讨论】:
标签: c# asp.net-core jwt-auth