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前提条件
- Copy the JAR(s) into
providers, runkc.sh buildand restart; then duplicate the browser flow and add the steps.JARをprovidersに置き、kc.sh build後に再起動。ブラウザフローを複製してステップを追加