Quiero usar certificados para MTLS. Estoy pensando en formas no solo de autenticar sino también de autorizar a los clientes.

En su forma actual, un certificado es principalmente para autenticar. Entonces, una opción tendría algún tipo de base de datos con una asignación de rol al certificado.

Me pregunto si es posible almacenar dichos metadatos directamente dentro del certificado. Similar a la forma en que los tokens podrían funcionar, donde llevan sus propios reclamos.

Creo que, si es posible, tiene la ventaja de que el backend no tiene estado, además de tener que conocer la CA que firmó el certificado de cliente. La desventaja puede ser que una vez que un certificado tiene ciertos roles, ya no se pueden cambiar.

Pero, ahora mismo, solo quiero saberlo. Qué tipo de metadatos se pueden almacenar en un certificado. Sé cosas como el nombre del sujeto y el país. ¿Es posible definir campos arbitrarios?

no answer