@@ -368,7 +368,8 @@ private function generateNextMessage(bool $securityYamlUpdated, string $authenti
368
368
$ nextTexts [] = sprintf ('- Review <info>%s::getUser()</info> to make sure it matches your needs. ' , $ authenticatorClass );
369
369
}
370
370
371
- if (!$ this ->userClassHasEncoder ($ securityData , $ userClass )) {
371
+ // this only applies to Guard authentication AND if the user does not have a hasher configured
372
+ if (!$ this ->useSecurity52 && !$ this ->userClassHasEncoder ($ securityData , $ userClass )) {
372
373
$ nextTexts [] = sprintf ('- Check the user \'s password in <info>%s::checkCredentials()</info>. ' , $ authenticatorClass );
373
374
}
374
375
@@ -381,11 +382,11 @@ private function generateNextMessage(bool $securityYamlUpdated, string $authenti
381
382
private function userClassHasEncoder (array $ securityData , string $ userClass ): bool
382
383
{
383
384
$ userNeedsEncoder = false ;
384
- if ( isset ( $ securityData ['security ' ]['encoders ' ]) && $ securityData ['security ' ]['encoders ' ]) {
385
- foreach ( $ securityData [ ' security ' ][ ' encoders ' ] as $ userClassWithEncoder => $ encoder ) {
386
- if ( $ userClass === $ userClassWithEncoder || is_subclass_of ( $ userClass , $ userClassWithEncoder ) ) {
387
- $ userNeedsEncoder = true ;
388
- }
385
+ $ hashersData = $ securityData ['security ' ]['encoders ' ] ?? $ securityData ['security ' ]['encoders ' ] ?? [];
386
+
387
+ foreach ( $ hashersData as $ userClassWithEncoder => $ encoder ) {
388
+ if ( $ userClass === $ userClassWithEncoder || is_subclass_of ( $ userClass , $ userClassWithEncoder ) || class_implements ( $ userClass , $ userClassWithEncoder )) {
389
+ $ userNeedsEncoder = true ;
389
390
}
390
391
}
391
392
0 commit comments