diff options
author | David Lord <davidism@gmail.com> | 2021-05-18 07:58:55 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-18 07:58:55 -0700 |
commit | 87d4e83a1ff7810b5016d447b39d82ce28496f8f (patch) | |
tree | 17e7276aa3cf34dfb6276df20c57975d56b50076 | |
parent | 15a2e0d9b4bdaa38144c947a9aa04ffd49826700 (diff) | |
parent | 41ec419632aae3533ff12838044eeddd9cd1311f (diff) | |
download | itsdangerous-87d4e83a1ff7810b5016d447b39d82ce28496f8f.tar.gz |
Merge pull request #241 from pallets/salt-default
allow salt=None again
-rw-r--r-- | CHANGES.rst | 2 | ||||
-rw-r--r-- | src/itsdangerous/serializer.py | 9 | ||||
-rw-r--r-- | src/itsdangerous/signer.py | 9 |
3 files changed, 16 insertions, 4 deletions
diff --git a/CHANGES.rst b/CHANGES.rst index 3813e95..6882a27 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,8 @@ Unreleased - Mark top-level names as exported so type checking understands imports in user projects. :pr:`240` +- The ``salt`` argument to ``Serializer`` and ``Signer`` can be + ``None`` again. :issue:`237` Version 2.0.0 diff --git a/src/itsdangerous/serializer.py b/src/itsdangerous/serializer.py index 12b7b26..36a73fb 100644 --- a/src/itsdangerous/serializer.py +++ b/src/itsdangerous/serializer.py @@ -89,7 +89,7 @@ class Serializer: def __init__( self, secret_key: _t_secret_key, - salt: _t_str_bytes = b"itsdangerous", + salt: _t_opt_str_bytes = b"itsdangerous", serializer: _t.Any = None, serializer_kwargs: _t_opt_kwargs = None, signer: _t.Optional[_t_signer] = None, @@ -102,7 +102,12 @@ class Serializer: #: This allows a key rotation system to keep a list of allowed #: keys and remove expired ones. self.secret_keys: _t.List[bytes] = _make_keys_list(secret_key) - self.salt: bytes = want_bytes(salt) + + if salt is not None: + salt = want_bytes(salt) + # if salt is None then the signer's default is used + + self.salt = salt if serializer is None: serializer = self.default_serializer diff --git a/src/itsdangerous/signer.py b/src/itsdangerous/signer.py index 7e2be7d..aa12005 100644 --- a/src/itsdangerous/signer.py +++ b/src/itsdangerous/signer.py @@ -120,7 +120,7 @@ class Signer: def __init__( self, secret_key: _t_secret_key, - salt: _t_str_bytes = b"itsdangerous.Signer", + salt: _t_opt_str_bytes = b"itsdangerous.Signer", sep: _t_str_bytes = b".", key_derivation: _t.Optional[str] = None, digest_method: _t.Optional[_t.Any] = None, @@ -141,7 +141,12 @@ class Signer: " digits, and '-_=' must not be used." ) - self.salt: bytes = want_bytes(salt) + if salt is not None: + salt = want_bytes(salt) + else: + salt = b"itsdangerous.Signer" + + self.salt = salt if key_derivation is None: key_derivation = self.default_key_derivation |