Changes for page DigDash API REST
Last modified by Aurelie Bertrand on 2025/05/15 16:29
From version 80.1
edited by Aurelie Bertrand
on 2025/04/29 14:20
on 2025/04/29 14:20
Change comment:
There is no comment for this version
To version 57.1
edited by Aurelie Bertrand
on 2024/09/04 11:09
on 2024/09/04 11:09
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 8 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 -DigDash API REST1 +DigDash API - Content
-
... ... @@ -11,16 +11,12 @@ 11 11 Swagger UI permet de visualiser et d'interagir avec les ressources des API. 12 12 Cette interface fournit également une documentation visuelle facilitant leur utilisation. 13 13 14 -Pour ouvrir Swagger UI, vous pouvez : 15 - 16 -* cliquer sur le lien **API** présent en bas de la page d'accueil 17 - 18 -* utiliser le lien suivant :((( 14 +Pour ouvrir Swagger UI, utilisez le lien suivant : 19 19 [[http:~~/~~/~[serveur~]:~[port~]/~[domaine~]/staticwebcontent/swagger/>>url:http://[serveur]:[port]/[domain]/updateuser]] 20 20 dans lequel vous remplacez [serveur], [port] et [domaine] par vos informations. 17 + 21 21 Par exemple: 22 22 [[http:~~/~~/localhost:8080/ddenterpriseapi/staticwebcontent/swagger/>>http://localhost:8080//ddenterpriseapi/staticwebcontent/swagger/]] 23 -))) 24 24 25 25 Vous accéderez ainsi à l'interface avec les ressources des API disponibles, classées par type. 26 26 ... ... @@ -30,7 +30,7 @@ 30 30 ))) 31 31 32 32 (% class="wikigeneratedid" %) 33 -[[image:D igDash_API.png||alt="Interface Swagger" height="770" width="1043"]]29 +[[image:DD_API.png]] 34 34 35 35 = S'authentifier{{id name="Auth"/}} = 36 36 ... ... @@ -47,11 +47,8 @@ 47 47 * ((( 48 48 **BearerAuth** : La méthode Bearer Authentification (authentification du porteur) qui utilise des jetons de sécurité appelés jetons de porteur. 49 49 ))) 50 -* ((( 51 -**ApiKeyAuth** : La méthode Api Key Authentification qui permet de s'identifier avec une clé API. 52 -))) 53 53 54 -La méthode BasicAuth sera utilisée pour la première authentification. Vous pourrez alors générer un jeton de sécurité ou uneclé API et utiliser l'unedesdeuxautres méthodes.47 +La méthode BasicAuth sera utilisée pour la première authentification. Vous pourrez alors générer un jeton de sécurité et utiliser la seconde méthode d'authentification. 55 55 56 56 (% class="box warningmessage" %) 57 57 ((( ... ... @@ -68,16 +68,11 @@ 68 68 1. Entrez votre nom d'utilisateur et mot de passe Digdash. 69 69 1. Cliquez sur le bouton **Authorize** puis, une fois l'authentification effectuée, sur **Close**. 70 70 ➡ Le cadenas est à présent fermé, signifiant que vous êtes autorisé. 71 -Vous pouvez à présent créer un jeton JWT ou un clé API pour vous connecter. 72 72 73 -== S'authentifiervia BearerAuth==65 +== Créer le jeton de sécurité == 74 74 75 - Une foisconnectévia BasicAuth,vous pouvezgénérer unjeton de sécuritépourvous identifier viala méthodeBearerAuth.67 +Nous allons créer ici le jeton de sécurité Json Web Token (JWT) : 76 76 77 -=== Créer un jeton de sécurité === 78 - 79 -Nous allons créer ici un jeton de sécurité Json Web Token (JWT) : 80 - 81 81 1. Allez dans la section **Authentication**. 82 82 1. Cliquez pour déplier **POST ddenterpriseapi/api/v1/auth/jwt.** 83 83 1. Avant de commencer, vous pouvez visualiser un exemple de requête et en passant sur l'onglet **Schema**, une description des différents éléments. ... ... @@ -87,24 +87,24 @@ 87 87 1*. **expires** : (Optionnel mais recommandé) Indiquez la période de validité du JWT spécifiée sous la forme d'une période de temps au format ISO 8601 (c'est-à-dire PT5M pour 5 minutes). Pour plus d'informations, consultez [[https:~~/~~/en.wikipedia.org/wiki/ISO_8601#Durations>>https://en.wikipedia.org/wiki/ISO_8601#Durations]]. 88 88 1*. **permissions **: Définissez les droits pour chaque type d'API : "none" pour aucun droit, "r" pour lecture seule, "rw" pour lecture-écriture. 89 89 Par exemple : 90 -[[image: DigDash_API_token_creation_FR.png||alt="Exemple authentification"]]78 +[[image:Requête_jwt.png||alt="Requête JWT"]] 91 91 92 92 (% class="box warningmessage" %) 93 93 ((( 94 -❗Une vérification sera effectuée sur les autorisations de l'uti lisateur dans Digdash (ACLs) en plus des droits du jetons.82 +❗Une vérification sera effectuée sur les autorisations de l'utiisateur dans Digdash (ACLs) en plus des droits du jetons. 95 95 ))) 96 96 97 97 (% start="5" %) 98 98 1. Cliquez sur le bouton **Execute **pour générer le jeton (JWT). 99 99 ➡ La réponse s'affiche dans la section **Server response** en-dessous. 100 -[[image: DigDash_API_token_creation_response_FR.png||alt="Réponseserveur"]]88 +[[image:Réponse_requête_JWT.png||alt="Réponse requête JWT"]] 101 101 1. Copiez le jeton JWT. 102 102 103 -=== =Signature du jeton de sécurité ====91 +=== Signature du jeton de sécurité === 104 104 105 -Une clé privée utilisée pour signer le JWT est généréepardéfaut.Cette clé est temporaireet est régénérée à chaque redémarrage duserveur.93 +Une clé privée utilisée pour signer le JWT est codée en dur par défaut. 106 106 107 -Pour éviterce problème etaméliorerlasécurité, il est vivement recommandé d'utiliser votre propre clé privée pour la signature des jetons JWT à l'aide des variables d'environnement suivantes :95 +Pour des raisons de sécurité, il est vivement recommandé d'utiliser votre propre clé privée pour la signature des jetons JWT à l'aide des variables d'environnement suivantes : 108 108 109 109 * **DD_JWT_SECRETKEY_PATH**: cette variable permet de définir le chemin vers une clé privée RSA. 110 110 * **DD_JWT_SECRETKEY**: cette variable permet de définir un mot de passe personnalisé. ... ... @@ -114,7 +114,7 @@ 114 114 La clé privée RSA peut être générée à l'aide de la commande suivante (nécessite l'outil openssl) : 115 115 116 116 {{code language="shell"}} 117 -openssl genrsa -out /path/to/privatekey.pem 2048 105 +openssl -genrsa -out /path/to/privatekey.pem 2048 118 118 {{/code}} 119 119 120 120 La clé publique RSA peut être générée à partir de la clé privée à l'aide de la commande suivante (optionnel): ... ... @@ -123,44 +123,17 @@ 123 123 openssl rsa -in /path/to/privatekey.pem -pubout -out /path/to/publickey.crt 124 124 {{/code}} 125 125 126 -== S'authentifier via ApiKeyAuth ==114 +== S'authentifier via BearerAuth == 127 127 128 -=== Créer une clé API === 116 +(% class="wikigeneratedid" id="HUnefoislejetondesE9curitE9gE9nE9rE92CvouspouvezvousauthentifieraveccettemE9thode:" %) 117 +(% style="font-size:14px" %)Une fois le jeton de sécurité généré, vous pouvez vous authentifier avec cette méthode : 129 129 130 -Nous allons créer ici une clé API : 131 - 132 -1. Allez dans la section **Authentication**. 133 -1. Cliquez pour déplier **POST ddenterpriseapi/api/v1/auth/apikeys** 134 -1. Avant de commencer, vous pouvez visualiser un exemple de requête et en passant sur l'onglet **Schema**, une description des différents éléments. 135 -1. Cliquez sur **Try it out **en haut à droit afin de définir votre requête. Celle-ci comprend les éléments suivants : 136 -1*. **targetUser** : (Optionnel) Indiquez le nom de l'utilisateur à emprunter. Cela ne fonctionne que si l'utilisateur utilisé pour créer la clé API dispose de l'autorisation (ACL) **Admin > Autoriser l'emprunt d'identité**. 137 -S'il n'est pas renseigné, l'utilisateur utilisé par défaut est celui connecté, ce qui sera généralement le cas. 138 -1*. **expires** : (Optionnel) Indiquez la période de validité la clé API spécifiée sous la forme d'une période de temps au format ISO 8601 (c'est-à-dire PT5M pour 5 minutes). Pour plus d'informations, consultez [[https:~~/~~/en.wikipedia.org/wiki/ISO_8601#Durations>>https://en.wikipedia.org/wiki/ISO_8601#Durations]]. 139 -1*. **permissions **: Définissez les droits pour chaque type d'API : "none" pour aucun droit, "r" pour lecture seule, "rw" pour lecture-écriture. 140 -Par exemple : 141 -[[image:1745928168043-553.png]] 142 - 143 -(% class="box warningmessage" %) 144 -((( 145 -❗Une vérification sera effectuée sur les autorisations de l'utilisateur dans Digdash (ACLs) en plus des droits du jetons. 146 -))) 147 - 148 -(% start="5" %) 149 -1. Cliquez sur le bouton **Execute **pour générer la clé API. 150 -➡ La réponse s'affiche dans la section **Server response** en-dessous. 151 -[[image:1745928288556-250.png||alt="Réponse serveur"]] 152 -1. Copiez la clé API. 153 - 154 -=== S'authentifier === 155 - 156 -Une fois la clé API générée, vous pouvez vous authentifier avec cette méthode : 157 - 158 158 1. Cliquez sur le bouton **Authorize**. 159 159 1. Dans la section **BasicAuth**, déconnectez-vous en cliquant sur le bouton **Logout**. 160 -1. Dans la section ** ApiKeyAuth**, collez lacléAPIdans le champ Value.121 +1. Dans la section **BearerAuth**, collez le jeton JWT dans le champ **Value**. 161 161 1. Cliquez sur **Authorize**. 162 162 163 -= Ressources API disponibles {{idname="ressources"/}} =124 += Ressources API disponibles = 164 164 165 165 == Liste des ressources == 166 166 ... ... @@ -167,12 +167,10 @@ 167 167 Les ressources disponibles sont classées par type : 168 168 169 169 * **Authentification **: pour la création des jetons de sécurité (JWT) 170 -* **User Management** : pour la gestion des utilisateurs et des éléments liés : profils, rôles, groupes d'autorisations, groupes d'autosations des rôles, etc. 171 -* **Session Management **: pour l'obtention de la liste des sessions, la supression de sessions. 131 +* **User Management** : pour la gestion des utilisateurs et des éléments liés : profils, rôles, groupes d'autorisations, etc. 172 172 * **System** : pour les informations système, service d'audit et ordonnanceur. 173 173 * **License Management** : pour la gestion des licences : activation, utilisateurs dans la licence, etc. 174 174 * **Event Management** : pour l'ajout d'évènements avec fireEvent. 175 -* **Connections **: pour la gestion des connexions aux bases de donnnées : liste, création, remplacement, supression. 176 176 177 177 (% class="box infomessage" %) 178 178 ((( ... ... @@ -191,11 +191,6 @@ 191 191 192 192 == Envoi de requêtes == 193 193 194 -(% class="box warningmessage" %) 195 -((( 196 -❗Pour rappel, une vérification est effectuée sur les autorisations de l'utilisateur dans Digdash (ACLs) en plus des droits du jetons. 197 -))) 198 - 199 199 (% style="line-height:1.7142857142857142; background-color:#ffffff; margin-bottom:15px; padding:3.75pt 0pt 0pt 0pt" %) 200 200 (% style="color:#182027; font-family:Arial,sans-serif; font-size:10.5pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)Lorsque vous y êtes autorisé, vous pouvez effectuer des requêtes : 201 201 ... ... @@ -207,9 +207,8 @@ 207 207 ➡ (% style="color:#182027; font-family:Arial,sans-serif; font-size:10.5pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)La requête est exécutée et la réponse s'affiche. 208 208 Un en-tête d'autorisation du porteur est automatiquement utilisé pour vos demandes. 209 209 210 -(% id="cke_bm_11947S" style="display:none" %) (%%)Swagger propose également des lignes de commande curl lors de l'exécution des requêtes afin d'aider à tester ou coder un outil en dehors du navigateur (dans un script par exemple). 211 -À noter qu'il faut spécifier, que soit pour curl ou un autre outil, les entêtes HTTP "Accept" (format du contenu à récupérer) et "Content-Type" (format du contenu envoyé) pour que les requêtes fonctionnent correctement. Ces deux entêtes peuvent prendre les valeurs "application/json" pour du json ou "application/xml" pour du xml. 212 -[[image:1725441504464-493.png]] 164 +(% style="color:#182027; font-family:Arial,sans-serif; font-size:10.5pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)S(%%)wagger propose également des lignes de commande curl lors de l'exécution des requêtes afin d'aider à tester ou coder un outil en dehors du navigateur (dans un script par exemple). 165 +À noter qu'il faut spécifier les entêtes HTTP "Accept" (format du contenu à récupérer) et "Content-Type" (format du contenu envoyé) pour que les requêtes fonctionnent correctement. Ces deux entêtes peuvent prendre les valeurs "application/json" pour du json ou "application/xml" pour du xml. 213 213 214 214 (% class="wikigeneratedid" id="HParamE8tres" %) 215 215 **Paramètres** ... ... @@ -220,10 +220,6 @@ 220 220 |(% style="width:173px" %)id (obligatoire)|(% style="width:608px" %)Spécifiez le nom de l'utilisateur, rôle.. selon l'API à utiliser pour l'opération. 221 221 |(% style="width:173px" %)resolveProfiles|(% style="width:608px" %)Si défini à //true//, si l'utilisateur a un profil, ce sont les informations du profil qui seront affichées. 222 222 Par exemple, si l'utilisateur a des rôles issus d'un profil, ce sont les rôles du profil qui seront affichés et non pas les rôles propres à l'utilisateur. 223 -|(% style="width:173px" %) |(% style="width:608px" %) 224 -|(% style="width:173px" %) |(% style="width:608px" %) 225 -|(% style="width:173px" %) |(% style="width:608px" %) 226 -|(% style="width:173px" %) |(% style="width:608px" %) 227 227 |(% colspan="2" style="background-color:grey; text-align:center; width:782px" %)(% style="color:#ffffff" %)**License management** 228 228 |(% style="width:173px" %)pattern|(% style="width:608px" %)Vous pouvez spécifier une expression régulière permettant de filtrer les utilisateurs à récupérer. 229 229 Par exemple, le pattern test.* va récupérer tous les utilisateurs dont le nom commence par test.
- 1725441504464-493.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.aureliebertranddigdashbiz - Size
-
... ... @@ -1,1 +1,0 @@ 1 -25.3 KB - Content
- 1745927162186-776.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.aureliebertranddigdashbiz - Size
-
... ... @@ -1,1 +1,0 @@ 1 -8.7 KB - Content
- 1745928144436-696.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.aureliebertranddigdashbiz - Size
-
... ... @@ -1,1 +1,0 @@ 1 -8.4 KB - Content
- 1745928168043-553.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.aureliebertranddigdashbiz - Size
-
... ... @@ -1,1 +1,0 @@ 1 -8.1 KB - Content
- 1745928288556-250.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.aureliebertranddigdashbiz - Size
-
... ... @@ -1,1 +1,0 @@ 1 -43.6 KB - Content
- DigDash_API.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.aureliebertranddigdashbiz - Size
-
... ... @@ -1,1 +1,0 @@ 1 -86.5 KB - Content
- DigDash_API_token_creation_FR.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.aureliebertranddigdashbiz - Size
-
... ... @@ -1,1 +1,0 @@ 1 -13.6 KB - Content
- DigDash_API_token_creation_response_FR.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.aureliebertranddigdashbiz - Size
-
... ... @@ -1,1 +1,0 @@ 1 -58.4 KB - Content