Laravel Passport-/ oauth / token生成无效令牌

时间:2019-03-05 15:18:29

标签: php laravel laravel-passport

因此,我使用php artisan passport:client创建了一个客户端,当我执行POST请求以进行oauth / token时,幸好取回了一个令牌。

但是,当我尝试通过将其放在标头中并转到受auth:api保护的路由来使用该令牌时,会得到401未经授权。

但是,使用其他登录路径似乎可行。当我在api控制器中使用此路由时:

Route::post('/login', 'Auth\LoginController@login')->name('login');

具有以下代码:

public function login(Request $request) {
    $input = $request->all();

    if (Auth::attempt(['email' => $input['email'], 'password' => $input['password'] ])) {
        $user = Auth::user();

        return [
            'success' => true,
            'token' => $user->createToken('test')->accessToken
        ];
    }

    return [
        'success' => false,
        'message' => 'unable to authenticate'
    ];
}

我找回了在受保护路线上工作的令牌。

我正在使用Postman进行测试,我有标头Authorization: Bearer <token>Accept: application/json。不知道为什么它会以一种方式起作用,而不是另一种方式。

编辑:这是受保护的路线:

Route::middleware('auth:api')->get('/user', function (Request $request) 
{
    return $request->user();
});

使用:

'api' => [
    'driver' => 'passport',
    'provider' => 'users',
],

1 个答案:

答案 0 :(得分:0)

就我而言,从WHM服务器和功能中删除Lsapi组件。