質問: Laravel Sanctumでアクセストークンを作成するには、`createToken`メソッド内に文字列を渡す必要があります。渡すものはすべてSHA-256を使用してハッシュされるか、プレーンテキストトークンを取得できるため、これは奇妙だと思います。 ランダムな文字列に基づいてアクセストークンが作成されないのはなぜですか?`Str::random(10)`を使用すると簡単に実行できます。名前として何をパスするのかよくわかりません。
回答: ### 答え : #### 解決: createTokenに渡す文字列は、トークン名です。 あなたはそれを必要としないかもしれませんが、それが役に立ついくつかのユースケースがあります。 たとえば、ウェブ用とモバイルアプリ用の2種類のトークンがあり、それぞれの種類の有効期限が異なる場合は、「ウェブトークン」や「モバイル」などの特定の名前で各種類をグループ化できます。 -トークン'。 誰もがその機能を必要としているわけではありませんが、いつ必要になるかわからないようにしておくのは良いことです。 ランダムな名前を自動的に生成する場合は、createTokenメソッドを上書きするだけで、次のようなランダムな文字列を生成できます。 app / User.phpを開き、次のメソッドを貼り付けます。 ``` public function createToken(array $abilities = ['*']) { $token = $this->tokens()->create([ 'name' => Str::random(10), 'token' => hash('sha256', $plainTextToken = Str::random(80)), 'abilities' => $abilities, ]); return new NewAccessToken($token, $token->id.'|'.$plainTextToken); }Copy code ``` これはテストされていませんが、動作するはずです。