Cakephp2から4へのアップデートはたくさんのものが非推奨、または廃止になっています。
Cakephp4では、とうとうAuthComponent自体も非推奨になり、5では淘汰される運命にある模様(でも、移行の際には同じ形の方が事故が少なくなるので一旦AuthComponentのまま実装するのがいいのかも)
今回はAuthComponent::password()
の代替として、ユーザーパスワードの生成などにおいてはDefaultPasswordHasher::hash()
を利用しましょうというお話です。
Cake2: AuthComponent::passwordはCake4では削除
Cake3の時点でAuthComponent::passwordは非推奨になっています。
https://api.cakephp.org/2.10/class-AuthComponent.html#_password
Security::hash()
を利用するようにということだけど、ユーザーのパスワード生成の際は、bcrypt方式のDefaultPasswordHasherを利用すべきということ
https://book.cakephp.org/4/en/core-libraries/security.html#hashing-data
Cake4: DefaultPasswordHaherを使う
<?php // 略 use Cake\Auth\DefaultPasswordHasher; // 略 class HogesController extends AppController { public function fuga() { return (new DefaultPasswordHasher)->hash({任意のパスワード値}); } }
https://book.cakephp.org/4/ja/controllers/components/authentication.html#hashing-passwords