Я использую промежуточное ПО для аутентификации, которое отправляет API-запросы к сторонней службе. Затем это ПО промежуточного слоя устанавливает утверждения, которые впоследствии обрабатываются обработчиком авторизации в сочетании с IAuthorizationRequirement и настраиваемой политикой.
Часть промежуточного программного обеспечения работает, и я могу создавать претензии:
context.User.AddIdentity(identity); // contains claims
Где я застрял, так это перенаправление на определенный URL-адрес (есть настраиваемые правила для того, куда нам нужно перенаправить) из обработчика или атрибута. Из обработчика я пробовал:
var mvcContext = context.Resource as Microsoft.AspNetCore.Mvc.Filters.AuthorizationFilterContext;
mvcContext.Result = new RedirectToActionResult("login", "home", null);
но это игнорируется; возвращается только 401. AuthorizeAttribute
больше не имеет OnAuthorization, поэтому я тоже не могу его использовать...
Мысли? Спасибо.