5d94572569
Vorbereitung für pod-unabhängige Sessions (k8s-Ziel). Ändert am Live-System NICHTS: AUTH_BACKEND='session' bleibt Default, die neuen Libs sind noch nirgends verdrahtet. - composer eingeführt: firebase/php-jwt ^6.11 + predis/predis ^2.4 (pure PHP, keine Redis-Extension nötig → läuft auf XAMPP wie im Prod-Image). vendor/ committed (kein Composer auf dem Server). - Jwt.php: HS256-Access-Token (issue/verify), decode() IMMER mit explizitem Algorithmus (mitigiert Algorithmus-Confusion). 8/8 Tests grün. - SessionStore.php: predis-gestützter Session/Refresh-Store (sess:<sid>, Sliding-TTL, revoke=DEL) — die widerrufbare Session hinter dem kurzen JWT. - app.php: vendor/autoload (guarded), Konstanten AUTH_BACKEND (Default session), REDIS_URL, JWT_TTL, JWT_REFRESH_TTL. JWT_SECRET bewusst ohne Default. - docker-compose.dev.yml: Redis (+ redis-commander UI) für lokale Dev-Parität. - .env.example um Auth-Block ergänzt. Nächste Phasen: $_SESSION-Zugriffe (293) durch Session:: kanalisieren → Backend-Umschalter in Session.php → doppelgleisiger Cutover → Reporting auf student_id-FK ziehen. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
39 lines
1.1 KiB
PHP
39 lines
1.1 KiB
PHP
<?php
|
|
|
|
// autoload_real.php @generated by Composer
|
|
|
|
class ComposerAutoloaderInit2d5bd664b477984e9dd447a511f9360d
|
|
{
|
|
private static $loader;
|
|
|
|
public static function loadClassLoader($class)
|
|
{
|
|
if ('Composer\Autoload\ClassLoader' === $class) {
|
|
require __DIR__ . '/ClassLoader.php';
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @return \Composer\Autoload\ClassLoader
|
|
*/
|
|
public static function getLoader()
|
|
{
|
|
if (null !== self::$loader) {
|
|
return self::$loader;
|
|
}
|
|
|
|
require __DIR__ . '/platform_check.php';
|
|
|
|
spl_autoload_register(array('ComposerAutoloaderInit2d5bd664b477984e9dd447a511f9360d', 'loadClassLoader'), true, true);
|
|
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
|
|
spl_autoload_unregister(array('ComposerAutoloaderInit2d5bd664b477984e9dd447a511f9360d', 'loadClassLoader'));
|
|
|
|
require __DIR__ . '/autoload_static.php';
|
|
call_user_func(\Composer\Autoload\ComposerStaticInit2d5bd664b477984e9dd447a511f9360d::getInitializer($loader));
|
|
|
|
$loader->register(true);
|
|
|
|
return $loader;
|
|
}
|
|
}
|