ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
ilAuthProviderSaml Class Reference

Class ilAuthProviderSaml. More...

+ Inheritance diagram for ilAuthProviderSaml:
+ Collaboration diagram for ilAuthProviderSaml:

Public Member Functions

 __construct (\ilAuthFrontendCredentials $credentials, $a_idp_id=null)
 ilAuthProviderSaml constructor. More...
 
 doAuthentication (\ilAuthStatus $status)
 Do authentication.
Parameters
\ilAuthStatus$statusAuthentication status
Returns
bool
More...
 
 handleSamlAuth (\ilAuthStatus $status)
 
 migrateAccount (ilAuthStatus $status)
 Create new account.
Parameters
ilAuthStatus
More...
 
 createNewAccount (\ilAuthStatus $status)
 
 setExternalAccountName ($a_name)
 Set external account name. More...
 
 getExternalAccountName ()
 Get external account name.
Returns
string
More...
 
 getTriggerAuthMode ()
 Get auth mode which triggered the account migration 2_1 for ldap account migration with server id 1 11 for apache auth.
See also
ilAuthUtils
Returns
string
More...
 
 getUserAuthModeName ()
 Get user auth mode name ldap_1 for ldap account migration with server id 1 apache for apache auth. More...
 
 importUser ($a_internal_login, $a_external_account, $a_user_data=array())
 
- Public Member Functions inherited from ilAuthProvider
 __construct (ilAuthCredentials $credentials)
 Constructor. More...
 
 getLogger ()
 Get logger. More...
 
 getCredentials ()
 
- Public Member Functions inherited from ilAuthProviderAccountMigrationInterface
 createNewAccount (ilAuthStatus $status)
 Create new ILIAS account for external_account. More...
 

Protected Member Functions

 buildUserAttributeXml (\ilXmlWriter $xml_writer, \ilExternalAuthUserAttributeMappingRule $rule, $value)
 
- Protected Member Functions inherited from ilAuthProvider
 handleAuthenticationFail (ilAuthStatus $status, $a_reason)
 Handle failed authentication. More...
 

Protected Attributes

 $uid = ''
 
 $attributes = array()
 
 $return_to = ''
 
 $idp
 
 $force_new_account = false
 
 $migration_account = ''
 

Private Member Functions

 determineUidFromAttributes ()
 

Additional Inherited Members

- Data Fields inherited from ilAuthProvider
const STATUS_UNDEFINED = 0
 
const STATUS_AUTHENTICATION_SUCCESS = 1
 
const STATUS_AUTHENTICATION_FAILED = 2
 
const STATUS_MIGRATION = 3
 

Detailed Description

Class ilAuthProviderSaml.

Definition at line 7 of file class.ilAuthProviderSaml.php.

Constructor & Destructor Documentation

◆ __construct()

ilAuthProviderSaml::__construct ( \ilAuthFrontendCredentials  $credentials,
  $a_idp_id = null 
)

ilAuthProviderSaml constructor.

Parameters
\ilAuthFrontendCredentials | \ilAuthFrontendCredentialsSaml$credentials
int | null$a_idp_id

Definition at line 44 of file class.ilAuthProviderSaml.php.

References ilSamlIdp\getFirstActiveIdp(), and ilSamlIdp\getInstanceByIdpId().

45  {
46  parent::__construct($credentials);
47 
48  if (null === $a_idp_id || 0 === $a_idp_id) {
49  $this->idp = ilSamlIdp::getFirstActiveIdp();
50  } else {
51  $this->idp = ilSamlIdp::getInstanceByIdpId($a_idp_id);
52  }
53 
55  $this->attributes = $credentials->getAttributes();
56  $this->return_to = $credentials->getReturnTo();
57  }
58  }
static getInstanceByIdpId($a_idp_id)
Class ilAuthFrontendCredentialsSaml.
static getFirstActiveIdp()
+ Here is the call graph for this function:

Member Function Documentation

◆ buildUserAttributeXml()

ilAuthProviderSaml::buildUserAttributeXml ( \ilXmlWriter  $xml_writer,
\ilExternalAuthUserAttributeMappingRule  $rule,
  $value 
)
protected
Parameters
\ilXmlWriter$xml_writer
\ilExternalAuthUserAttributeMappingRule$rule
$value

Definition at line 349 of file class.ilAuthProviderSaml.php.

References ilUserDefinedFields\_getInstance(), ilExternalAuthUserAttributeMappingRule\getAttribute(), and ilXmlWriter\xmlElement().

Referenced by importUser().

350  {
351  switch (strtolower($rule->getAttribute())) {
352  case 'gender':
353  switch (strtolower($value)) {
354  case 'n':
355  case 'neutral':
356  $xml_writer->xmlElement('Gender', array(), 'n');
357  break;
358 
359  case 'm':
360  case 'male':
361  $xml_writer->xmlElement('Gender', array(), 'm');
362  break;
363 
364  case 'f':
365  case 'female':
366  default:
367  $xml_writer->xmlElement('Gender', array(), 'f');
368  break;
369  }
370  break;
371 
372  case 'firstname':
373  $xml_writer->xmlElement('Firstname', array(), $value);
374  break;
375 
376  case 'lastname':
377  $xml_writer->xmlElement('Lastname', array(), $value);
378  break;
379 
380  case 'email':
381  $xml_writer->xmlElement('Email', array(), $value);
382  break;
383 
384  case 'institution':
385  $xml_writer->xmlElement('Institution', array(), $value);
386  break;
387 
388  case 'department':
389  $xml_writer->xmlElement('Department', array(), $value);
390  break;
391 
392  case 'hobby':
393  $xml_writer->xmlElement('Hobby', array(), $value);
394  break;
395 
396  case 'title':
397  $xml_writer->xmlElement('Title', array(), $value);
398  break;
399 
400  case 'street':
401  $xml_writer->xmlElement('Street', array(), $value);
402  break;
403 
404  case 'city':
405  $xml_writer->xmlElement('City', array(), $value);
406  break;
407 
408  case 'zipcode':
409  $xml_writer->xmlElement('PostalCode', array(), $value);
410  break;
411 
412  case 'country':
413  $xml_writer->xmlElement('Country', array(), $value);
414  break;
415 
416  case 'phone_office':
417  $xml_writer->xmlElement('PhoneOffice', array(), $value);
418  break;
419 
420  case 'phone_home':
421  $xml_writer->xmlElement('PhoneHome', array(), $value);
422  break;
423 
424  case 'phone_mobile':
425  $xml_writer->xmlElement('PhoneMobile', array(), $value);
426  break;
427 
428  case 'fax':
429  $xml_writer->xmlElement('Fax', array(), $value);
430  break;
431 
432  case 'referral_comment':
433  $xml_writer->xmlElement('Comment', array(), $value);
434  break;
435 
436  case 'matriculation':
437  $xml_writer->xmlElement('Matriculation', array(), $value);
438  break;
439 
440  case 'birthday':
441  $xml_writer->xmlElement('Birthday', array(), $value);
442  break;
443 
444  default:
445  if (substr($rule->getAttribute(), 0, 4) != 'udf_') {
446  break;
447  }
448 
449  $udf_data = explode('_', $rule->getAttribute());
450  if (!isset($udf_data[1])) {
451  break;
452  }
453 
454  $definition = ilUserDefinedFields::_getInstance()->getDefinition($udf_data[1]);
455  $xml_writer->xmlElement(
456  'UserDefinedField',
457  array('Id' => $definition['il_id'], 'Name' => $definition['field_name']),
458  $value
459  );
460  break;
461  }
462  }
static _getInstance()
Get instance.
$rule
Definition: showstats.php:43
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ createNewAccount()

ilAuthProviderSaml::createNewAccount ( \ilAuthStatus  $status)

Definition at line 214 of file class.ilAuthProviderSaml.php.

References ilSession\get(), ilAuthProvider\getCredentials(), ilAuthProvider\getLogger(), ilAuthProvider\handleAuthenticationFail(), and handleSamlAuth().

215  {
216  if (
217  0 === strlen($this->getCredentials()->getUsername()) ||
218  !is_array(ilSession::get('tmp_attributes')) ||
219  0 === count(ilSession::get('tmp_attributes'))
220  ) {
221  $this->getLogger()->warning('Cannot find user id for external account: ' . $this->getCredentials()->getUsername());
222  $this->handleAuthenticationFail($status, 'err_wrong_login');
223  return false;
224  }
225 
226  $this->uid = $this->getCredentials()->getUsername();
227  $this->attributes = ilSession::get('tmp_attributes');
228  $this->return_to = ilSession::get('tmp_return_to');
229 
230  $this->force_new_account = true;
231  return $this->handleSamlAuth($status);
232  }
static get($a_var)
Get a value.
getLogger()
Get logger.
handleSamlAuth(\ilAuthStatus $status)
handleAuthenticationFail(ilAuthStatus $status, $a_reason)
Handle failed authentication.
+ Here is the call graph for this function:

◆ determineUidFromAttributes()

ilAuthProviderSaml::determineUidFromAttributes ( )
private
Exceptions

Definition at line 63 of file class.ilAuthProviderSaml.php.

References $attributes.

Referenced by doAuthentication().

64  {
65  if (
66  !array_key_exists($this->idp->getUidClaim(), $this->attributes) ||
67  !is_array($this->attributes[$this->idp->getUidClaim()]) ||
68  !array_key_exists(0, $this->attributes[$this->idp->getUidClaim()]) ||
69  0 === strlen($this->attributes[$this->idp->getUidClaim()][0])
70  ) {
71  throw new \ilException(sprintf(
72  'Could not find unique SAML attribute for the configured identifier: %s',
73  var_export($this->idp->getUidClaim(), 1)
74  ));
75  }
76 
77  $this->uid = $this->attributes[$this->idp->getUidClaim()][0];
78  }
+ Here is the caller graph for this function:

◆ doAuthentication()

ilAuthProviderSaml::doAuthentication ( \ilAuthStatus  $status)

Do authentication.

Parameters
\ilAuthStatus$statusAuthentication status
Returns
bool

Implements ilAuthProviderInterface.

Definition at line 83 of file class.ilAuthProviderSaml.php.

References determineUidFromAttributes(), ilAuthProvider\getLogger(), ilAuthProvider\handleAuthenticationFail(), and handleSamlAuth().

84  {
85  if (!is_array($this->attributes) || 0 === count($this->attributes)) {
86  $this->getLogger()->warning('Could not parse any attributes from SAML response.');
87  $this->handleAuthenticationFail($status, 'err_wrong_login');
88  return false;
89  }
90 
91  try {
93 
94  return $this->handleSamlAuth($status);
95  } catch (\ilException $e) {
96  $this->getLogger()->warning($e->getMessage());
97  $this->handleAuthenticationFail($status, 'err_wrong_login');
98  return false;
99  }
100  }
getLogger()
Get logger.
handleSamlAuth(\ilAuthStatus $status)
handleAuthenticationFail(ilAuthStatus $status, $a_reason)
Handle failed authentication.
+ Here is the call graph for this function:

◆ getExternalAccountName()

ilAuthProviderSaml::getExternalAccountName ( )

Get external account name.

Returns
string

Implements ilAuthProviderAccountMigrationInterface.

Definition at line 246 of file class.ilAuthProviderSaml.php.

References $migration_account.

247  {
249  }

◆ getTriggerAuthMode()

ilAuthProviderSaml::getTriggerAuthMode ( )

Get auth mode which triggered the account migration 2_1 for ldap account migration with server id 1 11 for apache auth.

See also
ilAuthUtils
Returns
string

Implements ilAuthProviderAccountMigrationInterface.

Definition at line 254 of file class.ilAuthProviderSaml.php.

References AUTH_SAML.

Referenced by handleSamlAuth().

255  {
256  return AUTH_SAML . '_' . $this->idp->getIdpId();
257  }
const AUTH_SAML
+ Here is the caller graph for this function:

◆ getUserAuthModeName()

ilAuthProviderSaml::getUserAuthModeName ( )

Get user auth mode name ldap_1 for ldap account migration with server id 1 apache for apache auth.

Implements ilAuthProviderAccountMigrationInterface.

Definition at line 262 of file class.ilAuthProviderSaml.php.

Referenced by handleSamlAuth(), and importUser().

263  {
264  return 'saml_' . $this->idp->getIdpId();
265  }
+ Here is the caller graph for this function:

◆ handleSamlAuth()

ilAuthProviderSaml::handleSamlAuth ( \ilAuthStatus  $status)
Parameters
ilAuthStatus$status
Returns
bool

Definition at line 106 of file class.ilAuthProviderSaml.php.

References $_GET, $force_new_account, $GLOBALS, $return_to, ilObjUser\_checkExternalAuthAccount(), ilObjUser\_loginExists(), ilObjUser\_lookupId(), ilObjUser\_writeAuthMode(), AUTH_LOCAL, ilLoggerFactory\getLogger(), getTriggerAuthMode(), getUserAuthModeName(), ilAuthProvider\handleAuthenticationFail(), importUser(), ilSession\set(), ilAuthStatus\setAuthenticatedUserId(), setExternalAccountName(), ilAuthStatus\setStatus(), ilAuthStatus\STATUS_ACCOUNT_MIGRATION_REQUIRED, and ilAuthStatus\STATUS_AUTHENTICATED.

Referenced by createNewAccount(), and doAuthentication().

107  {
108  $update_auth_mode = false;
109 
110  ilLoggerFactory::getLogger('auth')->debug(sprintf('Login observer called for SAML authentication request of ext_account "%s" and auth_mode "%s".', $this->uid, $this->getUserAuthModeName()));
111  ilLoggerFactory::getLogger('auth')->debug(sprintf('Target set to: %s', var_export($this->return_to, 1)));
112  ilLoggerFactory::getLogger('auth')->debug(sprintf('Trying to find ext_account "%s" for auth_mode "%s".', $this->uid, $this->getUserAuthModeName()));
113 
114  $internal_account = ilObjUser::_checkExternalAuthAccount(
115  $this->getUserAuthModeName(),
116  $this->uid,
117  false
118  );
119 
120  if (strlen($internal_account) == 0) {
121  $update_auth_mode = true;
122 
123  ilLoggerFactory::getLogger('auth')->debug(sprintf('Could not find ext_account "%s" for auth_mode "%s".', $this->uid, $this->getUserAuthModeName()));
124 
125  $fallback_auth_mode = 'local';
126  ilLoggerFactory::getLogger('auth')->debug(sprintf('Trying to find ext_account "%s" for auth_mode "%s".', $this->uid, $fallback_auth_mode));
127  $internal_account = ilObjUser::_checkExternalAuthAccount($fallback_auth_mode, $this->uid, false);
128 
129  $defaultAuth = AUTH_LOCAL;
130  if ($GLOBALS['DIC']['ilSetting']->get('auth_mode')) {
131  $defaultAuth = $GLOBALS['DIC']['ilSetting']->get('auth_mode');
132  }
133 
134  if (strlen($internal_account) == 0 && ($defaultAuth == AUTH_LOCAL || $defaultAuth == $this->getTriggerAuthMode())) {
135  ilLoggerFactory::getLogger('auth')->debug(sprintf('Could not find ext_account "%s" for auth_mode "%s".', $this->uid, $fallback_auth_mode));
136 
137  $fallback_auth_mode = 'default';
138  ilLoggerFactory::getLogger('auth')->debug(sprintf('Trying to find ext_account "%s" for auth_mode "%s".', $this->uid, $fallback_auth_mode));
139  $internal_account = ilObjUser::_checkExternalAuthAccount($fallback_auth_mode, $this->uid, false);
140  }
141  }
142 
143  if (strlen($internal_account) > 0) {
144  ilLoggerFactory::getLogger('auth')->debug(sprintf('Found user "%s" for ext_account "%s" in ILIAS database.', $internal_account, $this->uid));
145 
146  if ($this->idp->isSynchronizationEnabled()) {
147  ilLoggerFactory::getLogger('auth')->debug(sprintf('SAML user synchronisation is enabled, so update existing user "%s" with ext_account "%s".', $internal_account, $this->uid));
148  $internal_account = $this->importUser($internal_account, $this->uid, $this->attributes);
149  }
150 
151  if ($update_auth_mode) {
152  $usr_id = ilObjUser::_loginExists($internal_account);
153  if ($usr_id > 0) {
155  ilLoggerFactory::getLogger('auth')->debug(sprintf('SAML Switched auth_mode of user with login "%s" and ext_account "%s" to "%s".', $internal_account, $this->uid, $this->getUserAuthModeName()));
156  } else {
157  ilLoggerFactory::getLogger('auth')->debug(sprintf('SAML Could not switch auth_mode of user with login "%s" and ext_account "%s" to "%s".', $internal_account, $this->uid, $this->getUserAuthModeName()));
158  }
159  }
160 
161  ilLoggerFactory::getLogger('auth')->debug(sprintf('Authentication succeeded: Found internal login "%s for ext_account "%s" and auth_mode "%s".', $internal_account, $this->uid, $this->getUserAuthModeName()));
162 
164  $status->setAuthenticatedUserId(ilObjUser::_lookupId($internal_account));
165  ilSession::set('used_external_auth', true);
166  return true;
167  } else {
168  ilLoggerFactory::getLogger('auth')->debug(sprintf('Could not find an existing user for ext_account "%s" for any relevant auth_mode.', $this->uid));
169  if ($this->idp->isSynchronizationEnabled()) {
170  ilLoggerFactory::getLogger('auth')->debug(sprintf('SAML user synchronisation is enabled, so determine action for ext_account "%s" and auth_mode "%s".', $this->uid, $this->getUserAuthModeName()));
171  if ($this->idp->isAccountMigrationEnabled() && !$this->force_new_account) {
172  ilSession::set('tmp_attributes', $this->attributes);
173  ilSession::set('tmp_return_to', $this->return_to);
174 
175  ilLoggerFactory::getLogger('auth')->debug(sprintf('Account migration is enabled, so redirecting ext_account "%s" to account migration screen.', $this->uid));
176 
177  $this->setExternalAccountName($this->uid);
179  return false;
180  }
181 
182  $new_name = $this->importUser(null, $this->uid, $this->attributes);
183  ilLoggerFactory::getLogger('auth')->debug(sprintf('Created new user account with login "%s" and ext_account "%s".', $new_name, $this->uid));
184 
185  ilSession::set('tmp_attributes', null);
186  ilSession::set('tmp_return_to', null);
187  ilSession::set('used_external_auth', true);
188 
189  if (strlen($this->return_to)) {
190  $_GET['target'] = $this->return_to;
191  }
192 
194  $status->setAuthenticatedUserId(ilObjUser::_lookupId($new_name));
195  return true;
196  } else {
197  ilLoggerFactory::getLogger('auth')->debug("SAML user synchronisation is not enabled, auth failed.");
198  $this->handleAuthenticationFail($status, 'err_auth_saml_no_ilias_user');
199  return false;
200  }
201  }
202  }
$_GET["client_id"]
importUser($a_internal_login, $a_external_account, $a_user_data=array())
static set($a_var, $a_val)
Set a value.
static _lookupId($a_user_str)
Lookup id by login.
static _loginExists($a_login, $a_user_id=0)
check if a login name already exists You may exclude a user from the check by giving his user id as 2...
setExternalAccountName($a_name)
Set external account name.
getUserAuthModeName()
Get user auth mode name ldap_1 for ldap account migration with server id 1 apache for apache auth...
const AUTH_LOCAL
getTriggerAuthMode()
Get auth mode which triggered the account migration 2_1 for ldap account migration with server id 1 1...
static _checkExternalAuthAccount($a_auth, $a_account, $tryFallback=true)
check whether external account and authentication method matches with a user
handleAuthenticationFail(ilAuthStatus $status, $a_reason)
Handle failed authentication.
static getLogger($a_component_id)
Get component logger.
static _writeAuthMode($a_usr_id, $a_auth_mode)
const STATUS_ACCOUNT_MIGRATION_REQUIRED
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ importUser()

ilAuthProviderSaml::importUser (   $a_internal_login,
  $a_external_account,
  $a_user_data = array() 
)
Parameters
string | null$a_internal_login
string$a_external_account
array$a_user_data
Returns
string

Definition at line 273 of file class.ilAuthProviderSaml.php.

References $login, $rule, ilAuthUtils\_generateLogin(), ilObjUser\_lookupId(), buildUserAttributeXml(), ilAuthProvider\getLogger(), ilLoggerFactory\getLogger(), getUserAuthModeName(), IL_USER_MAPPING_ID, and USER_FOLDER_ID.

Referenced by handleSamlAuth().

274  {
275  $mapping = new ilExternalAuthUserAttributeMapping('saml', $this->idp->getIdpId());
276 
277  $xml_writer = new ilXmlWriter();
278  $xml_writer->xmlStartTag('Users');
279  if (null === $a_internal_login) {
280  $login = $a_user_data[$this->idp->getLoginClaim()][0];
282 
283  $xml_writer->xmlStartTag('User', array('Action' => 'Insert'));
284  $xml_writer->xmlElement('Login', array(), $login);
285 
286  $xml_writer->xmlElement('Role', array(
287  'Id' => $this->idp->getDefaultRoleId(),
288  'Type' => 'Global',
289  'Action' => 'Assign'
290  ));
291 
292  $xml_writer->xmlElement('Active', array(), "true");
293  $xml_writer->xmlElement('TimeLimitOwner', array(), USER_FOLDER_ID);
294  $xml_writer->xmlElement('TimeLimitUnlimited', array(), 1);
295  $xml_writer->xmlElement('TimeLimitFrom', array(), time());
296  $xml_writer->xmlElement('TimeLimitUntil', array(), time());
297  $xml_writer->xmlElement('AuthMode', array('type' => $this->getUserAuthModeName()), $this->getUserAuthModeName());
298  $xml_writer->xmlElement('ExternalAccount', array(), $a_external_account);
299 
300  $mapping = new ilExternalAuthUserCreationAttributeMappingFilter($mapping);
301  } else {
302  $login = $a_internal_login;
303  $usr_id = ilObjUser::_lookupId($a_internal_login);
304 
305  $xml_writer->xmlStartTag('User', array('Action' => 'Update', 'Id' => $usr_id));
306 
307  $loginClaim = $a_user_data[$this->idp->getLoginClaim()][0];
308  if ($login != $loginClaim) {
309  $login = ilAuthUtils::_generateLogin($loginClaim);
310  $xml_writer->xmlElement('Login', array(), $login);
311  }
312 
313  $mapping = new ilExternalAuthUserUpdateAttributeMappingFilter($mapping);
314  }
315 
316  foreach ($mapping as $rule) {
317  try {
318  $attributeValueParser = new ilSamlMappedUserAttributeValueParser($rule, $a_user_data);
319  $value = $attributeValueParser->parse();
320  $this->buildUserAttributeXml($xml_writer, $rule, $value);
321  } catch (\ilSamlException $e) {
322  $this->getLogger()->warning($e->getMessage());
323  continue;
324  }
325  }
326 
327  $xml_writer->xmlEndTag('User');
328  $xml_writer->xmlEndTag('Users');
329 
330  ilLoggerFactory::getLogger('auth')->debug(sprintf('Started import of user "%s" with ext_account "%s" and auth_mode "%s".', $login, $a_external_account, $this->getUserAuthModeName()));
331  include_once './Services/User/classes/class.ilUserImportParser.php';
332  $importParser = new ilUserImportParser();
333  $importParser->setXMLContent($xml_writer->xmlDumpMem(false));
334  $importParser->setRoleAssignment(array(
335  $this->idp->getDefaultRoleId() => $this->idp->getDefaultRoleId()
336  ));
337  $importParser->setFolderId(USER_FOLDER_ID);
338  $importParser->setUserMappingMode(IL_USER_MAPPING_ID);
339  $importParser->startParsing();
340 
341  return $login;
342  }
buildUserAttributeXml(\ilXmlWriter $xml_writer, \ilExternalAuthUserAttributeMappingRule $rule, $value)
Class ilSamlException.
static _generateLogin($a_login)
generate free login by starting with a default string and adding postfix numbers
XML writer class.
static _lookupId($a_user_str)
Lookup id by login.
Class ilExternalAuthUserAttributeMapping.
$rule
Definition: showstats.php:43
const IL_USER_MAPPING_ID
getUserAuthModeName()
Get user auth mode name ldap_1 for ldap account migration with server id 1 apache for apache auth...
getLogger()
Get logger.
const USER_FOLDER_ID
Class ilObjUserFolder.
$login
Definition: cron.php:13
static getLogger($a_component_id)
Get component logger.
Class ilSamlMappedUserAttributeValueParser.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ migrateAccount()

ilAuthProviderSaml::migrateAccount ( ilAuthStatus  $status)

Create new account.

Parameters
ilAuthStatus

Implements ilAuthProviderAccountMigrationInterface.

Definition at line 207 of file class.ilAuthProviderSaml.php.

208  {
209  }

◆ setExternalAccountName()

ilAuthProviderSaml::setExternalAccountName (   $a_name)

Set external account name.

Parameters
string$a_name

Definition at line 238 of file class.ilAuthProviderSaml.php.

Referenced by handleSamlAuth().

239  {
240  $this->migration_account = $a_name;
241  }
+ Here is the caller graph for this function:

Field Documentation

◆ $attributes

ilAuthProviderSaml::$attributes = array()
protected

Definition at line 17 of file class.ilAuthProviderSaml.php.

Referenced by determineUidFromAttributes().

◆ $force_new_account

ilAuthProviderSaml::$force_new_account = false
protected

Definition at line 32 of file class.ilAuthProviderSaml.php.

Referenced by handleSamlAuth().

◆ $idp

ilAuthProviderSaml::$idp
protected

Definition at line 27 of file class.ilAuthProviderSaml.php.

◆ $migration_account

ilAuthProviderSaml::$migration_account = ''
protected

Definition at line 37 of file class.ilAuthProviderSaml.php.

Referenced by getExternalAccountName().

◆ $return_to

ilAuthProviderSaml::$return_to = ''
protected

Definition at line 22 of file class.ilAuthProviderSaml.php.

Referenced by handleSamlAuth().

◆ $uid

ilAuthProviderSaml::$uid = ''
protected

Definition at line 12 of file class.ilAuthProviderSaml.php.


The documentation for this class was generated from the following file: