fix: [user enrollment] fixed via KC
parent
a88318c5df
commit
398307e414
|
@ -150,15 +150,12 @@ class AuthKeycloakBehavior extends Behavior
|
||||||
foreach ($roles as $role) {
|
foreach ($roles as $role) {
|
||||||
$rolesParsed[$role['name']] = $role['id'];
|
$rolesParsed[$role['name']] = $role['id'];
|
||||||
}
|
}
|
||||||
$this->createUser($user, $clientId, $rolesParsed);
|
if ($this->createUser($user, $clientId, $rolesParsed)) {
|
||||||
$logChange = [
|
$logChange = [
|
||||||
'username' => $user['username'],
|
'username' => $user['username'],
|
||||||
'individual_id' => $user['individual']['id'],
|
'individual_id' => $user['individual']['id'],
|
||||||
'role_id' => $user['role']['id']
|
'role_id' => $user['role']['id']
|
||||||
];
|
];
|
||||||
if (!$response->isOk()) {
|
|
||||||
$logChange['code'] = $response->getStatusCode();
|
|
||||||
$logChange['error_body'] = $response->getStringBody();
|
|
||||||
$this->_table->auditLogs()->insert([
|
$this->_table->auditLogs()->insert([
|
||||||
'request_action' => 'enrollUser',
|
'request_action' => 'enrollUser',
|
||||||
'model' => 'User',
|
'model' => 'User',
|
||||||
|
@ -167,6 +164,11 @@ class AuthKeycloakBehavior extends Behavior
|
||||||
'changed' => $logChange
|
'changed' => $logChange
|
||||||
]);
|
]);
|
||||||
} else {
|
} else {
|
||||||
|
$logChange = [
|
||||||
|
'username' => $user['username'],
|
||||||
|
'individual_id' => $user['individual']['id'],
|
||||||
|
'role_id' => $user['role']['id']
|
||||||
|
];
|
||||||
$this->_table->auditLogs()->insert([
|
$this->_table->auditLogs()->insert([
|
||||||
'request_action' => 'enrollUser',
|
'request_action' => 'enrollUser',
|
||||||
'model' => 'User',
|
'model' => 'User',
|
||||||
|
@ -406,10 +408,14 @@ class AuthKeycloakBehavior extends Behavior
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
$newUser = $this->restApiRequest('%s/admin/realms/%s/users?username=' . urlencode($user['username']), [], 'get');
|
$newUser = $this->restApiRequest('%s/admin/realms/%s/users?username=' . urlencode($user['username']), [], 'get');
|
||||||
$user['id'] = json_decode($newUser->getStringBody(), true);
|
$users = json_decode($newUser->getStringBody(), true);
|
||||||
if (empty($user['id'])) {
|
if (empty($users[0]['id'])) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if (is_array($users[0]['id'])) {
|
||||||
|
$users[0]['id'] = $users[0]['id'][0];
|
||||||
|
}
|
||||||
|
$user['id'] = $users[0]['id'];
|
||||||
$this->assignRolesToUser($user, $rolesParsed, $clientId);
|
$this->assignRolesToUser($user, $rolesParsed, $clientId);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue