Changes for page DigDash API REST
Last modified by Aurelie Bertrand on 2025/05/15 16:29
From version 94.1
edited by Aurelie Bertrand
on 2025/04/29 15:52
on 2025/04/29 15:52
Change comment:
There is no comment for this version
To version 78.1
edited by Aurelie Bertrand
on 2025/04/29 14:04
on 2025/04/29 14:04
Change comment:
Ajout du fichier 1745928288556-250.png
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 1 removed)
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 - Troisméthodes d'autorisation sont disponibles :42 +Deux méthodes d'autorisation sont actuellement 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. ... ... @@ -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.51 +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 BeareAuth. 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==69 +== 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.71 +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. ... ... @@ -99,10 +99,8 @@ 99 99 ➡ La réponse s'affiche dans la section **Server response** en-dessous. 100 100 [[image:DigDash_API_token_creation_response_FR.png||alt="Réponse serveur"]] 101 101 1. Copiez le jeton JWT. 102 - 103 103 104 -(% class="wikigeneratedid" id="HSignaturedujetondesE9curitE9" %) 105 -**Signature du jeton de sécurité** 95 +=== Signature du jeton de sécurité === 106 106 107 107 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. 108 108 ... ... @@ -125,57 +125,14 @@ 125 125 openssl rsa -in /path/to/privatekey.pem -pubout -out /path/to/publickey.crt 126 126 {{/code}} 127 127 128 -== =S'authentifier ===118 +== S'authentifier via BearerAuth == 129 129 130 -Une fois le jeton de sécurité généré, vous pouvez vous authentifier avec cette méthode : 120 +(% class="wikigeneratedid" id="HUnefoislejetondesE9curitE9gE9nE9rE92CvouspouvezvousauthentifieraveccettemE9thode:" %) 121 +(% style="font-size:14px" %)Une fois le jeton de sécurité généré, vous pouvez vous authentifier avec cette méthode : 131 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 - 144 -Nous allons créer ici une clé API : 145 - 146 -1. Allez dans la section **Authentication**. 147 -1. Cliquez pour déplier **POST ddenterpriseapi/api/v1/auth/apikeys** 148 -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. 149 -1. Cliquez sur **Try it out **en haut à droit afin de définir votre requête. Celle-ci comprend les éléments suivants : 150 -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é**. 151 -S'il n'est pas renseigné, l'utilisateur utilisé par défaut est celui connecté, ce qui sera généralement le cas. 152 -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]]. 153 -1*. **permissions **: Définissez les droits pour chaque type d'API : "none" pour aucun droit, "r" pour lecture seule, "rw" pour lecture-écriture. 154 -Par exemple : 155 -[[image:1745928168043-553.png]] 156 - 157 -(% class="box warningmessage" %) 158 -((( 159 -❗Une vérification sera effectuée sur les autorisations de l'utilisateur dans Digdash (ACLs) en plus des droits du jetons. 160 -))) 161 - 162 -(% start="5" %) 163 -1. Cliquez sur le bouton **Execute **pour générer la clé API. 164 -➡ La réponse s'affiche dans la section **Server response** en-dessous. 165 -[[image:1745928288556-250.png||alt="Réponse serveur"]] 166 -1. Copiez la clé API. 167 - 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. 171 - 172 -=== S'authentifier === 173 - 174 -Une fois la clé API générée, vous pouvez vous authentifier avec cette méthode : 175 - 176 176 1. Cliquez sur le bouton **Authorize**. 177 177 1. Dans la section **BasicAuth**, déconnectez-vous en cliquant sur le bouton **Logout**. 178 -1. Dans la section ** ApiKeyAuth**, collez lacléAPIdans le champ Value.125 +1. Dans la section **BearerAuth**, collez le jeton JWT dans le champ **Value**. 179 179 1. Cliquez sur **Authorize**. 180 180 181 181 = Ressources API disponibles{{id name="ressources"/}} = ... ... @@ -238,12 +238,10 @@ 238 238 |(% 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. 239 239 |(% 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. 240 240 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. 241 -|(% colspan="2" style="background-color:grey; text-align:center; width:173px" %)(% style="color:#ffffff" %)**Session management** 242 -|(% style="width:173px" %)users|(% style="width:608px" %) 243 -|(% colspan="2" style="background-color:grey; text-align:center; width:173px" %)(% style="color:#ffffff" %)**Connection management** 244 -|(% style="width:173px" %)itemRole|(% style="width:608px" %) 245 -|(% style="width:173px" %)nameFilter|(% style="width:608px" %) 246 -|(% style="width:173px" %)typeFilter|(% style="width:608px" %) 188 +|(% style="width:173px" %) |(% style="width:608px" %) 189 +|(% style="width:173px" %) |(% style="width:608px" %) 190 +|(% style="width:173px" %) |(% style="width:608px" %) 191 +|(% style="width:173px" %) |(% style="width:608px" %) 247 247 |(% colspan="2" style="background-color:grey; text-align:center; width:782px" %)(% style="color:#ffffff" %)**License management** 248 248 |(% style="width:173px" %)pattern|(% style="width:608px" %)Vous pouvez spécifier une expression régulière permettant de filtrer les utilisateurs à récupérer. 249 249 Par exemple, le pattern test.* va récupérer tous les utilisateurs dont le nom commence par test. ... ... @@ -251,33 +251,10 @@ 251 251 = Expiration de l'authentification = 252 252 253 253 (% style="line-height:1.7142857142857142; background-color:#ffffff" %) 254 -(% 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é APIexpire, 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".199 +(% 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 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" %)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. 256 256 257 257 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**. 258 -1. Cliquez sur le bouton **Logout** en dessous de** BearerAuth ou **ApiKeyAuth**.203 +1. Cliquez sur le bouton **Logout** en dessous de** BearerAuth**. 259 259 1. Cliquez sur** Close** pour **Fermer**. 260 -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"]]. 261 - 262 -= Invalider un jeton JWT ou une clé API = 263 - 264 -== Invalider un jeton JWT == 265 - 266 -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. 267 - 268 -== Invalider une clé API == 269 - 270 -Pour une clé API, l'invalidation se fait de manière individuelle et globale. 271 - 272 -Pour invalider une ou plusieurs clés : 273 - 274 -(% start="1" %) 275 -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 : 276 -[[image:1745932166616-318.png||alt="Liste clés API"]] 277 - 278 -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. 279 - 280 -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. 281 - 282 - 283 - 205 +1. Générez un nouveau jeton d'accès comme décrit dans le paragraphe [[S'authentifier>>doc:||anchor="Auth"]].
- 1745932166616-318.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.aureliebertranddigdashbiz - Size
-
... ... @@ -1,1 +1,0 @@ 1 -44.5 KB - Content