protected function getPasswordHashingStrategyAndIdentifier($strategyIdentifier = 'default')
{
if (isset($this->passwordHashingStrategies[$strategyIdentifier])) {
return [$this->passwordHashingStrategies[$strategyIdentifier], $strategyIdentifier];
}
if ($strategyIdentifier === 'default') {
if (!isset($this->strategySettings['default'])) {
throw new MissingConfigurationException('No default hashing strategy configured', 1320758427);
}
$strategyIdentifier = $this->strategySettings['default'];
}
if (!isset($this->strategySettings[$strategyIdentifier])) {
throw new MissingConfigurationException('No hashing strategy with identifier "' . $strategyIdentifier . '" configured', 1320758776);
}
$strategyObjectName = $this->strategySettings[$strategyIdentifier];
$this->passwordHashingStrategies[$strategyIdentifier] = $this->objectManager->get($strategyObjectName);
return [$this->passwordHashingStrategies[$strategyIdentifier], $strategyIdentifier];
}