所以我用 php artisan passport:client
当我向 oauthtoken 发出 POST 请求时,我很感激地得到了一个令牌。
然而,当我尝试将该令牌放入我的头文件中并转到 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',
],
在我的例子中,从 WHM 服务器和功能中移除 Lsapi 组件。