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

问题描述 投票:0回答:1

我很久以前就为 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;

    ...

}
laravel laravel-passport
1个回答
0
投票

为了使用

createTokens()
,您需要在数据库上拥有
personal access
令牌。 您可以在 DB 上拥有许多用于密码、客户端授权的客户端 IDS。 在你的
.env
上写上个人身份/秘密:

PASSPORT_PERSONAL_ACCESS_CLIENT_ID=client-id-value
PASSPORT_PERSONAL_ACCESS_CLIENT_SECRET=unhashed-client-secret-value
© www.soinside.com 2019 - 2024. All rights reserved.