@if(session('success'))
{{ session('success') }}
@endif {{-- Der Klartext kommt genau einmal durch die Sitzung. Wer ihn hier nicht mitnimmt, muss einen neuen Token anlegen - gespeichert ist nur der Hash. --}} @if(session('neuer_token'))

Token – jetzt kopieren, er wird nie wieder angezeigt

{{ session('neuer_token') }}

Gespeichert ist nur ein Hash. Geht der Token verloren, lässt er sich nicht wiederherstellen – dann einen neuen anlegen und den alten widerrufen.

@endif

Zugänge zur Fernsteuerungs-Schnittstelle

Jeder Token trägt eine feste Liste von Rechten. Ein Auswertungsdienst bekommt nur Leserechte und kann dann nichts auslösen, auch wenn sein Token abhandenkommt. Bestellungen auslösen ist bewusst ein eigenes Recht – dahinter stehen verbindliche Bestellungen bei einem Lieferanten.

Ein Token hängt an einem Benutzer, damit in jedem Protokoll steht, in wessen Namen ein fernes System gehandelt hat. Für dauerhafte Anbindungen einen eigenen technischen Benutzer anlegen, statt den Token einer Person zu geben, die irgendwann das Haus verlässt. Die Endpunkte stehen in der Entwicklerdokumentation.

Neuen Token anlegen

@csrf
@error('name')

{{ $message }}

@enderror

Woran man später erkennt, wer diesen Token benutzt.

@error('user_id')

{{ $message }}

@enderror
@error('gueltig_tage')

{{ $message }}

@enderror

Ein Ablaufdatum begrenzt den Schaden, wenn ein Token abhandenkommt.

@foreach($abilities as $schluessel => $beschreibung) @php $schreibt = str_contains($schluessel, ':write') || str_contains($schluessel, ':run'); @endphp @endforeach
@error('abilities')

{{ $message }}

@enderror
@forelse($tokens as $t) @php $abgelaufen = $t->expires_at && $t->expires_at->isPast(); $nieBenutzt = $t->last_used_at === null; @endphp @empty @endforelse
Bezeichnung Im Namen von Rechte Angelegt Zuletzt benutzt Gültigkeit
{{ $t->name }} {{ $t->tokenable?->email ?? '–' }} @foreach((array) $t->abilities as $a) @php $schreibt = str_contains($a, ':write') || str_contains($a, ':run'); @endphp {{ $a }} @endforeach {{ $t->created_at?->format('d.m.Y') }} {{ $t->last_used_at?->format('d.m.Y, H:i') ?? 'nie' }} @if(! $t->expires_at) unbefristet @elseif($abgelaufen) abgelaufen {{ $t->expires_at->format('d.m.Y') }} @else bis {{ $t->expires_at->format('d.m.Y') }} @endif
@csrf @method('DELETE')
Noch kein Token angelegt.

„Zuletzt benutzt" wird bei jeder Anfrage fortgeschrieben. Ein Token, der seit Wochen auf „nie" steht, wird nicht gebraucht – und ein unbenutzter Zugang ist ein Zugang, dessen Verlust niemand bemerkt.