1e51ef7def
- 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>
45 lines
1.2 KiB
PHP
45 lines
1.2 KiB
PHP
<?php
|
|
/**
|
|
* Mock-Token-Generator für Entwicklung.
|
|
*
|
|
* ?student=42 → Schüler*in-Token
|
|
* ?teacher=1&class=99 → Lehrperson-Token mit Klassen-Bindung
|
|
*
|
|
* Token gilt 24h.
|
|
*/
|
|
|
|
declare(strict_types=1);
|
|
require_once __DIR__ . '/lib/bootstrap.php';
|
|
|
|
if (isset($_GET['student'])) {
|
|
$token = v2_auth_token_create([
|
|
'sub' => (int) $_GET['student'],
|
|
'role' => 'student',
|
|
'class_id' => (int) ($_GET['class'] ?? 99),
|
|
]);
|
|
v2_response_ok([
|
|
'token' => $token,
|
|
'role' => 'student',
|
|
'studentId' => (int) $_GET['student'],
|
|
'expiresIn' => V2_JWT_TTL,
|
|
'usage' => 'Authorization: Bearer <token>',
|
|
]);
|
|
}
|
|
|
|
if (isset($_GET['teacher'])) {
|
|
$token = v2_auth_token_create([
|
|
'sub' => (int) $_GET['teacher'],
|
|
'role' => 'teacher',
|
|
'class_id' => (int) ($_GET['class'] ?? 99),
|
|
]);
|
|
v2_response_ok([
|
|
'token' => $token,
|
|
'role' => 'teacher',
|
|
'teacherId' => (int) $_GET['teacher'],
|
|
'classId' => (int) ($_GET['class'] ?? 99),
|
|
'expiresIn' => V2_JWT_TTL,
|
|
]);
|
|
}
|
|
|
|
v2_response_error(400, 'missing_param', 'Bitte ?student=ID oder ?teacher=ID&class=ID übergeben.');
|