Laravel护照找不到ApproveAuthorizationController

时间:2018-02-05 21:28:01

标签: php laravel oauth laravel-passport

我正在尝试使用laravel passport功能设置具有oauth autorization的laravel应用程序。我正在使用官方教程(https://laravel.com/docs/master/passport)。但是现在,如果我向'/ oauth / authorize'发送帖子请求,则会出现以下错误消息:

Class App\Http\Controllers\Laravel\Passport\Http\Controllers\ApproveAuthorizationController does not exist

我不知道我做错了什么。我使用的路线来自“护照:路线”而没有自定义路线。

我已经对作曲家进行了更新,安装和清除缓存,但没有任何效果。

问题在这里引起:

/**
 * Register the routes needed for authorization.
 *
 * @return void
 */
public function forAuthorization()
{
    $this->router->group(['middleware' => ['web', 'auth']], function ($router) {
        $router->get('/authorize', [
            'uses' => 'AuthorizationController@authorize',
        ]);

        $router->post('/authorize', [
            'uses' => 'ApproveAuthorizationController@approve',
        ]);

        $router->delete('/authorize', [
            'uses' => 'DenyAuthorizationController@deny',
        ]);
    });
}

我已经通过使用use语句导入缺少的类来尝试它,但它仍然无法正常工作。

有人能帮助我吗?

1 个答案:

答案 0 :(得分:1)

您似乎错过了控制器或服务提供商顶部的use声明。在某个地方你有一个类正在使用而没有先正确导入它。这就是你看到串联字符串的原因:

App\Http\Controllers\Laravel\Passport\Http\Controllers\ApproveAuthorizationController.

我认为你需要的是这个:

use Passport\Http\Controllers\ApproveAuthorizationController;

Passport中的Passport::routes未导入,两者之一。在AppServiceProvider

use Laravel\Passport\Passport;