Personalizar las afirmaciones de tokens

Recuerda que las entidades de usuario en la plataforma tienen un atributo opcional llamado extraFields, donde puedes poner un valor JSON con información personalizada.

Este atributo se puede utilizar para mejorar el token JWT (también conocido como token claims).

Por ejemplo, supongamos que tenemos un usuario con la siguiente información:

 

{ "username": "developer", "mail": "developer@onesaitplatform.com", "fullName": "A Developer of the Platform.", "role": "ROLE_DEVELOPER", "created": "19/05/2021", "updated": "27/05/2021", "active": true, "extraFields": "{\"organization\":\"myorganization\",\"postalCode\":28080,\"affiliations\":{\"soccer\":\"Real Madrid\"}}" }

 

Organization, postalCode y affiliations pueden liberarse en las afirmaciones JWT.

Para ello, ve a la consola de administración de Keycloak (es decir, https://{DNS}/auth ), inicia sesión como usuario administrador, y ve a la configuración del Realm → scopes del cliente → openid

Ahora ve a mappers y haz clic en "create".

Rellena el formulario con el nombre del atributo, en este caso "organization", y selecciona JSON como Claim JSON Type:

Repite el proceso para el resto de atributos.

Ahora, cuando se genere el token para cada usuario, el GI (Gestor de Identidad) intentará cargar estas afirmaciones si están presentes en el atributo extraFields del usuario.