diff --git a/gluon/authapi.py b/gluon/authapi.py index ddae855a..db2ae13f 100644 --- a/gluon/authapi.py +++ b/gluon/authapi.py @@ -988,7 +988,8 @@ class AuthAPI(object): requires = [requires] requires = list(filter(lambda t: isinstance(t, CRYPT), requires)) if requires: - requires[0] = CRYPT(key=settings.hmac_key, min_length=0) + requires[0] = CRYPT(**requires[0].__dict__) # Copy the existing CRYPT attributes + requires[0].min_length = 0 # But do not enforce minimum length for the old password old_password = kwargs.get('old_password', '') new_password = kwargs.get('new_password', '') diff --git a/gluon/tools.py b/gluon/tools.py index 80b905ac..b063b6ea 100644 --- a/gluon/tools.py +++ b/gluon/tools.py @@ -3693,7 +3693,8 @@ class Auth(AuthAPI): requires = [requires] requires = list(filter(lambda t: isinstance(t, CRYPT), requires)) if requires: - requires[0] = CRYPT(key=self.settings.hmac_key, min_length=0) + requires[0] = CRYPT(**requires[0].__dict__) # Copy the existing CRYPT attributes + requires[0].min_length = 0 # But do not enforce minimum length for the old password form = SQLFORM.factory( Field('old_password', 'password', requires=requires, label=self.messages.old_password),