Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The Org Identity Source Backend is expected to return both a raw record (directly representing the backend datasource), and a formatted record. The formatted record is expected to represent an OrgIdentity, in typical Cake array format, along with its associated Models. The Backend may return the following supported attributes:

AttributeMulti-valued?Required?Notes
AddressYesNoSee note (info) below.
EmailAddressYesNoSee note (info) below.
IdentifierYesNoDoes not automatically include the unique key (SORID). See note (info) below.
NameYesNoAt least one Name must be returned, and exactly one Name must be flagged primary. See note (info) below.
OrgIdentity.affiliationNoNoPossible values may vary by CO; see CoExtendedType::definedTypes
OrgIdentity.titleNoNo 
OrgIdentity.oNoNo 
OrgIdentity.ouNoNo 
OrgIdentity.valid_fromNoNoMust be in database format, eg via strftime("%F %T", ...)
OrgIdentity.valid_throughNoNoMust be in database format, eg via strftime("%F %T", ...)
TelephoneNumberYesNoSee note (info) below.
Info

For multi-valued attributes, only one attribute of a given type is currently supported. For example, there can only be one official EmailAddress, though a second EmailAddress may be provided if (eg) of type personal.

Possible types may vary by CO, see CoExtendedType::definedTypes for valid types.

...

Example

Code Block
languagephp
$myData = array(
  'OrgIdentity' => array(
    'title' => 'Researcher',
    'o' => 'University of Impossible Equations',
    'ou' => 'Department of Timey Wimey Stuff'
  ),
  'Name' => array(
    array(
      'given' => 'Pat',
      'family' => 'Lee',
      'type' => 'official',
      'primary_name' => true
    )
  ),
  // Note below here are multi-valued arrays
  'Identifier' => array(
    array(
      'identifier' => 'plee@university.edu',
      'type' => 'eppn',
      'login' => true
    )
  ),
  'EmailAddress' => array(
    array(
      'mail' => 'plee@university.edu',
      'type' => 'official',
      'verified' => true
    ),
    array(
      'mail' => 'plee@socialemail.com',
      'type' => 'personal',
      'verified' => false
    )
  )
);

...