laravel 已安装Passport,但未找到个人访问客户端

ogsagwnx  于 2023-04-13  发布在  其他
关注(0)|答案(1)|浏览(198)

我很久以前为Nuxt配置了带有Passport(密码授予)的Laravel API,我没有问题记录用户,但现在我需要手动创建一个访问令牌用于特定目的。
然而,当我尝试为用户创建一个令牌时,如下所示,我得到一个错误:

$user = MyCompany\MyPackage\Models\User::find(123);
$user->createToken('my token')

   RuntimeException  Personal access client not found. Please create one.

我的配置中缺少什么?
下面是我的用户模型:

<?php
namespace MyCompany\MyPackage\Models;

use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Hash;
use Laravel\Passport\HasApiTokens;

class User extends Authenticatable implements MustVerifyEmail
{
    use HasApiTokens;
    use Notifiable;

    ...

}
zxlwwiss

zxlwwiss1#

为了使用createTokens(),您需要在DB上拥有personal access令牌,您可以使用命令php artisan passport:client --personal
你可以在你的数据库上有许多客户端ID,用于密码,客户端授权。
在您的.env上放置个人id/secret:

PASSPORT_PERSONAL_ACCESS_CLIENT_ID=client-id-value
PASSPORT_PERSONAL_ACCESS_CLIENT_SECRET=unhashed-client-secret-value

相关问题