Ошибка при попытке получить аутентифицированного пользователя

С помощью Динго / апи вместе с lucadegasperi / oauth2-сервера Laravel. Аутентификация пользователя — это хорошо, и я получаю токен доступа обратно, но каждый раз, когда я делаю другой запрос, я получаю следующую ошибку:

call_user_func() expects parameter 1 to be a valid callback, no array or string given

Я использую Опция поставщика услуг перечислены в dingo / api docs, и это определенно устанавливает пользовательский распознаватель (я бы var_dump’d преобразователь в методе setUserResolver).

Мой 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()
{
//
}
}

4

Решение

Оказывается, я был совершенно не там, где искал. В config / api.php, в моих настройках авторизации у меня было

        'oauth2' => Dingo\Api\Auth\Provider\OAuth2::class,

Должен был только что

        'oauth' => Dingo\Api\Auth\Provider\OAuth2::class,
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]