С Core 1.1 последовал за советом @blowdart и реализовал пользовательское промежуточное ПО:
Он работал следующим образом:
- Произошло промежуточное ПО. Выбрал токен из заголовков запросов.
- Проверено токен, и если он действителен, построил идентификатор (ClaimsIdentity), содержащий несколько претензий, которые затем добавлены через HttpContext.User.AddIdentity();
- В ConfigureServices с помощью services.AddAuthorization Я добавил политику, требующую требования, предоставляемые промежуточным программным обеспечением.
- В контроллерах/действиях я использовал бы [Authorize (Роли = "роль, которую добавила промежуточное ПО)]
Это несколько работает с 2.0, за исключением того, что если токен недействителен (шаг 2 выше), и требование никогда не добавляется, я получаю "No authenticationScheme был указан, и не было обнаружено DefaultChallengeScheme".
Итак, теперь я читаю, что auth изменился в версии 2.0:
https://docs.microsoft.com/en-us/aspnet/core/migration/1x-to-2x/identity-2x
Какой правильный путь для меня сделать то же самое в ASP.NET Core 2.0? Я не вижу примера для подлинной аутентификации...
Спасибо