我有一个注册 API,它将用户详细信息注册到数据库,它还使用生成令牌 laravel Passport 并将令牌保存到数据库
现在我正在尝试创建一个get api,它将使用生成的令牌从数据库中获取所有数据
我尝试过的
在 api.php
路由::get('/get_user', [userDEtails::class, 'get_user']);
userDEtails.php 控制器
public function get_user(Reqest $req) { // what code must i add here }
在邮递员中,我想在标头中添加令牌作为授权和 api 来工作
我正在使用 Laravel 框架 9.41.0
P粉4751269412023-12-26 00:53:25
既然您已经说过您为此使用 Laravel Passport,请尝试执行 这个来获取用户(并检查范围)
public function get_user(Request $request) { $user = $request->user(); }
理想情况下这应该有效。您还需要确保您的路线使用 'auth:api' 中间件 像这样的路线 -
Route::get('/get_user', [userDEtails::class, 'get_user'])->middleware('auth:api');
如果由于某种原因您无法为此路由使用“auth:api”中间件,并且需要坚持使用“web”或其他内容,则可以使用 -
$user = auth()->guard('api')->user()
或者
$user = $request->user('api')
而不是获取用户对象。