ASP.NET Core 2.0 middleware de autenticación

Con Core 1.1 siguió los consejos de @ blowdart e implementó un middleware personalizado:

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

Funcionó así:

Middleware corrió. Recogió un token de los encabezados de solicitud.Verificó el token y, si es válido, creó una identidad (ClaimsIdentity) que contenía múltiples reclamos que luego se agregó a través de HttpContext.User.AddIdentity ();En ConfigureServices usando services.AddAuthorization, agregué una política para exigir el reclamo que proporciona el middleware.En los controladores / acciones, usaría [Authorize (Roles = "alguna función que agregó el middleware")]

Esto funciona de alguna manera con 2.0, excepto que si el token no es válido (paso 2 anterior) y el reclamo nunca se agrega, obtengo "No se especificó el esquema de autenticación, y no se encontró DefaultChallengeScheme".

Así que ahora estoy leyendo que la autenticación cambió en 2.0:

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

¿Cuál es el camino correcto para que yo haga lo mismo en ASP.NET Core 2.0? No veo un ejemplo para hacer una autenticación verdaderamente personalizada.

Respuestas a la pregunta(2)

Su respuesta a la pregunta