【问题标题】:Laravel passport can't find ApproveAuthorizationControllerLaravel 护照找不到 ApproveAuthorizationController
【发布时间】:2018-07-15 20:28:06
【问题描述】:

我正在尝试通过使用 laravel 护照功能来设置具有 oauth 自动化功能的 laravel 应用程序。我正在使用官方教程(https://laravel.com/docs/master/passport)。但是现在,如果我向“/oauth/authorize”发出发布请求,则会出现以下错误消息:

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

我不知道我做错了什么。我使用从“Passport:routes”获取的路线,没有自定义路线。

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

问题出在这里:

/**
 * 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 语句导入缺少的类,但它仍然不起作用。

有人可以帮帮我吗?

【问题讨论】:

    标签: php laravel oauth laravel-passport


    【解决方案1】:

    您似乎在控制器或服务提供程序的顶部缺少use 语句。在某个地方,您使用了一个类,而没有先正确导入它。这就是为什么你会看到这样的连接字符串:

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

    我假设你需要的是这样的:

    use Passport\Http\Controllers\ApproveAuthorizationController;
    

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

    use Laravel\Passport\Passport;
    

    【讨论】:

    • 我在代码中找到问题开始的地方。 (我已经编辑了问题)
    • 尝试从bootstrap/cache中删除services.phppackages.php并重新运行composer dumpautoload
    猜你喜欢
    • 2018-04-18
    • 2019-02-05
    • 1970-01-01
    • 2020-07-18
    • 2017-07-27
    • 1970-01-01
    • 2018-09-09
    • 2015-06-18
    • 2017-12-01
    相关资源
    最近更新 更多