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鉴权失败? 我怎么如何处理这个问题?

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

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