亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Laravel 7 使用 Passport 進行多重身份驗證

Laravel 7 使用 Passport 進行多重身份驗證

PHP
UYOU 2024-01-19 09:59:40
我正在開發需要為多個用戶生成訪問令牌的 Laravel 應用程序。我使用 Laravel Passport 和密碼授予來頒發令牌。我已遵循 Laravel 文檔,但似乎我做錯了什么,因為當我嘗試使用 Postman 調用我的 API 端點(學生)時,我被重定向到登錄路由。后來我發現重定向來自我創建的中間件,但我仍然不知道出了什么問題驗證文件        '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條經驗 獲得超9個贊

刪除middleware以便任何人都可以登錄

Route::post('auth/getlogin', 'Api\StudentController@authenticate')->middleware('auth:api-student');

Route::post('auth/getlogin', 'Api\StudentController@authenticate');

您在這里申請middleware,所以在執行任何操作之前它會檢查路線auth是否


查看完整回答
反對 回復 2024-01-19
  • 1 回答
  • 0 關注
  • 156 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號