managarten/services
Till JS f5a9edcfb6 feat(auth): add TOTP two-factor authentication across all apps
Uses Better Auth's built-in twoFactor plugin for TOTP + backup codes:

Backend (mana-core-auth):
- twoFactor plugin in better-auth.config.ts (issuer: ManaCore)
- twoFactorEnabled field on users table, backupCodes as encrypted text
- 2FA redirect detection in signIn flow
- Passthrough controller forwards /two-factor/* to Better Auth
- Security event types for 2FA operations

Client (shared-auth):
- enableTwoFactor, disableTwoFactor, verifyTwoFactor, verifyBackupCode,
  generateBackupCodes methods with session-to-token exchange

UI (shared-auth-ui):
- LoginPage: 2FA code input view after password login, backup code toggle
- TwoFactorSetup: settings component with enable/disable/QR code/backup codes

App integration:
- All 19 auth stores have verifyTwoFactor() and verifyBackupCode()
- All 19 login pages pass onVerifyTwoFactor and onVerifyBackupCode callbacks
- ManaCore settings page has TwoFactorSetup component

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 19:55:09 +01:00
..
it-landing feat: add it.mana.how landing page for European tech sovereignty 2026-03-24 10:04:59 +01:00
mana-api-gateway feat(infra): extend Dockerfile validator to backends and services 2026-03-25 08:57:10 +01:00
mana-core-auth feat(auth): add TOTP two-factor authentication across all apps 2026-03-26 19:55:09 +01:00
mana-crawler feat(games): add whopixels hosting at whopxl.mana.how 2026-03-20 19:57:50 +01:00
mana-image-gen fix(mana-notify): resolve BullMQ circular import issue 2026-01-29 22:58:47 +01:00
mana-landing-builder fix(landing-builder): rework Dockerfile to copy workspace directly 2026-03-23 13:50:22 +01:00
mana-llm feat(mana-llm): add Google Gemini fallback provider with auto-routing 2026-03-23 22:44:09 +01:00
mana-media fix(mana-media): use prom-client directly instead of shared metrics package 2026-03-23 11:06:09 +01:00
mana-notify feat(infra): extend Dockerfile validator to backends and services 2026-03-25 08:57:10 +01:00
mana-search fix: replace all manacore.app URLs with mana.how 2026-03-22 18:40:37 +01:00
mana-stt feat(auth): add API key management for STT/TTS services 2026-02-12 02:12:05 +01:00
mana-tts 📝 docs(tts): document German voice support (Piper/Kerstin) 2026-02-14 12:21:40 +01:00
mana-voice-bot feat(mana-voice-bot): add German voice-to-voice assistant service 2026-02-01 02:21:13 +01:00
matrix-calendar-bot feat(games): add whopixels hosting at whopxl.mana.how 2026-03-20 19:57:50 +01:00
matrix-chat-bot 🔒 refactor(bots): remove !login command and enforce OIDC-only auth 2026-02-14 11:26:58 +01:00
matrix-clock-bot feat(games): add whopixels hosting at whopxl.mana.how 2026-03-20 19:57:50 +01:00
matrix-contacts-bot 🔒 refactor(bots): remove !login command and enforce OIDC-only auth 2026-02-14 11:26:58 +01:00
matrix-mana-bot feat(games): add whopixels hosting at whopxl.mana.how 2026-03-20 19:57:50 +01:00
matrix-manadeck-bot 🔒 refactor(bots): remove !login command and enforce OIDC-only auth 2026-02-14 11:26:58 +01:00
matrix-nutriphi-bot feat(infra): extend Dockerfile validator to backends and services 2026-03-25 08:57:10 +01:00
matrix-ollama-bot feat(infra): extend Dockerfile validator to backends and services 2026-03-25 08:57:10 +01:00
matrix-onboarding-bot feat(games): add whopixels hosting at whopxl.mana.how 2026-03-20 19:57:50 +01:00
matrix-picture-bot 🔒 refactor(bots): remove !login command and enforce OIDC-only auth 2026-02-14 11:26:58 +01:00
matrix-planta-bot feat(games): add whopixels hosting at whopxl.mana.how 2026-03-20 19:57:50 +01:00
matrix-presi-bot 🔒 refactor(bots): remove !login command and enforce OIDC-only auth 2026-02-14 11:26:58 +01:00
matrix-project-doc-bot feat(infra): extend Dockerfile validator to backends and services 2026-03-25 08:57:10 +01:00
matrix-questions-bot 🔒 refactor(bots): remove !login command and enforce OIDC-only auth 2026-02-14 11:26:58 +01:00
matrix-skilltree-bot 🔒 refactor(bots): remove !login command and enforce OIDC-only auth 2026-02-14 11:26:58 +01:00
matrix-stats-bot feat(games): add whopixels hosting at whopxl.mana.how 2026-03-20 19:57:50 +01:00
matrix-storage-bot 🔒 refactor(bots): remove !login command and enforce OIDC-only auth 2026-02-14 11:26:58 +01:00
matrix-stt-bot feat(games): add whopixels hosting at whopxl.mana.how 2026-03-20 19:57:50 +01:00
matrix-todo-bot feat(games): add whopixels hosting at whopxl.mana.how 2026-03-20 19:57:50 +01:00
matrix-tts-bot feat(games): add whopixels hosting at whopxl.mana.how 2026-03-20 19:57:50 +01:00
matrix-zitare-bot feat(infra): extend Dockerfile validator to backends and services 2026-03-25 08:57:10 +01:00
ollama-metrics-proxy feat(telegram-bot): add local STT support and Prometheus metrics 2026-01-27 16:51:09 +01:00