php - laravel 7 + vue.js 3 + 护照 401 未经授权
问题描述
您好,我正在尝试使用 laravel 护照保护 API,但总是让我 401 未经授权。我在哪里犯错了?有什么帮助吗?谢谢你。
我添加到 User.php HasApiTokens,
并取消注释'App\Model' => 'App\Policies\ModelPolicy'
并添加到 AutServiceProvider.php 中的引导 Passport:routes(),
在
auth.php 'api' => [
'driver' => 'passport',]
在 RegisterController.php 中
protected function create(array $data)
{
$user = User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
$token = $user->createToken('API Token')->accessToken;
return $user;
}
在 bootstrap.js 中
const token = '3acdc8cddb433947ea7cc51de909fdc50dcdf601ac521ac37ff1b3ee3a61e47e2111d297a07e147e'
window.axios = require('axios');
window.axios.defaults.withCredentials = true;
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
window.axios.defaults.headers.common['Authorization'] = `Bearer ${token}`;
在 Posts.vue axios
mounted() {
axios.get('/public/api/posts').then(response=>{
this.data =response.data
})
},
解决方案
可能这可能是迟到的答案。但是在清除我的缓存之后,令牌现在就像一个魅力一样工作。
php artisan optimize:clear
帮助我解决我的问题。你也可以试试这个
我发现在更改auth.php
配置中的文件以指示api
路由使用正确的设置后,Laravel 已经缓存了差异值,这在尝试清除这些缓存时变得很困难
推荐阅读
- c++ - 从类成员函数构造 std::thread
- mysql - Ruby on Rails:Mysql::error 的含义
- apache-spark - 在使用 google kubernetes 引擎管理的 spark 上运行 jar 时找不到类
- c - 使用 make 定义变量内联
- sql - SELECT 列表表达式引用在 [8:5] 处既不分组也不聚合的列 user_id
- mongodb - 将 MongoDB 复合键定义为一键
- javascript - 将数组从 GraphQL 查询传递到 React-Table
- javascript - ReferenceError: $output 未在 javascript(Jquery) 中定义
- c - 如何告诉 Netbeans 我正在交叉编译?
- c - 使用 C 编写 wav 文件期间的量化噪声