首页  >  问答  >  正文

使用Laravel创建一个带有授权令牌的GET API

我有一个注册 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粉239164234P粉239164234322 天前462

全部回复(1)我来回复

  • P粉475126941

    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')

    而不是获取用户对象。

    回复
    0
  • 取消回复