在 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 中创建虚拟表数据并连接它们?
如何在 Javascript 中创建 JWT exp 样式日期
在 UsernamePasswordAuthenticationFilter 或 Controller 中创建 JWT 令牌?