Changes for page DigDash API REST

Last modified by Aurelie Bertrand on 2025/05/15 16:29

From version 79.1
edited by Aurelie Bertrand
on 2025/04/29 14:06
Change comment: There is no comment for this version
To version 95.1
edited by Aurelie Bertrand
on 2025/04/29 16:16
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -39,7 +39,7 @@
39 39  * (% 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" %)Cliquez sur le bouton (%%)**Authorize**(% 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" %) en haut à droite de la page Digdash API. (Le cadenas ouvert signifie que vous n’êtes pas autorisé.)(%%)
40 40  ➡ (% 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 fenêtre (%%)**Available authorizations** ((% 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" %)Autorisations disponibles) s'affiche.
41 41  
42 -Deux méthodes d'autorisation sont actuellement disponibles :
42 +Trois méthodes d'autorisation sont disponibles :
43 43  
44 44  * (((
45 45  **BasicAuth **: La méthode Basic Authentification qui permet de s'identifier avec le nom d'utilisateur et mot de passe du LDAP.
... ... @@ -68,9 +68,14 @@
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.
71 71  
72 -== Créer un jeton de sécurité ==
73 +== S'authentifier via BearerAuth ==
73 73  
75 +Une fois connecté via BasicAuth, vous pouvez générer un jeton de sécurité pour vous identifier via la méthode BearerAuth.
76 +
77 +=== Créer un jeton de sécurité ===
78 +
74 74  Nous allons créer ici un jeton de sécurité Json Web Token (JWT) :
75 75  
76 76  1. Allez dans la section **Authentication**.
... ... @@ -94,8 +94,10 @@
94 94  ➡ La réponse s'affiche dans la section **Server response** en-dessous.
95 95  [[image:DigDash_API_token_creation_response_FR.png||alt="Réponse serveur"]]
96 96  1. Copiez le jeton JWT.
102 +
97 97  
98 -=== Signature du jeton de sécurité ===
104 +(% class="wikigeneratedid" id="HSignaturedujetondesE9curitE9" %)
105 +**Signature du jeton de sécurité**
99 99  
100 100  Une clé privée utilisée pour signer le JWT est générée par défaut. Cette clé est temporaire et est régénérée à chaque redémarrage du serveur.
101 101  
... ... @@ -118,8 +118,22 @@
118 118  openssl rsa -in /path/to/privatekey.pem -pubout -out /path/to/publickey.crt
119 119  {{/code}}
120 120  
121 -== Créer une clé API ==
128 +=== S'authentifier ===
122 122  
130 +Une fois le jeton de sécurité généré, vous pouvez vous authentifier avec cette méthode :
131 +
132 +1. Cliquez sur le bouton **Authorize**.
133 +1. Dans la section **BasicAuth**, déconnectez-vous en cliquant sur le bouton **Logout**.
134 +1. Dans la section **BearerAuth**, collez le jeton JWT dans le champ **Value**.
135 +1. Cliquez sur **Authorize**.
136 +
137 +== S'authentifier via ApiKeyAuth ==
138 +
139 +
140 +Une fois connecté via BasicAuth, vous pouvez générer un jeton de sécurité pour vous identifier via la méthode BearerAuth.
141 +
142 +=== Créer une clé API ===
143 +
123 123  Nous allons créer ici une clé API :
124 124  
125 125  1. Allez dans la section **Authentication**.
... ... @@ -144,14 +144,17 @@
144 144  [[image:1745928288556-250.png||alt="Réponse serveur"]]
145 145  1. Copiez la clé API.
146 146  
147 -== S'authentifier via BearerAuth ==
168 +(% class="wikigeneratedid" %)
169 +La clé API est stockée côté serveur dans un fichier csv //apikeys.csv, //situé par défaut dans le répertoire //appdata/EnterpriseServer/ddenterpriseapi/config. //Vous pouvez modifier le répertoire, ou spécifier les répertoires dans le cas de plusieurs domaines, dans le fichier //digdash.properties// en les ajoutant sous la forme suivante //: ddenterprise.api_keys_path=/chemin/vers/fichier.csv.//
170 +La clé est hashée et ne peut donc être récupérée.
148 148  
149 -(% class="wikigeneratedid" id="HUnefoislejetondesE9curitE9gE9nE9rE92CvouspouvezvousauthentifieraveccettemE9thode:" %)
150 -(% style="font-size:14px" %)Une fois le jeton de sécurité généré, vous pouvez vous authentifier avec cette méthode :
172 +=== S'authentifier ===
151 151  
174 +Une fois la clé API générée, vous pouvez vous authentifier avec cette méthode :
175 +
152 152  1. Cliquez sur le bouton **Authorize**.
153 153  1. Dans la section **BasicAuth**, déconnectez-vous en cliquant sur le bouton **Logout**.
154 -1. Dans la section **BearerAuth**, collez le jeton JWT dans le champ **Value**.
178 +1. Dans la section **ApiKeyAuth**, collez la clé API dans le champ Value.
155 155  1. Cliquez sur **Authorize**.
156 156  
157 157  = Ressources API disponibles{{id name="ressources"/}} =
... ... @@ -208,27 +208,53 @@
208 208  (% class="wikigeneratedid" id="HParamE8tres" %)
209 209  **Paramètres**
210 210  
211 -(% style="width:785px" %)
212 -|(% colspan="2" style="background-color:grey; text-align:center; width:782px" %)(% style="color:#ffffff" %)**User management**
213 -|(% style="width:173px" %)includes|(% style="width:608px" %)Vous pouvez ajouter les rôles, autorisations (acls) et/ou groupes d'autorisations (groupacls) au résultat de la requête.
214 -|(% 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.
215 -|(% 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.
235 +(% style="width:1391px" %)
236 +|(% colspan="2" style="background-color:grey; text-align:center; width:1388px" %)(% style="color:#ffffff" %)**User management**
237 +|(% style="width:173px" %)includes|(% style="width:1214px" %)Vous pouvez ajouter les rôles, autorisations (acls) et/ou groupes d'autorisations (groupacls) au résultat de la requête.
238 +|(% style="width:173px" %)id (obligatoire)|(% style="width:1214px" %)Spécifiez le nom de l'utilisateur, rôle.. selon l'API à utiliser pour l'opération.
239 +|(% style="width:173px" %)resolveProfiles|(% style="width:1214px" %)Si défini à //true//, si l'utilisateur a un profil, ce sont les informations du profil qui seront affichées.
216 216  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.
217 -|(% style="width:173px" %) |(% style="width:608px" %)
218 -|(% style="width:173px" %) |(% style="width:608px" %)
219 -|(% style="width:173px" %) |(% style="width:608px" %)
220 -|(% style="width:173px" %) |(% style="width:608px" %)
221 -|(% colspan="2" style="background-color:grey; text-align:center; width:782px" %)(% style="color:#ffffff" %)**License management**
222 -|(% style="width:173px" %)pattern|(% style="width:608px" %)Vous pouvez spécifier une expression régulière permettant de filtrer les utilisateurs à récupérer.
241 +|(% colspan="2" style="background-color:grey; text-align:center; width:1388px" %)(% style="color:#ffffff" %)**Session management**
242 +|(% style="width:173px" %)users|(% style="width:1214px" %)Vous pouvez spécifier des utilisateurs pour la requête : cliquez sur le bouton **Add string item** et entrez le nom d'un utilisateur. Répétez l'opération si besoin avec les autres utilisateurs. 
243 +|(% colspan="2" style="background-color:grey; text-align:center; width:1388px" %)(% style="color:#ffffff" %)**Connection management**
244 +|(% style="width:173px" %)itemRole|(% style="width:1214px" %)Vous pouvez restreindre la requête aux connexions de bases de données resteintes aux rôles spécifiés ici.
245 +|(% style="width:173px" %)nameFilter|(% style="width:1214px" %)Vous pouvez restreindre la requête aux connexions de bases de données dont le nom contient la chaîne texte spécifiée ici.
246 +|(% style="width:173px" %)typeFilter|(% style="width:1214px" %)Vous pouvez restreindre la requête aux connexions de bases de données du ou des type(s) spécifiés ici.
247 +|(% style="width:173px" %)id (obligatoire)|(% style="width:1214px" %)Spécifiez l'identifiant de la connexion de base de données.
248 +|(% colspan="2" style="background-color:grey; text-align:center; width:1388px" %)(% style="color:#ffffff" %)**License management**
249 +|(% style="width:173px" %)pattern|(% style="width:1214px" %)Vous pouvez spécifier une expression régulière permettant de filtrer les utilisateurs à récupérer.
223 223  Par exemple, le pattern test.* va récupérer tous les utilisateurs dont le nom commence par test.
224 224  
225 225  = Expiration de l'authentification =
226 226  
227 227  (% style="line-height:1.7142857142857142; background-color:#ffffff" %)
228 -(% 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 le jeton de sécurité (JWT) expire, vous recevez une réponse (% style="color:#182027; font-family:~"Roboto Mono~",monospace; font-size:10pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)401:(%%) "Unauthorized".
255 +(% 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 le jeton de sécurité (JWT) ou la clé API expire, vous recevez une réponse (% style="color:#182027; font-family:~"Roboto Mono~",monospace; font-size:10pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)401:(%%) "Unauthorized".
229 229  (% 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" %)L'en-tête d'autorisation du porteur est toujours présent pour vos demandes, mais le jeton a expiré. Lorsque cela se produit, vous devez vous déconnecter de (%%)BearerAuth** **(% 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" %)et générer un nouveau jeton d'accès.
230 230  
231 231  1. (% 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" %)Cliquez sur le bouton **Authorize** pour ouvrir la fenêtre **Available authorizations**.
232 -1. Cliquez sur le bouton **Logout** en dessous de** BearerAuth**.
259 +1. Cliquez sur le bouton **Logout** en dessous de** BearerAuth **ou **ApiKeyAuth**.
233 233  1. Cliquez sur** Close** pour **Fermer**.
234 -1. Générez un nouveau jeton d'accès comme décrit dans le paragraphe [[S'authentifier>>doc:||anchor="Auth"]].
261 +1. Générez un nouveau jeton d'accès ou une nouvelle clé API comme décrit dans le paragraphe [[S'authentifier>>doc:||anchor="Auth"]].
262 +
263 += Invalider un jeton JWT ou une clé API =
264 +
265 +== Invalider un jeton JWT ==
266 +
267 +Pour un jeton JWT, l'invalidation se fait de manière globale seulement en changeant la clé privée utilisée pour signer et la clé publique associée utilisée pour valider les signatures.
268 +
269 +== Invalider une clé API ==
270 +
271 +Pour une clé API, l'invalidation se fait de manière individuelle et globale.
272 +
273 +Pour invalider une ou plusieurs clés :
274 +
275 +(% start="1" %)
276 +1. Vous pouvez tout d'abord récupérer la liste des clés API ave leur identifiant en utilisant **GET /api/v1/auth/apikeys**. Vous obtenez la liste sous la forme suivante :
277 +[[image:1745932166616-318.png||alt="Liste clés API"]]
278 +
279 +1. Utilisez ensuite **DELETE /api/v1/auth/apikeys **: entrez l'identifiant de la clé API à invalider ou, dans le cas de plusieurs clés, les identifiants séparés par des virgules.
280 +
281 +Pour invalider toutes les clés API, supprimez toutes les clés comme ci-dessus ou supprimer le fichier csv //apikeys.csv //contenant les clés avec le serveur éteint.
282 +
283 +
284 +
1745932166616-318.png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.aureliebertranddigdashbiz
Size
... ... @@ -1,0 +1,1 @@
1 +44.5 KB
Content