[API] Mettre à jour un utilisateur

Modifié par Aurelie Bertrand le 2024/06/04 11:55

La mise à jour d'un utilisateur peut se faire via une requête au serveur, sans passer par les pages d'administration.
Cela peut permettre par exemple de scripter ou faire du traitement par lot d'opérations d'administration.

L'URL utilisée est du type : http://[serveur]:[port]/[domain]/updateuser

Par exemple :  http://localhost:8080/ddenterpriseapi/updateuser

Paramètres :

  • user = identifiant de l'utilisateur qui se connecte pour faire l'opération
  • pass = mot de passe de l'utilisateur qui se connecte pour faire l'opération
  • uid = identifiant de l'utilisateur à mettre à jour
  • password = nouveau mot de passe
  • displayName = nom affiché
  • roles = [json] :
    Exemple : roles=["roleid1|RWX","roleid2|R"]
    ➡ Ajoute le rôle roleid1 avec tous les droits (Read, Write, eXecute)
    ➡ Ajoute le rôle roleid2 seulement en lecture.
  • rolesnoselected = [json] : même principe que précédement, mais pour supprimer un rôle à l'utilisateur (RWX inutile)
    Exemple : rolesnoselected=["roleidtoremove"]
    ➡ Supprime le rôle roleidtoremove.
  • acls = [json] : consultez la page Liste de contrôle d'accès pour le détail des acls
  • aclsnoselected = [json] : 
  • groupacls = [json] : 
  • groupaclsnoselected = [json] : 
  • attributes = [json] : 
    • digdashMail
    • digdashMailPassword
    • langChoice
    • locale
    • timeZone
    • digdashCSS
    • mustChangePassword
    • userProfil
    • dashboardAccessPages
    • dashboardAccessPortlets
    • ...paramètres utilisateur personnalisés...

           Exemple : attributes={"digdashMail":"toto@digdash.com","langChoice":"fr"}
           ➡ Met à jour le mail et la langue de l'utilisateur.

La requête doit également inclure : 

  • Un en-tête referer : -e "https://digdashserver"
  • Un en-tête pour la protection CSRF : -H "X-Requested-With: DigDash Enterprise Client"
  • Un stockage des cookies : -b cookies.txt

Tous les paramètres url doivent être encodés dans l'url.

ℹ Les caractères spéciaux suivants doivent être encodés pour les URL:
! * ' ( ) ; : @ & = + $ , / ? % # [ ]

Exemple complet d'utilisation avec curl :

curl -H "X-Requested-With: DigDash Enterprise Client" -e "http://localhost:8080" -L -b cookies.txt -i "http://localhost:8080/ddenterpriseapi/updateuser?user=admin&pass=admin&uid=thename&password=mdp&"