Для Laravel Sanctum можно использовать существующий токен

#php #laravel #traits #laravel-sanctum

Вопрос:

Возможно ли в LaravelSanctum создать собственный токен. В данный момент в файле признаков будет сгенерирована случайная строка HasApiTokens.php .

Я перезаписал функцию createToken () (из HasApiToken.php) в моем AppModelsUser.php к этому:

 public function createToken(string $myToken, Carbon $expiresIn, array $abilities = ['*'])
{
    /** @var  $token */
    $token = $this->tokens()->create([
        'name' => 'special-token',
        'token' => hash('sha256', $myToken),
        'abilities' => $abilities,
        'expiresIn' => $expiresIn,
    ]);

    return new NewAccessToken($token, $token->getKey().'|'.$myToken);
}
 

Я изменю, чтобы токен можно было вводить в качестве параметра, и добавлю метку времени с истекшим сроком действия. Но когда я запущу этот код, я получу следующую ошибку:

 Too few arguments to function AppModelsMyToken::__construct(), 0 passed in E:PHP-Projectsexample-projectvendorlaravelframeworksrcIlluminateDatabaseEloquentConcernsHasRelationships.php on line 745 and exactly 2 expected`



 at E:PHP-Projectscaseable-fullfilment-appappModelsMyToken.php:35
     31▕      * @param  LaravelSanctumPersonalAccessToken  $accessToken
     32▕      * @param  string  $plainTextToken
     33▕      * @return void
     34▕      */
  ➜  35▕     public function __construct(PersonalAccessToken $accessToken, string $plainTextToken)
     36▕     {
     37▕         $this->accessToken = $accessToken;
     38▕         $this->plainTextToken = $plainTextToken;
     39▕     }
 

Я добавил новую модель токена, как она задокументирована в документе laravelsanctum. В чем я ошибаюсь?