我正在尝试使用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语句导入缺少的类来尝试它,但它仍然无法正常工作。
有人能帮助我吗?
答案 0 :(得分:1)
您似乎错过了控制器或服务提供商顶部的use
声明。在某个地方你有一个类正在使用而没有先正确导入它。这就是你看到串联字符串的原因:
App\Http\Controllers\Laravel\Passport\Http\Controllers\ApproveAuthorizationController.
我认为你需要的是这个:
use Passport\Http\Controllers\ApproveAuthorizationController;
或Passport
中的Passport::routes
未导入,两者之一。在AppServiceProvider
:
use Laravel\Passport\Passport;