feat: self-hosted env flag to require MFA for every dashboard user

Aperta
#5,025 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

  • #5034 di @MauryaQbit — chiusa senza merge

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
typescript

Direzione di ricerca

The request is a new opt-in MFA_REQUIRED webapp environment variable that gates dashboard access on TOTP MFA being enabled, and blocks users from disabling it. Start with how the webapp already handles sign-in, the existing TOTP opt-in flow, and where dashboard requests are authorized. Done means that with the flag set, an MFA-less user is redirected to setup and other dashboard routes refuse them, and with the flag unset behavior is unchanged. Because the issue has no discussion yet, confirm the design with the maintainers before building on the author's pending pull request.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Is your feature request related to a problem? Please describe.

Self-hosted instances can't require multi-factor authentication. TOTP MFA is opt-in for each user, magic-link login is always available, and users can turn MFA off themselves. Operators under compliance programs (FedRAMP, SOC 2, HIPAA) need to require a second factor for every dashboard user, not just recommend one.

Describe the solution you'd like to see

An opt-in MFA_REQUIRED webapp env var, off by default. When it's set:

  • A signed-in user without MFA is sent to a setup page. Other dashboard requests are refused until they enable it.
  • Users can't disable MFA.
Describe alternate solutions
  • Put an authenticating proxy (such as OIDC at the load balancer) in front of the dashboard. This adds infrastructure, and the MFA it enforces sits outside Trigger.dev.
  • Report users without MFA and follow up with them manually. This catches gaps but doesn't prevent access.
Additional information

I have an implementation ready and will open a PR that references this issue.

Lingua principale
TypeScript
Stelle
16.5k
Fork
1.5k
Merge medio
1g 15h
PR unite (30g)
17

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di triggerdotdev/trigger.dev

Tutte le issue di triggerdotdev/trigger.dev

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.