Laravel:使用Passport Oauth令牌注册和登录(ReflectionException:控制器不存在)

时间:2019-04-26 07:13:07

标签: php laravel laravel-passport

所以我正在尝试使用Laravel Api Passport,但出现此错误。

ReflectionException:

Class App\Http\Controllers\Api\AuthController does not exist

每当我尝试输入以下命令时:“ php artisan route:list”

我的路线代码放置在我的 api.php

Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
Route::post('/register','Api\AuthController@register');

我猜该错误位于 api.php 中,但我不知道它在哪里。

这是 AuthController.php 代码

<?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use App\User;
use GuzzleHttp\Client;
use Illuminate\Http\Request;

class AuthController extends Controller
{
   public function register(Request $request){
    $validatedData = $request->validate([
        'email'=>'required',
        'name'=>'required',
        'password'=>'required'
    ]);

    $user = new User();
    $user->name = $request->name;
    $user->email = $request->email;
    $user->password = bcrypt($request->password);
    $user->save();

    $http = new Client;

    $response = $http->post(url('oauth/token'), [
        'form_params' => [
            'grant_type' => 'password',
            'client_id' => '2',
            'client_secret' => 'C0aJVstKoiTxx1HrCQEwBOYNKYHhMCGN9w6NUz57',
            'username' => $request->email,
            'password' => $request->password,
            'scope' => '',
        ],
    ]);

    return response(['data'=>json_decode((string) $response->getBody(), true)]);
}
public function login(){

}
}

我正在youtube上观看本教程: https://www.youtube.com/watch?v=fiVA2Oko23o

这是我的第二部分,我已经按照教程中的说明进行了所有操作,但是我的代码似乎有问题。

3 个答案:

答案 0 :(得分:0)

我是如此新手,我发现问题出在 api.php

身份验证应放置在 Api

之前
Route::post('/register','Auth\Api\AuthController@register');

答案 1 :(得分:0)

我想您忘记输入'\'。 您应该尝试一下。

Route::post('/register','\Api\AuthController@register');

Laravel路由始终将控制器类定位在\Controller命名空间上。

答案 2 :(得分:0)

您应通过

调用该操作
constructor(private route: ActivatedRoute) {
    this.route.queryParams.subscribe(params => {
        // update the table
    });
}