Laravel 护照找不到 ApproveAuthorizationController
Laravel passport can't find ApproveAuthorizationController
我正在尝试使用 laravel 通行证功能设置一个具有 oauth 授权的 laravel 应用程序。我使用的是官方教程 (https://laravel.com/docs/master/passport)。但是现在,如果我向“/oauth/authorize”发出 post 请求,则会出现以下错误消息:
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',
]);
});
}
我已经通过使用语句导入缺失的 class 进行了尝试,但它仍然无法正常工作。
有人可以帮我吗?
您似乎在控制器或服务提供商的顶部缺少 use
语句。在某个地方你有一个 class 被使用,但没有先正确导入它。这就是为什么您会看到像这样的连接字符串:
App\Http\Controllers\Laravel\Passport\Http\Controllers\ApproveAuthorizationController.
我假设你需要的是这个:
use Passport\Http\Controllers\ApproveAuthorizationController;
Passport::routes
中的 或 Passport
未被导入,两者之一。在 AppServiceProvider
:
use Laravel\Passport\Passport;
我正在尝试使用 laravel 通行证功能设置一个具有 oauth 授权的 laravel 应用程序。我使用的是官方教程 (https://laravel.com/docs/master/passport)。但是现在,如果我向“/oauth/authorize”发出 post 请求,则会出现以下错误消息:
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',
]);
});
}
我已经通过使用语句导入缺失的 class 进行了尝试,但它仍然无法正常工作。
有人可以帮我吗?
您似乎在控制器或服务提供商的顶部缺少 use
语句。在某个地方你有一个 class 被使用,但没有先正确导入它。这就是为什么您会看到像这样的连接字符串:
App\Http\Controllers\Laravel\Passport\Http\Controllers\ApproveAuthorizationController.
我假设你需要的是这个:
use Passport\Http\Controllers\ApproveAuthorizationController;
Passport::routes
中的 或 Passport
未被导入,两者之一。在 AppServiceProvider
:
use Laravel\Passport\Passport;