Files
Adminator 1e51ef7def Nachtrag: alle bisher untracked Ordner + hängende Änderungen mit-committen
- Konzept/, didaktik_geografie/, didaktik_simulation/, v2-modules/, v2-platform/
- 12 code-workspace-Files
- STATUS-*.md
- viele M/D/R-Änderungen an bereits getrackten Files
- .gitignore verstärkt: **/.humaninput/, **/secret_keys.txt

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-08 02:27:02 +02:00

29 lines
769 B
PHP

<?php
/**
* POST /api/auth/refresh
*
* Header: Authorization: Bearer <token> (auch wenn fast abgelaufen)
*
* Liefert frisches Token mit gleicher Identität und Rolle.
* Wird vom Telemetry-Client und Cockpit transparent aufgerufen,
* wenn das Token im Refresh-Fenster (Default 5min vor Ablauf) ist.
*/
declare(strict_types=1);
require_once __DIR__ . '/../../bootstrap.php';
v2_validate_method('POST');
$payload = v2_auth_current();
if (!$payload) {
v2_response_error(401, 'unauthorized', 'Token fehlt oder ungültig.');
}
// Neues Token mit identischem Payload (exp/iat werden neu gesetzt)
unset($payload['exp'], $payload['iat']);
$newToken = v2_auth_token_create($payload);
v2_response_ok([
'token' => $newToken,
'expiresIn' => V2_JWT_TTL,
]);