summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Lord <davidism@gmail.com>2021-05-18 07:58:55 -0700
committerGitHub <noreply@github.com>2021-05-18 07:58:55 -0700
commit87d4e83a1ff7810b5016d447b39d82ce28496f8f (patch)
tree17e7276aa3cf34dfb6276df20c57975d56b50076
parent15a2e0d9b4bdaa38144c947a9aa04ffd49826700 (diff)
parent41ec419632aae3533ff12838044eeddd9cd1311f (diff)
downloaditsdangerous-87d4e83a1ff7810b5016d447b39d82ce28496f8f.tar.gz
Merge pull request #241 from pallets/salt-default
allow salt=None again
-rw-r--r--CHANGES.rst2
-rw-r--r--src/itsdangerous/serializer.py9
-rw-r--r--src/itsdangerous/signer.py9
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