首页 > 解决方案 > Laravel Passport Token 不返回一系列代码

问题描述

我目前很困惑为什么我的令牌响应 JSON 不提供令牌代码。

"token": {
    "token": {
        "name": "appToken",
        "abilities": [
            "*"
        ],
        "tokenable_id": 1,
        "tokenable_type": "App\\Models\\User",
        "updated_at": "2021-08-29T17:35:00.000000Z",
        "created_at": "2021-08-29T17:35:00.000000Z",
        "id": 7
    }
},

这是响应的代码。

public function login()
{
    if (Auth::attempt(['email' => request('email'), 'password' => request('password')])) {
        $user = Auth::user();
        $success['token'] = $user->createToken('appToken')->accessToken;
       //After successfull authentication, notice how I return json parameters
        return response()->json([
          'success' => true,
          'token' => $success,
          'user' => $user
      ]);
    } else {
   //if authentication is unsuccessfull, notice how I return json parameters
      return response()->json([
        'success' => false,
        'message' => 'Invalid Email or Password',
    ], 401);
    }
}

我想要那些验证码:Bearer

标签: laraveltokenlaravel-passport

解决方案


如果你使用的是第八版 Laravel。在用户模型中将 Sanctum\HasApiTokens 调用替换为 Passport\HasApiTokens

替换以下

use Laravel\Sanctum\HasApiTokens;

经过

use Laravel\Passport\HasApiTokens;

推荐阅读