feat(settings): API token management UI for users

Adds a "API Tokens" settings page so an authenticated user can create and
revoke Sanctum personal access tokens for the new authenticated write
endpoints — using the official Sanctum API ($user->createToken() / tokens()).

- New Volt component settings/api-tokens (create token, one-time plain-text
  reveal with copy-to-clipboard, list + revoke own tokens).
- Registered route settings.api-tokens (country-prefixed, auth group) and
  added a nav entry in the settings layout.
- SEO definition for the new page.
- Pest feature tests (create/reveal-once, validation, revoke, ownership
  scoping) and a Pest browser screenshot test.
This commit is contained in:
HolgerHatGarKeineNode
2026-06-07 22:56:28 +02:00
parent a3062f6c4e
commit 4c81e20529
6 changed files with 260 additions and 0 deletions
@@ -0,0 +1,19 @@
<?php
it('shows the api token management UI and the one-time token reveal', function () {
$user = actingAsUser(['name' => 'Lecturer Demo', 'is_lecturer' => true]);
// Pre-existing token so the "Aktive Tokens" table is populated.
$user->createToken('Mein Laptop');
$page = visit('/de/settings/api-tokens');
$page->assertSee('API Tokens')
->fill('name', 'Externer Kurs-Sync')
->click('Token erstellen')
->wait(1)
->assertSee('Dein neues API Token')
->assertSee('Aktive Tokens')
->assertNoJavaScriptErrors()
->screenshot(filename: 'settings-api-tokens');
});