|
|
Modifier les données envoyées dans le CAS :
|
|
|
|
|
|
Pour modifier des attributs mis à disposition dans le CAS ça se passe ici :
|
|
|
`\Drupal\col_sso\EventSubscriber\CASAttributeAlterEventSubscriber::onCASAttributeAlter()`
|
|
|
|
|
|
Tu as déjà un mini exemple commenté dans la base de code mais il faut ajouter dans `$eventAttributes` une clé par nouvelle donnée à exposer. On déconseille de modifier les données existantes pour ne pas casser les usages éventuels par les applications.
|
|
|
|
|
|
Exemple pour transformer une image en URL absolue :
|
|
|
|
|
|
```
|
|
|
$avatar = $event->getUser()->get('field_avatar');
|
|
|
$eventAttributes['field_avatar'] = $avatar->entity->createFileUrl(FALSE);
|
|
|
```
|
|
|
|
|
|
Côté application qui va consommer les données, cela dépend de la techno (full PHP, symfo, D7, D8, etc).
|
|
|
Dans le cas de l'université, il y a un hook dédié à la modification des données utilisateurs :
|
|
|
`hook_cas_user_presave()` il permet de modifier les données de façon pérenne. Si elles ne sont pas stocker, tu peux utiliser le hook : `hook_cas_user_alter()`. Voir la doc du hook pour plus d'infos. Les données des attributs sont accessibles dans le tableau suivant : `$edit['cas_user']['attributes'][$field]`.
|
|
|
|
|
|
|
|
|
|
|
|
==========================================
|
|
|
|
|
|
Mailcatcher : http://colibris-sso.mail.happyculture.coop/
|
|
|
|
|
|
Environnements (Htpasswd : hc / iex7Joot) :
|
... | ... | |