如何手动取消签名cookie

时间:2017-12-14 06:41:43

标签: django

我正在使用Django版本1.11.2并使用签名的cookie进行会话存储。

SESSION_ENGINE = "django.contrib.sessions.backends.signed_cookies" 

我正在尝试使用python shell取消对cookie的使用:

from django.core import signing
signing.loads(".eJxVjk0.....J708kRdRvubY3RME")

但是我收到BadSignature错误。

可能是我错误地使用了sign.loads?

1 个答案:

答案 0 :(得分:1)

signed_cookies需要多个参数,而你只是正确地传递了第一个参数。如果你看一下signing.loads( self.session_key, serializer=self.serializer, max_age=settings.SESSION_COOKIE_AGE, salt='django.contrib.sessions.backends.signed_cookies', ) 后端如何加载密钥,它会这样做:

signing.loads(
    ".eJxVjk0.....J708kRdRvubY3RME",
    max_age=settings.SESSION_COOKIE_AGE,
    salt='django.contrib.sessions.backends.signed_cookies',
)

所以你需要反映这些论点:

FATAL:  password authentication failed for user "odoo"