Laravel Sanctum でアクセス トークンを作成するには、createToken
メソッド内で文字列を渡す必要があります。渡すものは何でもSHA-256を使用してハッシュされるか、プレーンテキストトークンを取得できるため、これは奇妙だと思います。
ランダムな文字列に基づいてアクセス トークンが作成されないのはなぜですか? Str::random(10)
たとえば、簡単に実行できたはずです。名前として何をパスすればよいかわかりません。
Laravel Sanctum でアクセス トークンを作成するには、createToken
メソッド内で文字列を渡す必要があります。渡すものは何でもSHA-256を使用してハッシュされるか、プレーンテキストトークンを取得できるため、これは奇妙だと思います。
ランダムな文字列に基づいてアクセス トークンが作成されないのはなぜですか? Str::random(10)
たとえば、簡単に実行できたはずです。名前として何をパスすればよいかわかりません。
createToken に渡す文字列はトークン名です。
必要ないかもしれませんが、役に立つユースケースがいくつかあります。
たとえば、Web 用とモバイル アプリ用の 2 つの異なるタイプのトークンがあり、各タイプの有効期限が異なる場合、「web-token」や「mobile」などの特定の名前で各タイプをグループ化できます。 -トークン'。
誰もがその機能を必要としているわけではありませんが、いつ必要になるかわからない機能があると便利です。
ランダムな名前を自動的に生成したい場合は、次のように 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);
}
これはテストされていませんが、動作するはずです。