将dingo/api与lucadegasperi/oauth2-server-laravel一起使用。对用户进行身份验证很好,我得到了一个访问令牌,但是每当我发出另一个请求时,我都会收到以下错误:
call_user_func() expects parameter 1 to be a valid callback, no array or string given
我正在使用dingo/api 文档中列出的Service Provider 选项,它肯定是在设置用户解析器(我会在 setUserResolver 方法中使用 var_dump'd 解析器)。
我的 OauthServiceProvider 如下。
<?php namespace App\Providers;
use Dingo\Api\Auth\Auth;
use Dingo\Api\Auth\Provider\OAuth2;
use App\User\User;
use Illuminate\Support\ServiceProvider;
class OAuthServiceProvider extends ServiceProvider
{
public function boot()
{
$this->app[Auth::class]->extend('oauth', function ($app) {
$provider = new OAuth2($app['oauth2-server.authorizer']->getChecker());
$provider->setUserResolver(function ($id) {
return User::first();
// Logic to return a user by their ID.
});
$provider->setClientResolver(function ($id) {
// Logic to return a client by their ID.
});
return $provider;
});
}
public function register()
{
//
}
}