Auth\Db::add_user(): add check of username uniqueness
This commit is contained in:
parent
b33a3e8205
commit
d42a864901
1 changed files with 16 additions and 5 deletions
|
@ -138,18 +138,29 @@ class Db extends Backend {
|
||||||
*/
|
*/
|
||||||
public static function add_user($info) {
|
public static function add_user($info) {
|
||||||
$values = [
|
$values = [
|
||||||
App::get('auth.db.username_field') => $info['username'],
|
self :: $username_field => $info['username'] ?? null,
|
||||||
App::get('auth.db.password_field') => password_hash(
|
self :: $password_field => (
|
||||||
$info['password'],
|
($info['password'] ?? null)?
|
||||||
constant('PASSWORD_'.strtoupper(App::get('auth.db.password_hash_algo')))
|
password_hash(
|
||||||
|
$info['password'],
|
||||||
|
constant('PASSWORD_'.strtoupper(App::get('auth.db.password_hash_algo')))
|
||||||
|
):
|
||||||
|
null
|
||||||
),
|
),
|
||||||
];
|
];
|
||||||
foreach($info as $field => $value) {
|
foreach($info as $field => $value) {
|
||||||
if (!$value) {
|
if (!$value) {
|
||||||
Log :: error("add_user: field %s is missing", $field);
|
Log :: error("add_user: field %s is missing (or null)", $field);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Check username uniqueness
|
||||||
|
if (self :: get_user($info['username'])) {
|
||||||
|
Log :: error("add_user: a user with username %s already exist");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
foreach(App :: get('auth.db.exposed_fields') as $field)
|
foreach(App :: get('auth.db.exposed_fields') as $field)
|
||||||
if (isset($info[$field]) && $info[$field])
|
if (isset($info[$field]) && $info[$field])
|
||||||
$values[$field] = $info[$field];
|
$values[$field] = $info[$field];
|
||||||
|
|
Loading…
Reference in a new issue