OfficialSPIMFA / PasswordlessActive

keycloak-mfa-plugins

netzbegruenung/keycloak-mfa-plugins ↗

MFA plugins: SMS, enforced MFA, native-app MFA.MFAプラグイン集(SMS/強制MFA/ネイティブアプリMFA)

★
300
Forks
129
Contributors
35
Updated
2026-10-13
KC
26.8.0
License
Apache-2.0

What it can doできること5

  • SMS one-time code as a second factor, sent through any configurable HTTP(S) SMS API (production ready), with phone-number validation and update required actions.SMSのワンタイムコードによる二要素認証。設定可能なHTTP(S)のSMS APIで送信でき(production ready)、電話番号の確認・更新用Required Actionもある
  • Email one-time code via the realm's SMTP (production ready), with configurable code length and TTL and optional forced 2FA.realmのSMTPを使うメールのワンタイムコード(production ready)。桁数とTTLを設定でき、2FAの強制も可能
  • "Enforce MFA": make users without a second factor choose and set one up after login (beta); a conditional variant decides based on enrolled credentials.「Enforce MFA」で、二要素未設定のユーザーにログイン後の設定を強制(ベータ)。登録済みクレデンシャルで分岐する条件付き版もある
  • "Trusted device": skip the second factor on a remembered browser for a configurable number of days (7 by default).「Trusted Device」で、信頼したブラウザでは指定日数(既定7日)二要素を省略
  • Approve or deny logins from a mobile app (push or polling, device key pair) — a Flutter client package exists.モバイルアプリからログインを承認・拒否できる(プッシュかポーリング、端末の鍵ペアで署名)。Flutterのクライアントパッケージあり

What it cannot do / limitsできないこと・制約4

  • The native-app MFA is still a work in progress, and Enforce MFA is beta.ネイティブアプリMFAは開発中、Enforce MFAはベータ
  • The SMS step must use the alias sms-2fa (a known hack); payloads are always HTTP POST, and you need your own SMS provider account.SMSのステップはエイリアスを sms-2fa にする必要がある(既知の暫定対応)。送信は常にHTTP POSTで、SMS事業者の契約は自前で用意
  • Enforce MFA only works with a specific flow layout (the MFA-alternatives subflow must be the first subflow).Enforce MFAは特定のフロー構成でしか動かない(MFAの選択肢を持つサブフローが最初のサブフローである必要がある)
  • Each release is built for one Keycloak version (<keycloak>-<n> versioning).各リリースは特定のKeycloakバージョン向けにビルドされる(<keycloak>-<n> 形式)

Requirements前提条件