在 Factory Laravel 中创建 JWTAuth 令牌

Posted

技术标签:

【中文标题】在 Factory Laravel 中创建 JWTAuth 令牌【英文标题】:Create JWTAuth token in Factory Laravel 【发布时间】:2017-11-05 18:24:38 【问题描述】:

我有模型用户,需要使用 faker lib 创建数据库播种器,但我使用 JWT 记录了 _token。现在如何使用 JWT 创建 _token?

$factory->define(App\User::class, function (Faker\Generator $faker) 
    static $password;

    return [
        'firstName' => $faker->name,
        'lastName' => $faker->name,
        'username' => $faker->unique()->username,
        'email' => $faker->unique()->safeEmail,
        'password' => md5('user123'),
        'bio' => $faker->sentence(3, true),
        'type' => $faker->randomElement(['seller', 'buyer']),
        'birthday' => $faker->dateTimeThisCentury,
        'avatar' => $faker->imageUrl($width = 400, $height = 400),
        'cover' => $faker->imageUrl($width = 851, $height = 315),
        'gender' => $faker->randomElement(['male', 'female']),
        'country' => $faker->country,
        '_token' => JWTAuth::fromUser() // ???,

    ];
);

【问题讨论】:

【参考方案1】:
    JWT 不是这样工作的。 当用户本身尚未创建时,您希望库如何为用户生成令牌?令牌需要至少有一个声明才能识别用户。 JWT 旨在用作非持久性令牌。仅当您想要将令牌列入黑名单或使令牌无效时才会存储它们。

您正在寻找的可能是基于令牌的简单身份验证,在这种情况下不是 JWT。

【讨论】:

谢谢,我明白了。

以上是关于在 Factory Laravel 中创建 JWTAuth 令牌的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Laravel 8 中的工厂在 tinker 中创建虚拟表数据并连接它们?

如何在java中创建jwt [关闭]

如何在 Symfony 5 中创建 JWT 令牌?

在 Java 中创建 JWT,在 Node 中验证很热门?

如何在 Javascript 中创建 JWT exp 样式日期

在 UsernamePasswordAuthenticationFilter 或 Controller 中创建 JWT 令牌?