Skip to content

Commit 5ca7d82

Browse files
committed
Fix bug caused by UserID not being used as hash for WebID.
1 parent 9ca4f67 commit 5ca7d82

1 file changed

Lines changed: 12 additions & 5 deletions

File tree

‎lib/User.php‎

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -111,26 +111,33 @@ public static function createUser($newUser)
111111
if (!self::validatePasswordStrength($newUser['password'])) {
112112
return false;
113113
}
114-
$generatedUserId = bin2hex(random_bytes(16));
115-
while (self::userIdExists($generatedUserId)) {
114+
115+
if (! isset($newUser['userId'])) {
116116
$generatedUserId = bin2hex(random_bytes(16));
117+
118+
while (self::userIdExists($generatedUserId)) {
119+
$generatedUserId = bin2hex(random_bytes(16));
120+
}
121+
122+
$newUser['userId'] = $generatedUserId;
117123
}
124+
118125
$query = Db::$pdo->prepare(
119126
'INSERT INTO users VALUES (:userId, :email, :passwordHash, :data)'
120127
);
121128

122129
$queryParams = [];
123-
$queryParams[':userId'] = $generatedUserId;
130+
$queryParams[':userId'] = $newUser['userId'];
124131
$queryParams[':email'] = $newUser['email'];
125132
$queryParams[':passwordHash'] = password_hash($newUser['password'], PASSWORD_BCRYPT);
126133
unset($newUser['password']);
127134

128-
$newUser['webId'] = "https://id-" . $generatedUserId . "." . BASEDOMAIN . "/#me";
135+
$newUser['webId'] = "https://id-" . $newUser['userId'] . "." . BASEDOMAIN . "/#me";
129136
$queryParams[':data'] = json_encode($newUser);
130137
$query->execute($queryParams);
131138

132139
return [
133-
"userId" => $generatedUserId,
140+
"userId" => $newUser['userId'],
134141
"email" => $newUser['email'],
135142
"webId" => $newUser['webId']
136143
];

0 commit comments

Comments
 (0)