loadTokens(); } public function newToken(): void { $user = Auth::user(); // 從 Spatie 權限套件取得權限名稱作為 abilities $abilities = $user->getAllPermissions()->pluck('name')->toArray(); $token = $user->createToken($this->tokenName, $abilities); $this->token = $token->plainTextToken; $this->loadTokens(); session()->flash('status', 'Token created!'); } public function loadTokens() { $this->tokens = Auth::user() ->tokens() ->get() ->map(function ($token) { return [ 'name' => $token->name, 'abilities' => $token->abilities, 'last_used_at' => $token->last_used_at, 'created_at' => $token->created_at->toDateTimeString(), ]; })->toArray(); } public function deleteToken($name) { Auth::user()->tokens()->where('name', $name)->delete(); $this->loadTokens(); } }; ?>

{{ __('New API Token') }}

{{ __('Create a new personal access token.') }}

{{ __('Create Token') }}
@if($token)
{{ $token }}

Please copy this token now. You won't be able to see it again.

@endif

Existing Tokens ({{ count($tokens) }})

@forelse ($tokens as $token)
Name: {{ $token['name'] }}
Abilities: {{ implode(', ', $token['abilities']) }}
Created At: {{ $token['created_at'] }}
Last Used: {{ $token['last_used_at'] ?? 'Never' }}
@empty

No tokens created yet.

@endforelse