Auth Contract

Shift Planner ma dva autentizacni rezimy:

  • browser UI pouziva SimpleAuth
  • machine-to-machine API GET /api/v1/lastKnownData pouziva Authorization: Bearer <token>

SimpleAuth pro UI

Canonical protocol specification je v:

Projektove pouziti:

  • shift-planner-app funguje jako relying party.
  • Runtime konfigurace se materializuje z secrets/local/shift-planner-app.env nebo secrets/prod/shift-planner-app.env.
  • Pro lokalni beh se pouziva callback URL http://127.0.0.1:5004/auth/callback.
  • Pro produkci se pouziva callback URL https://shift-planner.mathbox.90.cz/auth/callback.
  • Uzivatel je autentizovan pres provider a pak autorizovan lokalne podle sp-users.csv.
  • Primarni identita je user_email; kdyz CME useremail neposle, aplikace fallbackne na user_login odvozeny z CME username.

Bearer auth pro API

  • Bearer tokeny se validuji proti registru data/sp-api-tokens.csv.
  • Registry header je token,issued_to,enabled,created_at,updated_at.
  • Klient musi posilat header Authorization: Bearer <token>.
  • Endpoint GET /api/v1/lastKnownData je neverejny a bez platneho bearer tokenu vraci 401.
  • Zmeny v data/sp-api-tokens.csv se nacitaji pri kazdem requestu, restart aplikace neni nutny.

docs/simple-auth-protocol.md je protocol contract pro browser login. Tento soubor drzi projektovou volbu a runtime pouziti obou autentizacnich rezimu.