Я сделал простую команду в symfony, чтобы взять значение из консоли и закодировать его:
$io = new SymfonyStyle($input, $output);
$email = $input->getArgument('email');
/** @var User $user */
$user = $this->em->getRepository(User::class)->findOneBy([
'email' => $email
]);
if (empty($user)) {
$io->error("User with email '$email' not found");
return 0;
}
$password = $io->askHidden('Password: ');
$hash = $this->encoder->encodePassword($user, $password);
$io->text("Generated hash: $hash");
Фрагмент конфигурации безопасности:
security:
encoders:
App\Entity\User:
algorithm: bcrypt
providers:
app_user_provider:
entity:
class: App\Entity\User
property: email
Это нормально, что каждый вызов одного и того же введенного значения генерирует другое значение? Как можно при доступе проверить, что пароли одинаковые, если при одинаковых значениях генерирует разную кодировку?
$encoder->isPasswordValid ($hash, $raw)
) возвращает false, и это сводит меня с ума. Вы хоть представляете, что это может быть? - person JayAndJay   schedule 05.09.2020