passport 多表登陆 auth:API 中间件鉴权失败

创建客户端
$ php artisan passport:client --password --name='guide-api'
passport 多表登陆 auth:api 中间件鉴权失败

auth.php中增加一个providers

    'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => App\Models\User::class,
        ],
        // 这是增加的
        'guides' => [
            'driver' => 'eloquent',
            'model' => App\Models\Guide::class,
        ],
    ],

创建中间件

class PassportClient
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        // 使用 guides providers
        config(['auth.guards.api.provider' => 2]);

        return $next($request);
    }
}

创建路由

$api = app('Dingo\Api\Routing\Router');

$api->version('v1', ['namespace' => 'App\Http\Controllers\Api\V1\GuideWeapp'], function ($api) {
    // 登陆 使用了PassportClient中间件
    $api->post('socials/{social_type}/authorizations', 'AuthorizationsController@store')->name('api.socials.authorizations.store')->middleware('passport.client');
    // 这里auth:api鉴权失败
    $api->group(['middleware' => ['auth:api', 'bindings']], function ($api){
        // 获取当前认证用户信息
        $api->get('socials/me', 'AuthorizationsController@me')->name('api.socials.authorizations.me');
    });
});

登陆并获取到token,在oauth_access_tokens表中也写入了token

passport 多表登陆 auth:API 中间件鉴权失败

    /**
     * 登录授权获取token.
     *
     * @param  AuthorizationRequest   $request
     * @param  AuthorizationServer    $server
     * @param  ServerRequestInterface $serverRequest
     * @return mixed|void
     */
    public function store(AuthorizationRequest $request, AuthorizationServer $server, ServerRequestInterface $serverRequest)
    {
        try {
            $response = $server->respondToAccessTokenRequest($serverRequest, new Psr7Response())->withStatus(201);

            return $response;
        } catch (OAuthServerException $e) {
            return $this->response->errorUnauthorized($e->getMessage());
        }
    }

上面已经成功获取到token,但是访问api/socials/meauth:api鉴权失败? 我怎么如何处理这个问题?

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!