我的项目正在使用外部身份验证提供程序,如果用户已登录,则会设置cookie。要注销,我必须删除该cookie。
据我所知,Set-Cookie
标题是正确的,但cookie没有改变。
这是标题:
{{cookie_name}}: ""
domain: "{{cookie_domain}}"
expires: "1970-01-01T00:00:00.000Z"
path: "/"
这是转发到退出视图之前和之后的Cookie:
Name: {{cookie_name}}
Content: (random string to verify login)
Host: {{cookie_domain}}
Path: /
Send for: Encrypted connections only
Expires: At end of session
一切都是HTTPS。有谁知道Set-Cookie
标题可能不起作用的原因?
答案 0 :(得分:0)
尝试删除Cookie时,是否尝试设置Set-Cookie标头中的所有属性?当您尝试删除时,应设置在现有cookie中设置的所有属性。 从上面给出的示例中,您尝试删除cookie时似乎没有设置安全标志。
答案 1 :(得分:0)
我使用的框架(Django)确实存在问题。当我在set_cookie
函数中手动设置域时,它的前缀是一段时间,这意味着它与现有的cookie不匹配。当我没有输入域时,它使用了默认值并且没有任何前缀,并且它有效。