Skip to content

v1.1.0

Choose a tag to compare

@nanasess nanasess released this 21 Aug 10:25
5d05aef

これはプレリリースです。 オーナーズストアへの申請・検証用に配布物を用意したもので、正式版としての公開ではありません。

What's Changed

  • feat: 管理画面のパスワード認証を環境変数で無効化できるようにする by @nanasess in #61
  • chore(release): v1.0.5 のバージョン更新 by @nanasess in #62
  • chore(release): v1.1.0 のバージョン更新 by @nanasess in #63

1.0.5 について: いったん 1.0.5 として採番しましたが、本リリースは利用者向けの新機能を含むため SemVer 上は MINOR が適切です。1.0.5 はプレリリースのまま誰も取得していない状態だったので取り下げ、1.1.0 として出し直しています。1.0.5 と 1.1.0 で配布物の中身に違いはありません。

変更点

管理画面のパスワード認証を無効化できるようにしました (#61)

管理画面のログインをパスキーだけに絞り、ID とパスワードによるログインを受け付けなくするオプションを追加しました。

管理画面ユーザーを不正に作成される脆弱性が問題になっていますが、不正に作られたアカウントには EcAuth 側にパスキーが登録されていないため、そのアカウントで管理画面にログインされることを防げます。

設定方法

環境変数 ECAUTH_DISABLE_ADMIN_PASSWORD_LOGIN で切り替えます。1 / true / on / yes のいずれかで無効化され、未設定・0・空文字なら従来どおりパスワードでログインできます。

EC-CUBE の .env に追記する方法が最も手軽です。

echo 'ECAUTH_DISABLE_ADMIN_PASSWORD_LOGIN=1' >> .env

Web サーバーやコンテナの環境変数として設定しても構いません。

注意: EC-CUBE の index.php はサーバー側に APP_ENV が設定されている場合、.env を読み込みません。APP_ENV を渡している環境(Docker など)では .env ではなく環境変数として設定してください。

現在の状態は「管理画面 > 設定 > EcAuth > EcAuth 設定」で確認できます。この設定は管理画面からは変更できません。 設定画面から切り替えられるようにすると、その画面に入れた時点で無効化を解除できてしまうためです。

⚠️ 無効化する前に必ずご確認ください

少なくとも 1 人の管理者がパスキーを登録済みであることを確認してください。 誰も登録していない状態で無効化すると、誰も管理画面にログインできなくなります。

パスキーを紛失した場合

ECAUTH_DISABLE_ADMIN_PASSWORD_LOGIN を 0 にする(または設定ごと削除する)と、パスワードでログインできる状態に戻ります。通常はこの方法で復旧してください。

なお、本プラグインを無効化・アンインストールしてもパスワード認証は復活します(緊急時の復旧経路として使えますが、パスキーログインも同時に使えなくなります)。

無効化中の制限
  • 新しく作成した管理者はログインできません。 パスキーの登録には一度管理画面へログインする必要があるためです。メールログインなどの導線は別途検討中です
  • 2 個目以降のパスキーを登録する際の本人確認は、従来どおりパスワードの再入力です(ログインではなくログイン済みセッションの再確認のため、無効化の対象外)

アップグレード時の注意

破壊的変更・マイグレーションはありません。

既定(環境変数を設定しない状態)では従来どおりパスワードでログインできるため、アップグレードしただけで挙動が変わることはありません。パスキーへの一本化を行う場合のみ、上記の設定と注意事項をご確認ください。

Full Changelog: 1.0.4...1.1.0