1
0
Fork 0
mirror of synced 2024-06-27 02:31:04 +12:00

Fix empty pass with personal data check

This commit is contained in:
Matej Bačo 2024-02-25 09:19:30 +00:00
parent 8e7ced68dc
commit cb7da26d53
3 changed files with 21 additions and 3 deletions

View file

@ -71,7 +71,7 @@ function createUser(string $hash, mixed $hashOptions, string $userId, ?string $e
: ID::custom($userId);
if ($project->getAttribute('auths', [])['personalDataCheck'] ?? false) {
$personalDataValidator = new PersonalData($userId, $email, $name, $phone);
$personalDataValidator = new PersonalData($userId, $email, $name, $phone, false, true);
if (!$personalDataValidator->isValid($plaintextPassword)) {
throw new Exception(Exception::USER_PASSWORD_PERSONAL_DATA);
}

View file

@ -12,9 +12,10 @@ class PersonalData extends Password
protected ?string $email = null,
protected ?string $name = null,
protected ?string $phone = null,
protected bool $strict = false
protected bool $strict = false,
protected bool $allowEmpty = false,
) {
parent::__construct();
parent::__construct($allowEmpty);
}
/**

View file

@ -1731,6 +1731,23 @@ class ProjectsConsoleClientTest extends Scope
$this->assertEquals(201, $response['headers']['status-code']);
$email = uniqid() . 'user@localhost.test';
$password = '';
$name = 'username';
$userId = ID::unique();
$response = $this->client->call(Client::METHOD_POST, '/account', array_merge([
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $id,
]), [
'email' => $email,
'password' => $password,
'name' => $name,
'userId' => $userId
]);
$this->assertEquals(201, $response['headers']['status-code']);
$email = uniqid() . 'user@localhost.test';
$userId = ID::unique();
$response = $this->client->call(Client::METHOD_POST, '/users', array_merge($this->getHeaders(), [