User.change_password - API Python

Change le mot de passe d'un utilisateur. Les utilisateurs réguliers ne peuvent modifier que leur propre mot de passe et les super-utilisateurs peuvent modifier le mot de passe de toute autre personne. Peu importe qui change le mot de passe, le nouveau mot de passe doit être confirmé dans la configuration.

Les super-utilisateurs peuvent également définir l'expiration du mot de passe et une option indiquant que l'utilisateur référencé doit changer son mot de passe la prochaine fois que cette personne se connectera.

self.sso.user.change_password

change_password(self, cid, data, current_ust, current_app, remote_addr)

  • cid : ID de corrélation utilisé par audit log
  • data : Un dictionnaire de valeurs d'entrée pour changer le mot de passe avec
  • current_ust : L'UST de l'utilisateur actuel
  • current_app : Nom de l'application à partir de laquelle l'utilisateur actuel émet l'appel.
  • remote_addr : L'adresse distante de l'utilisateur
  • Returns : (Aucun)

Le dictionnaire "data" a le format décrit ci-dessous:

Nom Type de données Optionnel Nécessite un super-utilisateur Notes
old_password string Yes --- Requis si l'utilisateur actuel change son propre mot de passe
new_password string --- --- Nouveau mot de passe à définir pour l'utilisateur
user_id string Yes Yes ID de l'utilisateur dont le mot de passe doit être modifié, requis si un super-utilisateur veut modifier le mot de passe d'une autre personne
password_expiry integer Yes Yes En option, le nombre de jours à partir de l'heure actuelle pour l'expiration du mot de passe. S'il n'est pas défini, une valeur par défaut provenant de configuration sera utilisée.
must_change bool Yes Yes Si c'est le cas, la personne dont le mot de passe est modifié devra le réinitialiser lors de sa prochaine connexion.
# -*- coding: utf-8 -*-

# Zato
from zato.server.service import Service

class ChangePasswordCurrentUser(Service):

    def handle(self):

        # Data obtained from request and/or WSGI environment
        ust = 'gAAAAABalFycY50Budi...'
        current_app = 'CRM'
        remote_addr = '127.0.0.1'

        # Since this is a password change for current user,
        # both old and new password are needed on input
        data = {
            'old_password': '<old-password>',
            'new_password': '<new-password>',
        }

        # Change the password now, no exception = success
        self.sso.user.change_password(self.cid, data, current_ust, current_app, remote_addr)
# -*- coding: utf-8 -*-

# Zato
from zato.server.service import Service

class ChangePasswordAnotherUser(Service):

    def handle(self):

        # Data obtained from request and/or WSGI environment
        ust = 'gAAAAABalFycY50Budi...'
        current_app = 'CRM'
        remote_addr = '127.0.0.1'

        # This time around, a super-user changes another person's password
        # so the old password is not needed. On top of it, the other user
        # will need to change the password the next time he or she logs in.
        data = {
            'user_id':      'zusr6pxpqqg4j09t5vhw1ehtmebshy',
            'new_password': '<new-password>',
            'must_change':   True,
        }

        # Change the password now, no exception = success
        self.sso.user.change_password(self.cid, data, current_ust, current_app, remote_addr)