将Laravel Passport访问令牌存储在cookie中

时间:2018-09-09 09:41:12

标签: laravel cookies access-token laravel-passport

将访问令牌存储在cookie中是否安全?

我已经检查过了,即使您具有访问令牌,如果您没有正确登录,也会得到401。

每次用户登录时,访问令牌都会更改(我正在更改)。

该Cookie在注销或超时时会被破坏(基于记住我的选项)。

我还是应该将其存储在其他地方吗?在哪里?

1 个答案:

答案 0 :(得分:0)

是的,它很安全,但是仍然需要在路由上添加中间件

在使用JWT AUth之前,这是我们登录页面前端的解决方案

axios({method: 'post', 
      data: {email: this.email.trim(), 
             password: this.password}, 
             url: '/api/login'})
.then(res => {

    if (res.data.success) {

      // Sets the Cookie Expiration Time to 1 Hour same as JWT Token on the Backend
      var now = new Date();
      now.setTime(now.getTime() + 1 * 3600 * 1000);
      document.cookie = "ut=" + res.data.data.type;
      document.cookie = "api_token=" + res.data.data.token;
      document.cookie = "expires=" + now.toUTCString() + ";"

      // Redirect to a new URL, or do something on success
       window.location.href = "/dashboard";
    }

}).catch(function (error) {
  //error 
});

有什么建议吗?