103         $this->
logger->debug(sprintf(
   104             'Login observer called for SOAP authentication request of ext_account "%s" and auth_mode "%s".',
   108         $this->
logger->debug(sprintf(
   109             'Trying to find ext_account "%s" for auth_mode "%s".',
   120         if (
'' === $internalLogin || null === $internalLogin) {
   126         if ($this->use_dot_net) {
   127             $soapAction = $this->server_nms . 
'/isValidSession';
   131         $valid = $this->client->call(
   136                 $nspref . 
'new_user' => $isNewUser
   143             $valid = [
'valid' => 
false];
   146         if (
$valid[
'valid'] !== 
true) {
   160         if (!$this->
settings->get(
'soap_auth_create_users')) {
   170         $usrData[
'firstname'] = 
$valid[
'firstname'];
   171         $usrData[
'lastname'] = 
$valid[
'lastname'];
   172         $usrData[
'email'] = 
$valid[
'email'];
   173         $usrData[
'login'] = $internalLogin;
   174         $usrData[
'passwd'] = 
'';
   178         if ($this->
settings->get(
'soap_auth_allow_local')) {
   180             $password = $passwords[0];
   181             $usrData[
'passwd'] = $password;
   185         $usrData[
'auth_mode'] = 
'soap';
   187         $usrData[
'profile_incomplete'] = 1;
   189         $userObj->assignData($usrData);
   190         $userObj->setTitle($userObj->getFullname());
   191         $userObj->setDescription($userObj->getEmail());
   192         $userObj->setLanguage($this->
language->getDefaultLanguage());
   195         $userObj->setTimeLimitUnlimited(
true);
   196         $userObj->setTimeLimitFrom(time());
   197         $userObj->setTimeLimitUntil(time());
   198         $userObj->setOwner(0);
   200         $userObj->setActive(
true);
   201         $userObj->updateOwner();
   202         $userObj->saveAsNew();
   203         $userObj->writePrefs();
   205         $this->rbacAdmin->assignUser(
   206             (
int) $this->
settings->get(
'soap_auth_user_default_role', 
'4'),
   210         if ($this->
settings->get(
'soap_auth_account_mail', 
'0')) {
   212             $registrationSettings->setPasswordGenerationStatus(
true);
   215                 $registrationSettings,
   220                 ->withDirectRegistrationMode()
   221                 ->send($userObj, $password, 
false);
 static _generateLogin(string $a_login)
generate free login by starting with a default string and adding postfix numbers 
 
static _lookupId($a_user_str)
 
static _checkExternalAuthAccount(string $a_auth, string $a_account, bool $tryFallback=true)
check whether external account and authentication method matches with a user 
 
Class ilAccountRegistrationMail. 
 
static generatePasswords(int $a_number)
Generate a number of passwords. 
 
Class ilObjAuthSettingsGUI. 
 
setTranslatedReason(string $a_reason)
Set translated reason. 
 
setReason(string $a_reason)
Set reason. 
 
setAuthenticatedUserId(int $a_id)