Changes for page DigDash API REST

Last modified by Aurelie Bertrand on 2025/03/25 16:13

From version 18.1
edited by Aurelie Bertrand
on 2024/08/29 15:26
Change comment: There is no comment for this version
To version 40.1
edited by Aurelie Bertrand
on 2024/08/30 09:29
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,3 +1,11 @@
1 +{{ddtoc/}}
2 +
3 +----
4 +
5 +(% class="wikigeneratedid" %)
6 +DigDash propose une API REST pour interagir avec un certain nombre d'objets DigDash.
7 +Vous pouvez utiliser Swagger pour la tester.
8 +
1 1  = Accéder à Swagger UI =
2 2  
3 3  Swagger UI permet de visualiser et d'interagir avec les ressources des API.
... ... @@ -10,8 +10,16 @@
10 10  Par exemple:
11 11  [[http:~~/~~/localhost:8080~~/~~/ddenterpriseapi/staticwebcontent/swagger/>>http://localhost:8080//ddenterpriseapi/staticwebcontent/swagger/]]
12 12  
13 -Vous accéderez ainsi à l'interface avec la liste des API disponibles classées par type.
21 +Vous accéderez ainsi à l'interface avec les ressources des API disponibles, classées par type.
14 14  
23 +(% class="box infomessage" %)
24 +(((
25 +💡 Dans le cas où le nom de domaine a été modifié, il est possible de spécifier un domaine ddapi personnalisé dans le champ **domain**.
26 +)))
27 +
28 +(% class="wikigeneratedid" %)
29 +[[image:DD_API.png]]
30 +
15 15  = S'authentifier =
16 16  
17 17  Afin de pouvoir interagir avec les API, vous devez vous authentifier.
... ... @@ -35,6 +35,11 @@
35 35  ❗Il n'est pas recommandé d'utiliser la méthode **BasicAuth** de manière systématique pour des raisons de sécurité.
36 36  )))
37 37  
54 +(% class="box infomessage" %)
55 +(((
56 +ℹ Il n'est pas possible de créer un jeton de sécurité (JWT) quand authentifié avec un jeton de sécurité (JWT).
57 +)))
58 +
38 38  == Authentification via BasicAuth ==
39 39  
40 40  1. Entrez votre nom d'utilisateur et mot de passe Digdash.
... ... @@ -46,7 +46,7 @@
46 46  Nous allons créer ici le jeton de sécurité Json Web Token (JWT) :
47 47  
48 48  1. Allez dans la section **Authentication**.
49 -1. Cliquez sur **POST ddenterpriseapi/api/v1/auth/jwt.**
70 +1. Cliquez pour déplier **POST ddenterpriseapi/api/v1/auth/jwt.**
50 50  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.
51 51  1. Cliquez sur **Try it out **en haut à droit afin de définir votre requête. Celle-ci comprend les éléments suivants :
52 52  1*. **targetUser** : (Optionnel) Indiquez le nom de l'utilisateur à emprunter. Cela ne fonctionne que si l'utilisateur utilisé pour créer le JWT dispose de l'autorisation (ACL) **Admin > Autoriser l'emprunt d'identité**.
... ... @@ -55,6 +55,13 @@
55 55  1*. **permissions **: Définissez les droits pour chaque type d'API : "none" pour aucun droit, "r" pour lecture seule, "rw" pour lecture-écriture.
56 56  Par exemple :
57 57  [[image:Requête_jwt.png||alt="Requête JWT"]]
79 +
80 +(% class="box warningmessage" %)
81 +(((
82 +❗Une vérification sera effectuée sur les autorisations de l'utiisateur dans Digdash (ACLs) en plus des droits du jetons.
83 +)))
84 +
85 +(% start="5" %)
58 58  1. Cliquez sur le bouton **Execute **pour générer le jeton (JWT).
59 59  ➡ La réponse s'affiche dans la section **Server response** en-dessous.
60 60  [[image:Réponse_requête_JWT.png||alt="Réponse requête JWT"]]
... ... @@ -105,6 +105,11 @@
105 105  * **License Management** : contient les API de gestion des licences : activatio, utilisateurs dans la licence, etc.
106 106  * **Event Management** : contient l'API permattant d'ajouter un évènement avec fireEvent.
107 107  
136 +(% class="box infomessage" %)
137 +(((
138 +ℹ Le cadenas fermé à droite le l'API signifie que vous êtes autorisé.
139 +)))
140 +
108 108  == Opérations disponibles ==
109 109  
110 110  Il existe plusieurs types d'opérations pouvant être effectuées via les API :
... ... @@ -115,4 +115,37 @@
115 115  * (% style="color:#e67e22" %)**PUT**(%%)** **: pour remplacer des éléments (écrase toutes les données et les remplace).
116 116  * (% style="color:#c0392b" %)**DELETE**(%%) : pour supprimer des éléments. Par exemple, des autorisations d'un utilisateur.
117 117  
151 +== Envoi de requêtes ==
152 +
153 +(% style="line-height:1.7142857142857142; background-color:#ffffff; margin-bottom:15px; padding:3.75pt 0pt 0pt 0pt" %)
154 +(% 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 :
155 +
156 +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" %)Développez une API avec laquelle vous souhaitez effectuer une opération. Le cadenas fermé signifie que vous êtes autorisé.
157 +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.
158 +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" %)Dans la fenêtre de méthode développée, cliquez sur **Try it out **(Essayer) .
159 +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" %)Spécifiez les valeurs des paramètres si nécessaire. Une description est donnée ci-dessous.
160 +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 **Execute.**(%%)
161 +➡ (% 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. Un en-tête d'autorisation du porteur est automatiquement utilisé pour vos demandes.
162 +
163 +(% class="wikigeneratedid" id="HParamE8tres" %)
164 +**Paramètres**
165 +
166 +(% style="width:785px" %)
167 +|(% colspan="2" style="background-color:grey; text-align:center; width:782px" %)(% style="color:#ffffff" %)**User management**
168 +|(% 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.
169 +|(% 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.
170 +|(% style="width:173px" %)resolveProfiles|(% style="width:608px" %)Si défini à //true//, si l'utilisateur a un profil, ce sont les informations du profil qui seraont affichées.
171 +Par exemple, si l'utilisateur a des rôles issus d'un profil, ce sont les rôles du profil qui seont affichés et non pas les rôles propres à l'utilisateur.
172 +|(% colspan="2" style="background-color:grey; text-align:center; width:782px" %)(% style="color:#ffffff" %)**License management**
173 +|(% style="width:173px" %)pattern|(% style="width:608px" %)Vous pouvez spécifier une expression régulière permettant de filtrer les utilisateurs à récupérer.
174 +Par exemple, le pattern test.* va récupérer tous les utilisateurs dont le nom commence par test.
175 +
176 += Expiration et révocation de l'authentification =
177 +
178 +(% style="line-height:1.7142857142857142; background-color:#ffffff" %)
179 +(% 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 d'accès 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".
180 +
181 +(% style="line-height:1.7142857142857142; background-color:#ffffff" %)
182 +(% 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 d'accès a expiré. Lorsque cela se produit, vous devez invalider le jeton expiré et générer un nouveau jeton d'accès :
183 +
118 118  
DD_API.png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.aureliebertranddigdashbiz
Size
... ... @@ -1,0 +1,1 @@
1 +63.1 KB
Content