为了账号安全,请及时绑定邮箱和手机立即绑定

如何在拉拉维尔中正确访问范围?

如何在拉拉维尔中正确访问范围?

PHP
郎朗坤 2023-09-22 13:47:11
我目前正在使用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 包括两个中间件,可用于验证传入的请求是否使用已授予给定范围的令牌进行身份验证。要开始使用,请将以下中间件添加到文件的属性中:”$routeMiddlewareapp/Http/Kernel.php

'scopes' => \Laravel\Passport\Http\Middleware\CheckScopes::class,'scope' => \Laravel\Passport\Http\Middleware\CheckForAnyScope::class,


查看完整回答
反对 回复 2023-09-22
  • 1 回答
  • 0 关注
  • 75 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信