我使用laravel作为我的后端,vue作为我的前端,我也使用护照来保护API。我可以成功登录和注销,但如果我进行任何其他API调用,我得到401 Unauthorized
反应
这是我的api.php
Route::post('login', [AuthController::class, 'login']);
//Auth
Route::middleware('auth:api')->group(function () {
Route::post('logout', [AuthController::class, 'logout']);
Route::get('users/me', [UserController::class, 'show_me']);
//USER
Route::post('user/register', [UserController::class, 'register']);
Route::get('users', [UserController::class, 'index']);
Route::post('user/create', [UserController::class, 'store']);
Route::delete('users/{user}', [UserController::class, 'destroy']);
Route::put('users/{user}/block', [UserController::class, 'handleBlock']);
Route::get('user/{id}', [UserController::class, 'find']);
Route::post('update/{id}', [UserController::class, 'update'])
->middleware('can:update,user');
//CUSTOMER
Route::get('customers', [CustomerController::class, 'index']);
//ORDERS
Route::get('orders', [OrderController::class, 'index']);
Route::get('readyOrders', [OrderController::class, 'readyOrders']);
//ORDER_ITEMS
Route::get('order_items', [OrderItemController::class, 'index']);
//PRODUCTS
Route::get('products',[ProductController::class, 'index']);
Route::delete('products/{product}',[ProductController::class, 'destroy']);
Route::get('paginatedProducts',[ProductController::class, 'paginate']);
Route::post('product/create',[ProductController::class, 'store']);
});
呼叫/users/me
呼叫/users/me的响应
它包含授权头,因为它应该包含。
路径列表我不知道我做错了什么,很奇怪,我可以访问logout和show_me,但不能访问其他路由。
我发现了错误,我在其他几个组件上有其他axios导入,它正在创建几个axios实例,我声明了一个
const axios = inject('axios')
这样我就可以访问正在使用的axios实例,而不是创建多个实例。