Custom modules for Pleiade local gov dashboard
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
pleiade-custom-modules/api_lemon_pleiade
Romain_L 2b5e1485f5 Simplify code, separate endpoints for apps and session info 2 years ago
..
css Last changes by Quentin 2 years ago
js Simplify code, separate endpoints for apps and session info 2 years ago
src Simplify code, separate endpoints for apps and session info 2 years ago
CHANGELOG.md Last changes for testing 2 years ago
LICENSE.txt Base module to query LemonLDAP myapplications endpoint with auth cookie 2 years ago
README.md Update module README to be more explicit 2 years ago
README.txt Base module to query LemonLDAP myapplications endpoint with auth cookie 2 years ago
api_lemon_pleiade.info.yml Base module to query LemonLDAP myapplications endpoint with auth cookie 2 years ago
api_lemon_pleiade.libraries.yml Remove hardcoded Lemon url, get it from module settings, send myapplications param in ajax 2 years ago
api_lemon_pleiade.links.menu.yml Menu and sortable blocks from Lemon API 2 years ago
api_lemon_pleiade.module Remove hardcoded Lemon url, get it from module settings, send myapplications param in ajax 2 years ago
api_lemon_pleiade.routing.yml Simplify code, separate endpoints for apps and session info 2 years ago

README.md

Module Pléiade - Bureau virtuel

Contexte

Ce module est développé pour fonctionner dans un contexte SSO (Single Sign On) avec LemonLDAP et les applications compatibles avec ce dernier.

graph LR
A[OpenLDAP] ----> B((LemonLDAP))
B --> C(Zimbra)
B --> D(Pastell)
B --> E(iParapheur)
B --> F(Glpi)
B --> G(...)
B --> Z{Pléiade}
C --> Z
D --> Z
E --> Z
F --> Z
G --> Z

L'objectif est de fournir à l'utilisateur un bureau virtuel qui affiche et formatte les informations métiers pour l'assister dans son travail quotidien.

SSO, utilisateurs LDAP et Drupal

Méthodes d'authentification testées :

Les modules permettent une création automatique du compte utilisateur dans Drupal à sa première connexion, en utilisant les attributs exposés par LemonLDAP.

Page d'administration

Une page permettant de paramétrer les urls/endpoints des différents applicatifs se trouve à :

/admin/config/api_lemon_pleiade/settings

Appels des API LemonLDAP et des applicatifs compatibles

Les appels des API externes se font avec CURL. Il faut s'assurer d'installer et activer le mod php-curl :

apt install php-curl
phpenmod curl

LemonLDAP

  • liste des applications de l'utilisateur
  • historique des connexions de l'utilisateur
  • paramètres TOTP / MFA

Exemple d'une requête complète vers LemonLDAP / Myapplications :

curl 'https://auth.mydomain.com/myapplications' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8' -H 'Accept-Language: fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3' -H 'Accept-Encoding: gzip, deflate, br' -H 'DNT: 1' -H 'Connection: keep-alive' -H 'Cookie: llnglanguage=fr; lemonldap=xxxxxxxxxxxxxxx' -H 'Upgrade-Insecure-Requests: 1' -H 'Sec-Fetch-Dest: document' -H 'Sec-Fetch-Mode: navigate' -H 'Sec-Fetch-Site: none' -H 'Sec-Fetch-User: ?1' -H 'Pragma: no-cache' -H 'Cache-Control: no-cache'

Le bureau virtuel récupère et affiche les catégories et applications auxquelles l'utilisateur a accès, sous forme de liens dans le menu latéral de gauche, et sous forme de blocs cliquables et déplaçables avec la librairie SortableJS

Zimbra

TODO

Pastell

TODO