Skip to content

Conversation

@AioiLight
Copy link

@AioiLight AioiLight commented Dec 25, 2025

概要(Overview・Refs Issue)

image

fixes #5898

現在2段階認証はオフにしても新しい認証が設定できるわけではなく、再度有効にしても同じ認証コードのキーが必要になります。

現時点では、ログインした後に再設定することはできますが、ログイン前ではできないため、認証コードを登録したデバイスを紛失したなどの場合においては、データベースを触らない限り再設定ができない状態になっています。

このPRは、メンバーの編集画面にて、2要素認証のキーをリセットすることができるようになります。また、 Issue にコメントしたように、既存の認証キーは有効のまま、一時的に2段階認証を無効化したいというユースケースも考えられるため、今までの無効化の挙動はそのままにしています。

方針(Policy)

メンバーの編集画面に、2段階認証をリセットするチェックボックスを作成しました。

チェックを入れて保存した場合、対象のユーザーの2段階認証キーをnullに設定して、再登録できるようになります。

メンバーの編集が可能な権限を持つ人にリセットを依頼することで、デバイスを紛失したなどの場合でも2段階認証の再設定が可能になります。

実装に関する補足(Appendix)

2段階認証が有効の場合の時のみ、チェックボックスが出現するようになっています。

テスト(Test)

確認した挙動など:

  • 2段階認証が設定されている状態で、ログイン中のメンバーを編集して、チェックを入れてから保存すると直接2段階認証の設定画面に遷移すること
  • 他のメンバーの2段階認証が設定されている状態で、ログイン中ではないメンバーを編集して、チェックを入れて保存した後、対象のメンバーでログインしたときに2段階認証の設定画面に遷移すること
  • チェックを入れないまま保存したときにリセットされないこと

相談(Discussion)

初のContributionになるので、こうした方がよいというところがありましたら教えていただけると幸いです!

マイナーバージョン互換性保持のための制限事項チェックリスト

  • 既存機能の仕様変更はありません
  • フックポイントの呼び出しタイミングの変更はありません
  • フックポイントのパラメータの削除・データ型の変更はありません
  • twigファイルに渡しているパラメータの削除・データ型の変更はありません
  • Serviceクラスの公開関数の、引数の削除・データ型の変更はありません
  • 入出力ファイル(CSVなど)のフォーマット変更はありません

レビュワー確認項目

  • 動作確認
  • コードレビュー
  • E2E/Unit テスト確認(テストの追加・変更が必要かどうか)
  • 互換性が保持されているか
  • セキュリティ上の問題がないか
    • 権限を超えた操作が可能にならないか
    • 不要なファイルアップロードがないか
    • 外部へ公開されるファイルや機能の追加ではないか
    • テンプレートでのエスケープ漏れがないか

@dotani1111
Copy link
Contributor

@AioiLight
PRありがとうございます!
ご対応助かります。
こちら確認いたします。

@codecov
Copy link

codecov bot commented Dec 26, 2025

Codecov Report

❌ Patch coverage is 83.33333% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 82.70%. Comparing base (b79b40e) to head (f0f8159).
⚠️ Report is 10 commits behind head on 4.3.

Files with missing lines Patch % Lines
...ntroller/Admin/Setting/System/MemberController.php 50.00% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##              4.3    #6546   +/-   ##
=======================================
  Coverage   82.70%   82.70%           
=======================================
  Files         480      480           
  Lines       26507    26513    +6     
=======================================
+ Hits        21923    21928    +5     
- Misses       4584     4585    +1     
Flag Coverage Δ
E2E 82.70% <83.33%> (+<0.01%) ⬆️
Unit 82.70% <83.33%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2段階認証の無効→有効時に認証用のQRコードが生成されない

2 participants