Cómo poner roles de identidad ASP.net en el token de identidad Identityserver4

Aunque estoy muy contento de que IdentityServer4 exista y haga que la vida con respecto a la autenticación sea mucho más fácil en muchos sentidos, me he topado con el problema y las muchas discusiones sobre agregar roles a las reclamaciones dentro de la comunidad.

Mis requisitos son simples:

Desarrollo aplicaciones (formularios xamarin) que requieren autenticación y autorizaciónNecesito un sistema para almacenar la identidad de mis usuarios (nombre, contraseña, roles, teléfono ...) -> Identidad ASP.netNecesito un sistema para autenticar a mis usuarios -> IdentityServer 4Los roles por usuario son muy limitados (usuario / administrador) y no cambianNecesito un back-end API y un sitio de administración MVC (asp.net core)Quiero limitar el acceso a algunos controladores API / MVC usando [Authorize (Roles = "Admin")]

He pasado innumerables horas probando diferentes configuraciones para obtener roles de Identidad asp.net que se pasarán a mi aplicación MVC después de la autenticación, pero sin suerte. El objetivo es el descrito en el punto 6.

También he pasado innumerables horas leyendo, pero tengo la sensación de que la implementación de IdentityServer4.AspIdentity con respecto a los roles ha cambiado mucho desde la versión v1.0.0.

Después de leer mucho sobre esto, no queda claro cómo implementar esto realmente, ya que parece que parte de la solución descrita hace solo 2 meses ya no es válida.

Entonces, por ahora creo que hay 2 caminos:

Role al token de identidad solicitando solo un token de identidad y usando AlwaysIncludeInIdToken?¿Permitir que el cliente recupere los roles utilizando el punto final userinfo e inyectarlos de alguna manera en el httpcontext (?) Permitiendo mvc para verificar usando [Authorize (Roles = "Admin")]?

De todos modos, esas son mis suposiciones.

Entonces, ¿puede ayudar y explicar / documentar en detalle para que podamos comenzar a implementar esto de una manera duradera? Algunos ejemplos viables también serían geniales.

Respuestas a la pregunta(1)

Su respuesta a la pregunta