Leantime/leantime · error · Exception
OIDC user creation failed.
Error message
OIDC user creation failed.
What it means
Error "OIDC user creation failed." thrown in Leantime/leantime.
Source
Thrown at app/Domain/Oidc/Services/Oidc.php:255
'lastname' => $this->readMultilayerKey($userInfo, $this->fieldLastName),
'phone' => $this->readMultilayerKey($userInfo, $this->fieldPhone),
'jobTitle' => $this->readMultilayerKey($userInfo, $this->fieldJobtitle),
'jobLevel' => $this->readMultilayerKey($userInfo, $this->fieldJoblevel),
'department' => $this->readMultilayerKey($userInfo, $this->fieldDepartment),
'user' => $userName,
'role' => $this->defaultRole,
'password' => '',
'clientId' => '',
'source' => 'oidc',
'status' => 'a',
];
$userId = $this->userRepo->addUser($userArray);
if ($userId !== false) {
$user = $this->userRepo->getUserByEmail($userName);
} else {
throw new \Exception('OIDC user creation failed.');
}
} else {
$this->displayError('oidc.error.user_not_found');
}
} else {
// update user if it exists
$user['user'] = $user['username'];
$user['firstname'] = $this->readMultilayerKey($userInfo, $this->fieldFirstName) != '' ? $this->readMultilayerKey($userInfo, $this->fieldFirstName) : $user['firstname'];
$user['lastname'] = $this->readMultilayerKey($userInfo, $this->fieldLastName) != '' ? $this->readMultilayerKey($userInfo, $this->fieldLastName) : $user['lastname'];
$user['phone'] = $this->readMultilayerKey($userInfo, $this->fieldPhone) != '' ? $this->readMultilayerKey($userInfo, $this->fieldPhone) : $user['phone'];
$user['jobTitle'] = $this->readMultilayerKey($userInfo, $this->fieldJobtitle) != '' ? $this->readMultilayerKey($userInfo, $this->fieldJobtitle) : $user['jobTitle'];
$user['jobLevel'] = $this->readMultilayerKey($userInfo, $this->fieldJoblevel) != '' ? $this->readMultilayerKey($userInfo, $this->fieldJoblevel) : $user['jobLevel'];
$user['department'] = $this->readMultilayerKey($userInfo, $this->fieldDepartment) != '' ? $this->readMultilayerKey($userInfo, $this->fieldDepartment) : $user['department'];
$user['role'] = $this->getUserRole($userInfo, $user);
// $user carries the full zp_user row from getUserByEmail(), including the stored
// bcrypt password hash and session/reset tokens. Passing those back into editUser()View on GitHub (pinned to 9a9f49f100)
When it happens
Trigger: Thrown at app/Domain/Oidc/Services/Oidc.php:255 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Leantime/leantime@9a9f49f100 (2026-08-21).
Data as JSON: /api/errors/a7374069d152d336.
Report an issue: GitHub.