PATH:
home
/
rwabteecom
/
project_11
/
app
/
Traits
/
Editing: HandleAccessTokenCreationTrait.php
<?php namespace App\Traits; use DateTimeInterface; use Illuminate\Support\Str; use Laravel\Sanctum\HasApiTokens; use Laravel\Sanctum\NewAccessToken; trait HandleAccessTokenCreationTrait { use HasApiTokens; public function createToken(string $name, array $abilities = ['*'], DateTimeInterface $expiresAt = null): NewAccessToken { $plainTextToken = sprintf( '%s%s%s', config('sanctum.token_prefix', ''), $tokenEntropy = Str::random(700), hash('crc32b', $tokenEntropy) ); $token = $this->tokens()->create([ 'name' => $name, 'token' => hash('sha256', $plainTextToken), 'abilities' => $abilities, 'expires_at' => $expiresAt, ]); return new NewAccessToken($token, $plainTextToken); } public function credentials($key, $value): array { return [ $key => $value, "access_token" => $this->createToken("token for $this->name")->plainTextToken ]; } }
SAVE
CANCEL