401 使用 laravel sainttum 时出现未经身份验证的错误

问题描述 投票:0回答:1

我使用的是 laravel 框架版本 8.54 和 sainttum 版本 2.15

  1. 创建API 登录并获取用户 在本地环境中它工作正常,但在生产环境中它返回 401 错误
  • 配置 使用 Laravel\Sanctum\HasApiTokens 在 Customers 模型中添加了 HasApiTokens;
  • 创建访问令牌
 public function customerLogin(Request $request){
    $this->validate($request, [
         'email' => 'required|email',
         'password' => 'required|string',
      ]);
     $customer = Customer::where('email', $request->email)->first();
     if ($customer && Hash::check($request->password, $customer->password)) {
         $token = $customer->createToken('Api Token for the customer')->plainTextToken;
         return response()->json(['success' => true,'token' => $token]);
       }
     return response()->json(['success' => false, 'error' => 'Email or Password is wrong']);
     }

  • 获得客户
  public function AuthenticatedCustomer(){
        return response()->json(['customer' => Auth::user()]);
    }
  • auth.php
'guards' => [
    'customer' => [
        'driver' => 'session',
         'provider' => 'customers'
       ],
     ],
    'providers' => [
            'customers' => [
                    'driver' => 'eloquent',
                    'model' => App\Models\Customer::class,
             ]
    ]
  • 路线
 Route::post('/login',[CustomerController::class,'customerLogin']);
 Route::get('/customer',[CustomerController::class,'AuthenticatedCustomer'])->middleware('auth:sanctum');

帮我解决这个401错误

laravel laravel-8 laravel-sanctum
1个回答
0
投票

我这边的问题是请求剥夺了标头的授权

© www.soinside.com 2019 - 2024. All rights reserved.