diff options
| -rw-r--r-- | pyramid/session.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/pyramid/session.py b/pyramid/session.py index e6635ca1b..3c493a561 100644 --- a/pyramid/session.py +++ b/pyramid/session.py @@ -522,9 +522,11 @@ def SignedCookieSessionFactory( ``serializer`` An object with 2 methods, ``loads`` and ``dumps``, which will be used - to perform serialization and deserialization. The value generated from - serialization will be cryptographically signed to prevent tampering. - A ``ValueError`` should be raised if deserialization fails. + to perform serialization and deserialization. + - ``dumps(value)`` should accept a Python object and return a + bytestring which can later be deserialized with ``loads``. + - ``loads(value)`` should expect to receive a bytestring, generated by + ``dumps`` and return a Python object. .. versionadded: 1.5a3 """ @@ -563,7 +565,7 @@ class _SignedSerializer(object): self.serializer = serializer def derive_key(self, salt): - return hmac.new(self.secret, salt, self.digestmod).digest() + return hmac.new(bytes_(self.secret), salt, self.digestmod).digest() def dumps(self, appstruct): salt = os.urandom(self.salt_size) |
