プラグイン > バグ報告・利用に関する質問 > データ移行した会員でパスワードリセットするとログインできなくなる |
バグ報告・利用に関する質問
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
h_tanaka |
投稿日時: 2019/10/30 20:01
対応状況: 解決済
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1644 |
データ移行した会員でパスワードリセットするとログインできなくなる EC-CUBE 4.0.2 ← EC-CUBE 2.4
データ移行プラグイン 1.5.1 PHP 7.1.22 データ移行プラグインを用いてデータ移行した直後は会員ログインできるのですが、ログアウトしてパスワードリマインダを実行してパスワードをリセットすると、会員ログインできなくなります。 元々パスワードは平文で、データ移行プラグイン内で sha1 で変換しています。 ECCUBE_AUTH_MAGIC は事前に移行前のサイトと同じにしています。 なお、dtb_customer . password を変更前のもので上書きすればログインはできるようになります。 試しに app/config/eccube/packages/eccube.yaml の eccube_password_hash_algos を SHA256 から SHA1 に変更しても状況変わりませんでした。 パスワードの暗号化処理は理解しきれていないためお知恵をお貸しいただきたいです。 どのような原因が考えられますでしょうか? またはどのように調査すればよいでしょうか? ちなみに、 新規登録した会員は問題なくログインできます。 新規登録した会員でパスワードリセットしても問題なくログインできます。 管理画面で仮会員に変更して再度メールを飛ばして本会員登録しても問題なくログインできます。 |
h_tanaka |
投稿日時: 2019/10/31 8:45
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1644 |
Re: データ移行した会員でパスワードリセットするとログインできなくなる 試しにパスワード再設定処理で sha1 で暗号化したところ、再設定前のパスワードと一致しました。
src/Eccube/Security/Core/Encoder/PasswordEncoder.php
データ移行プラグインの中を調査したところ、プラグイン標準ではパスワードをそのまま移行していましたが、2.4系はパスワードが平文だったため独自カスタマイズで sha1 に変換していました。 アルゴリズムを sha1 にした経緯は失念しました。。 データ移行時の暗号化アルゴリズムを sha256 の hash_hmac 形式にして再度データ移行を行ったところ、今度は会員ログイン自体ができなくなりました。。 「ログインできませんでした。入力内容に誤りがないかご確認ください。」と表示されます。 app/Plugin/DataMigration4/Controller/Admin/ConfigController.php
|
h_tanaka |
投稿日時: 2019/10/31 10:42
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1644 |
Re: データ移行した会員でパスワードリセットするとログインできなくなる salt の保存が必要でした。
app/Plugin/DataMigration4/Controller/Admin/ConfigController.php
ただ、今度は管理画面にログインできなくなりました。。
|
h_tanaka |
投稿日時: 2019/10/31 11:43
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1644 |
Re: データ移行した会員でパスワードリセットするとログインできなくなる 自己解決しました。
EC-CUBE2.4 は、管理者のパスワードが SHA1 で暗号化されていました。 このため、移行先のEC-CUBE4.2での暗号化アルゴリズムを SHA1 に変更する必要があったようです。 管理者パスワードはそのままの値で移行し、会員のパスワードを SHA1 で暗号化して移行することで解決できました。 最終的に修正したソースは次のとおりです。 app/config/eccube/packages/eccube.yaml
app/Plugin/DataMigration4/Controller/Admin/ConfigController.php
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |