laravel - 带有 Vue.js SPA 的 Laravel Passport
问题描述
如果我使用创建新的 API 令牌,我(不需要)需要在 Vue.js 应用程序的 cookie 中设置令牌吗?我看到很多 Laravel Passport 的例子,但它们都只显示背面功能,没有正面。
解决方案
有多种方法可以做到这一点,您可以使用 cookie 或本地存储,Laravel 密码主要使用令牌验证请求,因此如果您在前端使用 Vue Auth,您可以定义一个构造函数来在每次发送请求时发送令牌.
constructor() {
let userToken = window.localStorage.getItem('token');
let userData = window.localStorage.getItem('user');
if (typeof userToken !== 'undefined' || typeof userData !== 'undefined') {
this.user = userData;
this.token = userToken;
} else {
this.user = null;
this.token = null;
}
if (this.token !== null && this.token !== 'undefined') {
axios.defaults.headers.common['Authorization'] = 'Bearer ' + this.token;
} else {
this.authenticated = false;
this.logout();
}