[API] Mettre à jour un utilisateur

Modifié par Aurelie Bertrand le 2023/06/30 11:21

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.

Url : http://[serveur]:[port]/[domain]/updateuser

Exemple d'url :

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] : 

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)

rolesnoselected=["roleidtoremove"]

  • Supprime le rôle roleidtoremove.
  • acls = [json] : 
  • aclsnoselected = [json] : 
  • groupacls = [json] : 
  • groupaclsnoselected = [json] : 
  • attributes = [json] : 
    • digdashMail
    • digdashMailPassword
    • langChoice
    • locale
    • timeZone
    • digdashCSS
    • mustChangePassword
    • dashboardAccessPages
    • dashboardAccessPortlets
    • ...paramètres utilisateur personnalisés...

attributes={"digdashMail":"toto@digdash.com","langChoice":"1"}
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.

Exemple complet :

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&"