我正在開發(fā)需要為多個用戶生成訪問令牌的 Laravel 應(yīng)用程序。我使用 Laravel Passport 和密碼授予來頒發(fā)令牌。我已遵循 Laravel 文檔,但似乎我做錯了什么,因為當(dāng)我嘗試使用 Postman 調(diào)用我的 API 端點(學(xué)生)時,我被重定向到登錄路由。后來我發(fā)現(xiàn)重定向來自我創(chuàng)建的中間件,但我仍然不知道出了什么問題驗證文件 'guards' => [ 'web' => [ 'driver' => 'session', 'provider' => 'users', ], 'api' => [ 'driver' => 'passport', 'provider' => 'users', 'hash' => false, ], 'api-student' => [ 'driver' => 'passport', 'provider' => 'students', 'hash' => false, ] ]; 'providers' => [ 'users' => [ 'driver' => 'eloquent', 'model' => App\User::class, ], 'students' => [ 'driver' => 'eloquent', 'model' => App\Student::class, ], ],api.php Route::post('auth/getlogin', 'Api\StudentController@authenticate')->middleware('auth:api-student'); //Api\StudentController public function authenticate(Request $request, Student $user) { $credentials = [ 'username'=>$request->username, 'password'=>$request->password]; if(!Auth::guard('api-student')->attempt($credentials)) { return response()->json([ 'message'=>'Error' ], 401); } if(Auth::guard('api-student')->attempt($credentials)){ $user = Auth::guard('client'); $success['token'] = $user->createToken('MyApp')->accessToken; return response()->json(['success' => $success], $this->successStatus); } else{ return response()->json(['error'=>'Username or password incorrect'], 401); } }
1 回答

富國滬深
TA貢獻1790條經(jīng)驗 獲得超9個贊
刪除middleware
以便任何人都可以登錄
Route::post('auth/getlogin', 'Api\StudentController@authenticate')->middleware('auth:api-student');
到
Route::post('auth/getlogin', 'Api\StudentController@authenticate');
您在這里申請middleware
,所以在執(zhí)行任何操作之前它會檢查路線auth
是否
- 1 回答
- 0 關(guān)注
- 148 瀏覽
添加回答
舉報
0/150
提交
取消