Есть ли пример того, как использовать это с приложением WebAPI?

e 1.1 последовал совету @ blowdart и реализовал собственное промежуточное ПО:

https://stackoverflow.com/a/31465227/29821

Это сработало так:

Промежуточное программное обеспечение работает. Подобрал токен из заголовка запроса.Проверял токен и, если он действительный, создавал идентичность (ClaimsIdentity), которая содержала несколько утверждений, которые затем добавлялись через HttpContext.User.AddIdentity ();В ConfigureServices используя services.AddAuthorization я добавил политику, требующую утверждения, которое предоставляется промежуточным программным обеспечением.В контроллерах / действиях я бы тогда использовал [Authorize (Roles = "некоторая роль, которую добавило промежуточное ПО")]

Это в некоторой степени работает с 2.0, за исключением того, что, если токен недействителен (шаг 2 выше), и утверждение никогда не добавляется, я получаю «Не был указан AuthenticationScheme и не было найдено DefaultChallengeScheme».

Итак, теперь я читаю, что аутентификация изменилась в 2.0:

https://docs.microsoft.com/en-us/aspnet/core/migration/1x-to-2x/identity-2x

Какой правильный путь я могу сделать в ASP.NET Core 2.0? Я не вижу пример, чтобы сделать действительно пользовательскую аутентификацию.