因此,我使用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',
],
答案 0 :(得分:0)
就我而言,从WHM服务器和功能中删除Lsapi组件。