Modifications pour le document Anonymisation des Urls
Modifié par Aurelie Bertrand le 2025/05/15 16:23
Depuis la version 25.1
modifié par Aurelie Bertrand
sur 2025/04/30 10:22
sur 2025/04/30 10:22
Commentaire de modification :
Il n'y a aucun commentaire pour cette version
À la version 32.1
modifié par Aurelie Bertrand
sur 2025/04/30 10:50
sur 2025/04/30 10:50
Commentaire de modification :
Il n'y a aucun commentaire pour cette version
Résumé
-
Propriétés de la Page (1 modifications, 0 ajouts, 0 suppressions)
Détails
- Propriétés de la Page
-
- Contenu
-
... ... @@ -16,7 +16,7 @@ 16 16 17 17 * **Connecté avec l'utilisateur et le mot de passe : ** 18 18 La demande de jeton s'effectue par le biais d'un web service dont l'url est sous la forme suivante : 19 - (% style="color:#4e5f70" %)**//http:~/~/localhost:8080/ddenterpriseapi/DDEnterpriseServlet?user=admin&pass=admin&method=newAuthToken//**19 +[[http:~~/~~/localhost:8080/ddenterpriseapi/DDEnterpriseServlet?user=admin&pass=admin&method=newAuthToken>>http://localhost:8080/ddenterpriseapi/DDEnterpriseServlet?user=admin&pass=admin&method=newAuthToken]] 20 20 21 21 (% class="box warningmessage" %) 22 22 ((( ... ... @@ -25,7 +25,7 @@ 25 25 26 26 * **Via un jeton JWT : **((( 27 27 La demande de jeton s'effectue via une requête. Le jeton JWT (JSON Web Token) est spécifié dans l'en-tête HTTP pour s'authentifier. 28 -Ce jeton JWT est généré via l'API REST DigDash. Consultez le paragraphe [[Créer une clé API>>doc:Digdash.API.DD_API.WebHome||anchor="API"]]pour plus de détails. 28 +Ce jeton JWT est généré via l'API REST DigDash sans utilisateur cible défini.. Consultez le paragraphe [[Créer une clé API>>doc:Digdash.API.DD_API.WebHome||anchor="API"]] pour plus de détails. 29 29 La requête a la forme suivante (exemple avec une requête curl) : 30 30 31 31 {{code language="C"}} ... ... @@ -37,7 +37,7 @@ 37 37 * ((( 38 38 **Via une clé API :** 39 39 La demande de clé API s'effectue via une requête. La clé API est spécifiée dans l'en-tête HTTP pour s'authentifier. 40 -Cette clé API est générée via l'API REST DigDash. Consultez le paragraphe [[Créer un jeton JWT >>doc:Digdash.API.DD_API.WebHome||anchor="JWT"]]pour plus de détails. 40 +Cette clé API est générée via l'API REST DigDash sans utilisateur cible défini. Consultez le paragraphe [[Créer un jeton JWT >>doc:Digdash.API.DD_API.WebHome||anchor="JWT"]]pour plus de détails. 41 41 La requête a la forme suivante (exemple avec une requête curl) : 42 42 43 43 {{code language="C"}} ... ... @@ -54,29 +54,11 @@ 54 54 Uen fois le jeton AuthToken récupéré, vous pouvez l'utiliser dans une URL afin de créer une session automatique sans les informations d'authentification. 55 55 56 56 Par exemple, pour un tableau de bord, on l'utilisera sous la forme suivante : 57 - (% style="color:#4e5f70" %)**//http:~/~/localhost:8080/digdash_dashboard/index.html?user=admin&authToken=token//**(%%)58 -Le paramètre **authToken **est à re sneigner avec le jeton récupéré lors de l'étape pécédente.57 +[[http:~~/~~/localhost:8080/digdash_dashboard/index.html?user=admin&authToken=token>>http://localhost:8080/digdash_dashboard/index.html?user=admin&authToken=token]] 58 +Le paramètre **authToken **est à renseigner avec le jeton récupéré lors de l'étape pécédente. 59 59 60 - Pours'authentifierviaunjetonAuthToken:60 += Avancé : Emprunt d'identité = 61 61 62 -1. Connectez-vous via la page de connexion ou le passage de l'utilisateur et mot de passe. 63 -1. 64 -1. Effectuez la demande de jeton par le biais d'un web service dont l'url est sous la forme suivante : 65 -[[http:~~/~~/localhost:8080/ddenterpriseapi/DDEnterpriseServlet?user=admin&pass=admin&method=newAuthToken>>url:http://http://localhost:8080/ddenterpriseapi/DDEnterpriseServlet?user=admin&pass=admin&method=newAuthToken]] 66 -Le paramètre method=**newAuthToken **permet au retour de cette url de récupérer le nouveau jeton ainsi généré. 67 - 68 -(% class="box warningmessage" %) 69 -((( 70 -❗Le mot de passe doit être correctement encodé pour que l'URL fonctionne. 71 -))) 72 - 73 -(% start="3" %) 74 -1. Utilisez alors le jeton dans une URL afin de créer une session automatique sans les information d'authentification. 75 -Par exemple, pour un tableau de bord : [[http:~~/~~/localhost:8080/digdash_dashboard/index.html?user=admin&authToken=token>>http://localhost:8080/digdash_dashboard/index.html?user=admin&authToken=token]] 76 -Le paramètre **authToken **est le jeton renvoyé lors de l'étape pécédente. 77 - 78 -== Avancé : Emprunt d'identité == 79 - 80 80 La méthode **newAuthToken **de l'API renvoie un jeton pour la session courante et l'utilisateur courant. Il faut donc avoir une session de cet utilisateur pour pouvoir appeler cette méthode et utiliser son résultat dans une URL. 81 81 82 82 Dans certains cas, c'est une contrainte et il est intéressant de pouvoir ouvrir une session pour un autre utilisateur (cible), à partir d'un utilisateur source. Il existe la méthode **newAuthTokenAs **qui prend un paramètre supplémentaire **userId**. ... ... @@ -86,11 +86,33 @@ 86 86 * Le système doit avoir la propriété **PROP_NEWAUTHTOKENAS **= true dans **system.xml** 87 87 * L'utilisateur source doit avoir l'autorisation **Admin > Permettre l'emprunt d'identité**. 88 88 89 -Une fois ces pré-requis remplis, procédez comme suit : 71 +Une fois ces pré-requis remplis, procédez comme suit selon l'authentification utilisée : 90 90 73 +* **Connecté avec l'utilisateur et le mot de passe : ** 74 +L'utilisateur cible doit être spécifié dans l'url lors de la demande de jeton sous la forme suivante : 75 +[[http:~~/~~/localhost:8080/ddenterpriseapi/DDEnterpriseServlet?user=admin&pass=admin&method=newAuthTokenAs&userId=utilisateurCible>>http://http://localhost:8080/ddenterpriseapi/DDEnterpriseServlet?user=admin&pass=admin&method=newAuthTokenAs&userId=userCible]][[http://localhost:8080/ddenterpriseapi/DDEnterpriseServlet?user=admin&pass=admin&method=newAuthToken]] 76 + 77 +* **Via un jeton JWT :** 78 +L'utilisateur cible doit être spécifié lors de la génération du jeton JWT via le paramètre "targetUser". Consultez le paragraphe [[Créer un jeton JWT>>doc:Digdash.API.DD_API.WebHome||anchor="JWT"]] pour plus de détails.((( 79 + La requête prend la forme suivante (exemple avec une requête curl) : 80 + 81 +{{code language="C"}} 82 +curl -H "Authorization: Bearer <JWT>" "http://localhost:8080/ddenterpriseapi/DDEnterpriseServlet?method=newAuthTokenAs" 83 +{{/code}} 84 + 85 + 86 +))) 87 +* ((( 88 +**Via une clé API :** 89 +L'utilisateur cible doit être spécifié lors de la génération de la clé API via le paramètre "targetUser". Consultez le paragraphe [[Créer une clé API>>path:/xwiki/wiki/dev/view/Digdash/API/DD_API/#API]] pour plus de détails. 90 +La requête de demande de jeton est inchangée. 91 +))) 92 + 93 +Le paramètre method=**newAuthToken **permet au retour de l'url ou de la requête de récupérer le nouveau jeton AuthToken ainsi généré. 94 + 91 91 1. Connectez-vous via la page de connexion ou le passage de l'utilisateur et mot de passe. 92 92 1. Effectuez la demande de jeton par le biais d'un web service dont l'url est sous la forme suivante : 93 -[[http:~~/~~/localhost:8080/ddenterpriseapi/DDEnterpriseServlet?user=admin&pass=admin&method=newAuthTokenAs&userId=utilsateurCible>>http://http://localhost:8080/ddenterpriseapi/DDEnterpriseServlet?user=admin&pass=admin&method=newAuthTokenAs&userId=userCible]] 97 +[[http:~~/~~/localhost:8080/ddenterpriseapi/DDEnterpriseServlet?user=admin&pass=admin&method=newAuthTokenAs&userId=utilisateurCible>>http://http://localhost:8080/ddenterpriseapi/DDEnterpriseServlet?user=admin&pass=admin&method=newAuthTokenAs&userId=userCible]] 94 94 Le paramètre method=**newAuthTokenAs **permet au retour de cette url de récupérer le nouveau jeton ainsi généré. 95 95 96 96 (% class="box warningmessage" %) ... ... @@ -103,18 +103,4 @@ 103 103 Par exemple, pour un tableau de bord : [[http:~~/~~/localhost:8080/digdash_dashboard/index.html?user=utilisateurCible&authToken=token>>http://localhost:8080/digdash_dashboard/index.html?user=userCible&authToken=token]] 104 104 Le paramètre **authToken **est le jeton renvoyé lors de l'étape pécédente. 105 105 106 -= Authentification via un jeton JWT = 107 - 108 -Un jeton **JWT (JSON Web Token)** peut être utilisé pour s'authentifier via les en-têtes HTTP dans votre requête. 109 - 110 -Ce jeton JWT est généré via l'API REST DigDash. Consultez le paragraphe [[Créer un jeton JWT >>doc:Digdash.API.DD_API.WebHome||anchor="JWT"]]pour plus de détails. 111 - 112 -Pour une requête curl, on 113 - 114 -{{{curl -H "Authorization: Bearer <JWT>" "http://localhost:8080/ddenterpriseapi/DDEnterpriseServlet?method=newAuthToken" }}} 115 - 116 -Placer un JWT dans une URL l’expose aux journaux, à l’historique du navigateur et aux référents. L’utilisation du header Authorization: Bearer <token> est la méthode recommandée pour protéger les données sensibles tout en évitant leur exposition. 117 - 118 -Pour anonymiser une URL tout en utilisant une clé API dans le header, vous ne transmettez pas la clé dans l’URL (ce qui serait visible et non sécurisé), mais uniquement dans les en-têtes HTTP. Cela évite d’exposer la clé dans les journaux de requêtes ou les navigateurs. 119 - 120 120