php - 尝试获取经过身份验证的用户时出错

标签 php laravel oauth-2.0 dingo-api

使用 dingo/api连同 lucadegasperi/oauth2-server-laravel .对用户进行身份验证没问题,我得到了一个访问 token ,但每当我发出另一个请求时,我都会收到以下错误:

call_user_func() 期望参数 1 是一个有效的回调,没有给定数组或字符串

我正在使用 Service Provider option列在 dingo/api 文档中,它肯定设置了用户解析器(我在 setUserResolver 方法中对解析器进行了 var_dump)。

我的 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()
    {
        //
    }
}

最佳答案

事实证明我完全不在我正在寻找的地方。在 config/api.php 中,在我的身份验证设置中

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

应该是

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

关于php - 尝试获取经过身份验证的用户时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33944481/

相关文章:

设置为 Redis 时 Laravel 4.2 队列推送同步

laravel - 如果键值相同,如何合并 Laravel 集合?或添加新的数据行

javascript - 如何维护isAuth并保护私有(private)路由?

python - 使用 Python apiclient 忙于调用 Google Calendar API v3 时出现 TypeError

java - 使用指定电子邮件帐户通过 Gmail API 发送电子邮件

php - 如何在 Wordpress 中启用 Animate.css

php - 为什么这个 file_get_contents() 有时有效,有时无效?

javascript - 如何在具 Angular 函数中将电子邮件作为 laravel 参数发送?

php - 使用 php 的 zip 文件 - 排除文件夹

php - 将动态 html 放在页面上最可接受的方式