2017-06-05 37 views
2

我有模型用戶,需要創建與faker lib的db播種機,但我有使用JWT記錄_token。現在如何用JWT創建_token?在工廠Laravel創建JWTAuth令牌

$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
  1. 這不是JWT是如何工作的。
  2. 當用戶本身沒有被創建時,你如何期望庫爲用戶生成一個令牌?令牌需要至少有一個聲明來標識用戶。
  3. JWT旨在用作非持久性標記。只有當你想要黑名單或無效令牌時纔會存儲它們。

你正在尋找的可能是一個簡單的基於令牌的認證,而不是在這種情況下的JWT。

+0

謝謝,我明白了。 –