【问题标题】:How to use Laravel Passport access tokens如何使用 Laravel Passport 访问令牌
【发布时间】:2019-06-09 15:22:06
【问题描述】:

首先让我描述一下我要解决的问题。我有一个 Laravel 后端项目,我想将其转换为 API,看起来 Laravel Passport 非常适合这个。因此,我将 Laravel Passport 安装到我的项目中。

我有一个客户端应用程序需要通过 axios 使用此 API。我想要做的是使用我的用户名和密码向 API 发出发布请求以获取access token,然后使用此访问令牌获取或发布相关数据。访问令牌由以下代码创建

public function login()
{
    if (Auth::attempt(['email' => request('email'), 'password' => request('password')])) {
        $user = Auth::user();
        $success['token'] = $user->createToken('MyApp')->accessToken;
        return response()->json($success['token']);
        // return response()->json(['success' => $success], 200);
    } else {
        return response()->json(['error' => 'Unauthorised'], 401);
    }
}

我的应用程序存储访问令牌。我是否认为我的应用程序现在可以使用此访问令牌来访问我登录时使用的用户的数据?如果是这样,我该怎么做?我曾尝试使用this,但无法成功。

如果需要,我很乐意发布更多代码!

【问题讨论】:

    标签: axios laravel-passport


    【解决方案1】:

    也许这会有所帮助。当我将访问令牌存储在我的前端应用程序上时,我还附加了标题

    axios.defaults.headers.common['Authorization'] = "Bearer " + token.data.access_token
    

    你所有的 axios 请求都会使用这个 header。

    获取用户详细信息

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

    【讨论】:

      猜你喜欢
      • 2019-03-25
      • 2018-06-02
      • 2017-05-23
      • 2018-05-29
      • 2018-11-10
      • 2018-04-23
      • 2020-07-16
      • 2021-06-10
      • 2021-06-12
      相关资源
      最近更新 更多