auth_integration.md 1.3 KB

Auth Integration (Username + Password)

Diese Anwendung nutzt eine statische Credential-Tabelle in config/app.local.php.

1) Konfigurationsformat

'admin' => [
    'credentials' => [
        [
            'username' => 'admin',
            'password_hash' => '$2y$12$...',
        ],
    ],
    'session_timeout_seconds' => 3600,
],
  • username: Klartextname fuer Login.
  • password_hash: Ergebnis von password_hash(...).
  • Keine Plaintext-Passwoerter speichern.

2) Passwort-Hash erzeugen

php -r "echo password_hash('DEIN-PASSWORT', PASSWORD_DEFAULT), PHP_EOL;"

Hash in admin.credentials[*].password_hash eintragen.

3) Login-Pruefung (Prinzip)

  1. Benutzername + Passwort entgegennehmen.
  2. Passenden Eintrag in admin.credentials anhand username suchen.
  3. Passwort mit password_verify($plain, $hash) pruefen.
  4. Bei Erfolg Session setzen.

4) Integration in weitere Services (gleiches Subdomain-Umfeld)

Einfachster Weg:

  1. Gleiches Tabellenformat (admin.credentials) in jeder App verwenden.
  2. Dieselben User/Hashes in den lokalen Configs pflegen.
  3. In jeder App denselben Ablauf mit password_verify(...) verwenden.

Hinweis:

  • Das ist kein SSO. Jede App hat weiterhin ihre eigene Session.
  • Fuer spaeteres SSO kann dieselbe Credential-Tabelle als gemeinsame Basis dienen.