我目前正在使用Laravel護照,我可以驗證是否有當前令牌保存,該令牌返回以下json:localhost:8000/api/check{"id":"1c080ff73c6592b8e35630ae36f45f5042c04d9a9ed26a7fafc3793c606484b619ed8792be65a658","user_id":1,"client_id":5,"name":"Personal Access Tokens","scopes":["administrator"],...} 但是當我嘗試為管理員使用中間件范圍時,它會返回錯誤localhost:8000/api/adminIlluminate\Contracts\Container\BindingResolutionException: 目標類 [scope] 不存在。在文件中這是路由/api.phpRoute::group(['middleware' => 'auth:api'], function(){ Route::get('check', 'TeamController@check'); Route::group(['middleware' => 'scope:administrator'], function() { Route::get('admin', 'TeamController@index'); });});以下是 TeamController 上的相應函數.phppublic function check(Request $request) { return auth()->user()->token();}public function index(Request $request) { return auth()->user()->token();}有人知道我做錯了什么嗎?
1 回答

四季花海
TA貢獻1811條經驗 獲得超5個贊
您很可能沒有注冊中間件。scope
“Passport 包括兩個中間件,可用于驗證傳入的請求是否使用已授予給定范圍的令牌進行身份驗證。要開始使用,請將以下中間件添加到文件的屬性中:”
$routeMiddleware
app/Http/Kernel.php
'scopes'?=>?\Laravel\Passport\Http\Middleware\CheckScopes::class,'scope'?=>?\Laravel\Passport\Http\Middleware\CheckForAnyScope::class,
- 1 回答
- 0 關注
- 104 瀏覽
添加回答
舉報
0/150
提交
取消