Actions
API Gestion des permissions » History » Revision 1
Revision 1/3
| Next »
Simon, 07/03/2024 12:45 PM
API Gestion des permissions¶
La version 2.8 de Linea21 offre une API avec 3 types d'accès en fonction de la configuration.
Cette configuration est définie dans le fichier config.ini avec la constante API_PROVIDE qui peut prendre 3 valeurs :
- 0 : la fonctionnalité API est désactivée
- "full-access" : la fonctionnalité API est accessible à tous sans contrôle et sans distinction des utilisateurs
- "limited-access" : la fonctionnalité API est accessible à un ou plusieurs utilisateurs par un système de jeton ( token ).
Les deux premiers cas de figures ne nécessitent pas d'explication particulière. En revanche, la configuration de l'API en "limited-access" implique de fournir des instructions à Linea21.
Préparer un fichier de permissions pour un accès en "limited-access"¶
Le système utilise un fichier de permissions respectant la structure suivante, au format json :
{
"linea21-6685453c9821b": {
"description": "Lien avec tel établissement",
"contact": "YYYY xxxx <yyy.xxx@etablissement.org>",
"permissions": {
"indicator": [
"list",
"info",
"info-full",
"values",
"info-values",
"last-value"
],
"level": [
"list"
],
"status": "all"
}
},
"linea21-895223bc9878a": {
"description": "Un autre utilisateur de l'API",
"contact": "AAA BBB <aaa.bbb@utilisateur.org>",
"permissions": {
"indicator": [
"all"
],
"level": [
"list"
]
}
},
}
Quelques explications sur la base du premier utilisateur :
- le jeton ( token ) peut être généré manuellement. Ici, il est généré par utilisation de la fonction php uniqid() accessible en ligne ici :https://www.w3schools.com/PHP/phptryit.asp?filename=tryphp_func_misc_uniqid
- les clés description et contact permettent la traçabilité de l'accès
- la clé permissions permet de définir l'ensemble des permissions par module. A titre d'illustration ici, l'utilisateur du jeton "linea21-6685453c9821b" est autorisé à effectuer les actions suivantes pour le module indicator : "list", "info", "info-full", "values", "info-values", "last-value". C'est à dire l'ensemble des actions disponibles, ce qui aurait pu être remplacé par l'instruction simple "all" comme pour le deuxième jeton
- par défaut, seuls les contenus publics sont retournés (P). Il est possible toutefois de récupérer les contenus en brouillon (D), archivés publiquement (PA), archivés - administration seule (AA)
Updated by Simon 6 months ago · 1 revisions