Должен ли я хэшировать пароль в приспособлении, если он хранится как argon2i в базе данных?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Должен ли я хэшировать пароль в приспособлении, если он хранится как argon2i в базе данных?

Сообщение Anonymous »

Я пишу тесты в Symfony и использую светильники для загрузки тестовых данных в базу данных. Одна из объектов, которые мне нужно создать, - это пользователь, который имеет поле пароля. В производстве пароли используются с использованием argon2id, прежде чем храниться в базе данных. Поскольку это только для тестирования? У меня есть проблема при прохождении параметра энкодера внутри приспособления, расположенного в абстрактном классе < /p>
fithlure < /p>
class AuthUserFixture extends Fixture
{
private UserPasswordEncoderInterface $encoder;

public function __construct(UserPasswordEncoderInterface $encoder) {}

/**
* @inheritDoc
*/
public function load(ObjectManager $manager): void {
$this->loadUsers($manager);
}

private function loadUsers(ObjectManager $manager): void
{
foreach ($this->getUserData() as [
$username, $usernameCanonical, $email, $emailCanonical, $enabled, $password, $roles
]) {
$user = new User();
$user->setUsername($username);
$user->setUsernameCanonical($usernameCanonical);
$user->setEmail($email);
$user->setEmailCanonical($emailCanonical);
$user->setEnabled($enabled);
$user->setRoles($roles);

$password = $this->encoder->encodePassword($user, $password);
$user->setPassword($password);

$manager->persist($user);

$this->addReference($username, $user);
}
$manager->flush();
}

private function getUserData(): array
{
// $userData = [$username, $usernameCanonical, $email, $emailCanonical, $enabled, $password, $roles];
return [
[
'User',
'user',
'usere@gmail.com',
'user@gmail.com',
true,
'7jKuXn97ReDK',
[User::ADMIN_DASHBOARD_ACCESS_ROLES_HAYSTACK]
],
];
}
}
< /code>
абстрактный класс < /p>
/** @var KernelBrowser $client */
protected KernelBrowser $client;

/** @var EntityManagerInterface */
private $entityManager;

public static function setUpBeforeClass(): void
{
$kernel = static::createKernel();
$kernel->boot();
$entityManager = $kernel->getContainer()->get('doctrine')->getManager();

$loader = new Loader();
foreach (self::getFixtures() as $fixture) {
$loader->addFixture($fixture);
}

$purger = new ORMPurger();
$purger->setPurgeMode(ORMPurger::PURGE_MODE_DELETE);

$executor = new ORMExecutor($entityManager, $purger);
$executor->execute($loader->getFixtures());
}

protected function setUp(): void
{
parent::setUp();

$this->client = static::createClient();
$this->client->disableReboot();

$this->client->setServerParameter('HTTP_HOST', '172.19.0.1');

$this->entityManager = $this->client->getContainer()->get('doctrine.orm.entity_manager');
$this->entityManager->beginTransaction();
$this->entityManager->getConnection()->setAutoCommit(false);
}

protected function tearDown(): void
{
if ($this->entityManager->getConnection()->isTransactionActive()) {
try {
$this->entityManager->rollback();
} catch (\Exception $e) {
echo "Rollback error: " . $e->getMessage();
}
}

$this->entityManager->clear();
$this->entityManager->close();

parent::tearDown();
}

protected function apiLoginAs(string $username, string $password): void
{
$expectedBase64 = base64_encode("$username:$password");
$authHeader = 'Basic ' . $expectedBase64;

$this->client->setServerParameter('HTTP_Authorization', $authHeader);
}

private static function getFixtures(): iterable
{
return [
new AuthUserFixture(),
];
}
< /code>
Я не до конца понимаю, является ли реализация правильной. И как правильно передать параметр. Ошибка также произошла во время его инициализации.
Что касается Hasher, это именно то, что Encoder - userPassWordEncoderInterface $ Encoder

Подробнее здесь: https://stackoverflow.com/questions/794 ... he-databas
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Должен ли я хэшировать пароль в приспособлении, если он хранится как argon2i в базе данных?
    Anonymous » » в форуме Php
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Должен ли я хэшировать пароль в приспособлении, если он хранится как argon2i в базе данных?
    Anonymous » » в форуме Php
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Как я могу проверить, что хранится в моей базе данных данных основной базы данных?
    Anonymous » » в форуме IOS
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • PHP: пытаюсь войти на мою страницу. Если мой пароль действителен, какой пароль есть в базе данных?
    Anonymous » » в форуме Php
    0 Ответы
    126 Просмотры
    Последнее сообщение Anonymous
  • Пароль хранится в памяти MobileSafari.
    Гость » » в форуме IOS
    0 Ответы
    35 Просмотры
    Последнее сообщение Гость

Вернуться в «Php»