25 lines
950 B
PHP
25 lines
950 B
PHP
<?php
|
|
/**
|
|
* staff/app_login.php: Einstiegspunkt für die Übergabe aus der Android- und Windows-App (siehe includes/web_handoff.php).
|
|
* Die Adresse enthält ein einmaliges, 60 Sekunden gültiges Token und leitet sofort auf die gewünschte Seite weiter.
|
|
*/
|
|
require_once __DIR__ . '/../includes/bootstrap.php';
|
|
require_once __DIR__ . '/../includes/web_handoff.php';
|
|
|
|
header('Cache-Control: no-store');
|
|
header('Referrer-Policy: no-referrer');
|
|
|
|
$pdo = get_db();
|
|
try {
|
|
$res = web_handoff_consume($pdo, (string) ($_GET['t'] ?? ''));
|
|
} catch (Throwable $e) {
|
|
$res = null;
|
|
}
|
|
if (!$res || !web_handoff_path_allowed($res['staff'], $res['path'])) {
|
|
flash('error', 'Dieser Link ist abgelaufen oder wurde schon benutzt. Bitte in der App erneut öffnen.');
|
|
redirect('/staff/login.php');
|
|
}
|
|
staff_login($res['staff']);
|
|
audit_log((int) $res['staff']['id'], 'Aus der App im Browser geöffnet: ' . strtok($res['path'], '?'));
|
|
redirect($res['path']);
|