【问题标题】:I have removed the `Cookies`'s token and csrftoken, why still have them?我已经删除了 `Cookies` 的令牌和 csrftoken,为什么还有它们?
【发布时间】:2018-03-15 07:23:51
【问题描述】:

我有一个

这是我的关键代码:

        var that = this

        // clear sessionid, csrftoken
        that.$Cookies.remove('sessionid');
        that.$Cookies.remove('csrftoken');

        // login
        that.$http.post(Urls.users.login(), params).then((response) => {

          setTimeout(loading, 0)

          that.$Cookies.set('token', response.data.key);

          that.get_user_info()

        }).catch((response) => {
            debugger
            setTimeout(loading, 0)

          }
        )

main.js我是这样配置的,所以我可以使用this.$Cookies的组件:

import Cookies from 'js-cookie';
Object.defineProperty(Vue.prototype, "$Cookies", { value: Cookies })

你看我已经删除了tokencsrftoken,但是当我访问登录api时,请求中仍然有tokencsrftoken

我是否清除了this.$Cookies 中的令牌和csrftoken 基本上没有清除成功。

【问题讨论】:

    标签: javascript cookies token


    【解决方案1】:

    我对这个问题很感兴趣。为什么我删除了一些cookie,但是当我发送请求时,cookie仍然在header中?

    所以我发现你使用js-cookie,然后我转到github 并得到这个:

    删除一个对当前页面路径有效的cookie:

    Cookies.set('name', 'value', { path: '' });
    Cookies.remove('name'); // fail!
    Cookies.remove('name', { path: '' }); // removed!
    

    重要!删除 cookie 时,您必须传递与设置 cookie 完全相同的路径和域属性,除非您依赖默认属性。

    希望能帮到你~

    【讨论】:

    • domain attributes 是什么意思?
    • 它没用,我也检查了,this.$Cookies() 不显示csrftokensessionid。访问API时,似乎会自动占用。
    猜你喜欢
    • 2017-11-13
    • 2015-02-15
    • 2016-02-04
    • 1970-01-01
    • 2018-07-19
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多