v1.0.4
What's Changed
- ci: E2E 実行前に staging EcAuth をウォームアップする by @nanasess in #51
- chore: Dependabot の依存更新を group 化 by @nanasess in #53
- fix: 別テナント切替時のパスキー登録失敗と、無言で終わる認証を直す by @nanasess in #59
- chore(release): v1.0.4 のバージョン更新 by @nanasess in #60
変更点
接続先テナントを切り替えるとパスキー登録が必ず失敗する問題を修正 (#52)
テスト用テナントの Client ID でパスキーを試したあと本番用の Client ID に差し替えると、パスキー登録が必ず失敗する(EcAuth が register/options で 400 を返す)状態でした。
プラグインが dtb_member.ecauth_subject に保持する識別子を、接続先が変わっても再利用していたためです。EcAuth 側ではこの識別子がテナントをまたいで一意のため、別テナントに同じ値を登録できません。
- 接続先(Client ID)が変わった場合、保存時に管理者の
ecauth_subjectを自動でクリアするようにしました。次回登録時に新しい識別子が発番されます - 設定画面で Client ID を変更して保存しようとすると確認ダイアログを表示します
- Client ID を変更する場合は、新しい接続先の Client Secret の入力を必須にしました。前の接続先の Client Secret がそのまま残ることを防ぎます
- Client ID を変更した場合、EcAuth URL は入力欄に残った前の接続先の値をそのまま使わず、新しい Client ID から解決し直します(解決できない場合は既存の URL を引き継ぎ、その旨を警告表示します)
会員側(dtb_customer)の識別子は EcAuth が発番するもので衝突しないため、変更していません。
パスキー未登録の管理者に何も表示されない問題を修正 (#58)
管理画面ログイン画面の「パスキーでログイン」を押しても、エラーも案内も一切表示されずボタンのラベルが戻るだけで、利用者からは「押しても何も起きない」ように見える状態でした。
同じ組織内に他の管理者のパスキーが登録済みで、自分のアカウントにはパスキーが未登録の場合に発生します。
- パスキーが見つからない場合に案内ダイアログを表示するようにしました
- 「パスキーでログイン」ボタンに初回利用者向けの案内をツールチップ(
title)で常設しました
このアカウントで初めてパスキーを使う場合は、パスワードでログインしてから「設定 → EcAuth → パスキー管理」でパスキーを登録してください。
その他
アップグレード時の注意
破壊的変更・マイグレーションはありません。
接続先(Client ID)を変更したことがある環境では、変更時に管理者のパスキー紐付けが解除されます。解除された管理者は、パスワードでログインしたうえで「設定 → EcAuth → パスキー管理」からパスキーを登録し直してください。
Full Changelog: 1.0.3...1.0.4