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

オープン
#5,025 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

  • #5034 @MauryaQbit による — マージされずにクローズ

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
typescript

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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.

主要言語
TypeScript
スター
16.5k
フォーク
1.5k
平均マージ
1日 15時間
マージ済み PR(30日)
17

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

triggerdotdev/trigger.dev のほかの issue

triggerdotdev/trigger.dev の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。