Я пытаюсь пропустить проверку токена для методов, которые я хочу сделать "общедоступными" в своем API.
В моем автозагрузке я получил следующее событие, чтобы проверить, авторизован ли вызов:
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)]
в метод, который я хочу пропустить, но при этом приведенный выше код запускает.
Знаете ли вы, как я могу отключить его только для определенных методов?