@JammyDodger、無料でインスタンスを登録しました:
そこで、t/227972 で説明されている現象が発生しているようです:
ほとんどのドキュメントでは、これはデフォルトで有効になるべきだと示されています:
しかし、有効にするオプションすらなく、デフォルトでも有効になっていません:
@JammyDodger、無料でインスタンスを登録しました:
そこで、t/227972 で説明されている現象が発生しているようです:
ほとんどのドキュメントでは、これはデフォルトで有効になるべきだと示されています:
しかし、有効にするオプションすらなく、デフォルトでも有効になっていません:
投稿をこちらに移動しました。これは、元々投稿された Contribute > Bug とは異なる問題です。
Discourse ID は OAuth2 を使用していません。実際には SSO プロバイダーとして機能しており、これは異なります。
2FA を設定するには、SSO プロバイダーである ID で設定を行う必要があります。具体的には https://id.discourse.com/my/preferences/security です。
@jomaxro、ありがとうございます。混乱の原因となったのは、enforce_second_factor を “all” に設定しようとしたものの、「ローカルログインが無効化されている場合、2FA の強制はできません」というメッセージが表示されたためです。もし話題から外れすぎなければ、その解決策は何でしょうか?
良い質問ですね…残念ながら、私にはその答えがわかりません。知っているチームメンバーを探して、彼らに連絡を取りました!
チームから訂正されました。Discourse ID は内部で OAuth2 を使用しています。申し訳ありません。別のプロトコルを使用していると思い込んでいました。
ご質問についてですが、外部ログインでの 2 段階認証(2FA)はサポートしていません。ご覧になったメッセージにも記載されている通り、ローカルログインが有効化されていない限り、2FA の強制はできません。2FA の管理(強制を含む)は、外部ログインプロバイダー(この場合は Discourse ID ですが、すべての外部プロバイダーに該当します)に委ねています。
@jomaxro、つまり、無料のトライアルプランでは、その設定を変更できないということでしょうか?あるいは、Discourse ID を何らかの方法で切断することはできますか?
確認したいのですが、無料トライアルのことでしょうか、それとも無料プランのことでしょうか?
@jomaxro、申し訳ありません。フリープランだと思います:
質問:IdP は、ユーザーが MFA を実行したかどうかの情報を SP に伝達しますか?
U2F / FIDO に類似したメカニズムを考えています。プログラムは、認証資格情報に対して期待される/必要なユーザーインタラクションのレベルについて、デバイスからのアテステーションを要求できます。
Discourse ID、あるいは同様に他の IdP(SAML?oAuth2?OIDC?)が、この情報を SP に伝達する場合、それは潜在的に活用できる情報となります。
もし伝達されない場合、この保証を得るためには、フェデレーション後のログイン後に MFA を実装する必要があるという点で、やや行き詰まります。
この機能を標準的な方法で実装するには、OIDC を通じて行う必要があります。Discourse ID は現在、OAuth2 のみで構築されています。MFA フラグをサポートするには、プロバイダー層で OIDC を実装し、必要とするクライアント向けに MFA 値を双方向に渡す処理を追加する必要があります。
いくつかの複雑な問題があります: