Skip to main content

User resource data model

/User

Dictionary table

Attribute Type Required Updatable Description Additional comment

id

Long

Yes

-

Primary key of the user

 

userName

String

Yes

Yes

User name used to identify a user, internal management and access to applications

User name must be unique

firstName

String

Yes

Yes

First name of the user

 

lastName

String

Yes

Yes

First surname

 

middleName

String

-

Yes

Used like second surname

 

fullName

String

-

-

firstName + lastName + middleName

 

shortName

String

-

Yes

Mail of the user but without the domain

The mail is created with the next pattern: shortName + '@' + mailDomain

createdDate

Calendar

-

-

User creation date

 

modifiedDate

Calendar

-

-

Last modification date of any user attributes

 

createdByUser

String

-

-

User that has created the user

 

modifiedByUser

String

-

-

User that has modified the last time attributes of this user

 

active

Boolean

-

Yes

User active or disable

If you avoid this attribute in the create operation by default the value is false

multiSession

Boolean

-

Yes

Allows some sessions with Soffid ESSO

When the value is false if the user logs with another session active, the SSO close the previous one

comments

String

-

Yes

Comments about the user

 

userType

String

Yes

Yes

User type assigned to the user. by default "I"

New use types could be created in the IAM Console (Administration > Configure Soffid > Global settings > User type)

profileServer

String

Yes

Yes

Server which hosts the user profile

It is linked to Roaming UserProfile on Active Directory

Servers are managed in the IAM Console (Administration > Resources > Hosts)

In the installation of Soffid a "null" server is created to be used by default

homeServer

String

Yes

Yes

Server which hosts the user folder

It is linked to Home Drive attribute on active directory

Servers are managed in the IAM Console (Administration > Resources > Hosts)

In the installation of Soffid a "null" server is created to be used by default

mailServer

String

Yes

Yes

Server which hosts the user mail

Servers are managed in the IAM Console (Administration > Resources > Hosts)

In the installation of Soffid a "null" server is created to be used by default

nationalID

String

-

Yes

ID card of the user

For example the NIF or NIE

phoneNumber

String

-

Yes

Phone number of the user (company or personal)

 

mailAlias

String

-

Yes

Lisf of mails separated by comma

 

mailDomain

String

-

Yes

 

The domain of the mails must be valid

Mail domains are managed in the IAM Console (Administration > Resources > Mail Domains)

primaryGroup

String

Yes

Yes

ID of the primary group where the user is assigned

Groups are managed in the IAM Console (Administration > Resources > Groups)

primaryGroupDescription

String

-

Yes

Description of the primary group where the user is assigned

Groups are managed in the IAM Console (Administration > Resources > Groups)

consoleProperties

ConsoleProperties

  • id (Long)
  • userName (String)
  • lastLoginDate (Calendar)
  • version (String)
  • bookmarks (Collection<String>)
  • preferences (Map)
  • lastIP (String)
  • language (String)

-

-

Internal properties for the IAM Console

These properties are created the first time the user access to IAM console

password

String

-

Yes

Password used with the userName to access applications

Password is not returned in the searches, is only used in PATCH and PUT methods

attributes

Map<String, Object>

  • "attribute" : "value"

-

Yes

Additional data assigned to the user

Attributes are managed in the IAM Console (Administration > Configure Soffid > Global Settings > Metadata)

Values are managed in the IAM Console (Administration > Resources > Users)

meta

 ScimMeta

  • resourceType (String)
  • created (Date)
  • lastModified (Date)
  • location (String)

-

-

Additional information recommended in SCIM definition:

  • resourceType: Resource requested (in this case "User")
  • created: user creation date
  • lastModified: last modification date of any user attributes
  • location: URL tof the resource (<domain>/webservice/scim/User/<i

These attributes are returned in the response

These attributes are not updatable

secondaryGroups

 List<JsonSecondaryGroup>

  • id (Long)
  • group (String)
  • groupDescription (String)

-

Yes

Secondary groups assigned to the user:

  • id: id of the group
  • group: name of the group (unique)
  • groupDescription: description of the group

Groups are managed in the IAM Console (Administration > Resources > Groups)

Secundary groups are managed in the IAM Console (Administration > Resources > Users)

accounts

List<JsonAccount>

id (Long)

name (String)

system (String)

-

Yes

Accounts created to the user to access to applications:

  • id: id of the account
  • name: name of the account (unique)
  • system: system to assign access

Accounts are managed in the IAM Console Administration > Resources > Users, Account tab)

Systems are managed in the IAM Console (Administration > Resources > Information Systems)

Full JSON example

{
  "lastName": "Smith",
  "createdByUser": "admin",
  "mailServer": "null",
  "mailDomain": "soffid.com",
  "nationalID": "",
  "multiSession": false,
  "modifiedByUser": "admin",
  "id": 1188,
  "homeServer": "null",
  "primaryGroupDescription": "World",
  "primaryGroup": "world",
  "comments": "Sample user",
  "profileServer": "null",
  "secondaryGroups": [
    {
      "groupDescription": "Enterprise",
      "id": 12353,
      "group": "enterprise"
    },
    {
      "groupDescription": "Engineering team",
      "id": 12347,
      "group": "engineering"
    }
  ],
  "active": true,
  "fullName": "John Smith",
  "userName": "jsmith",
  "mailAlias": "jsmith@soffid.com, jsmith.dev@soffid.com",
  "firstName": "John",
  "createdDate": "2017-08-04T15:04:37+02:00",
  "phoneNumber": "666777888",
  "meta": {
    "created": "2017-08-04T15:04:37+02:00",
    "location": "http://<domain>/webservice/scim2/v1//User/1188",
    "lastModified": "2017-08-18T16:52:38+02:00",
    "resourceType": "User"
  },
  "modifiedDate": "2017-08-18T16:52:38+02:00",
  "attributes": {
    "employeeId": "1234",
    "position": "Developer"
  },
 "middleName": "",
 "accounts": [
    {
      "system": "soffid",
      "name": "jsmith",
      "id": 12453
    }
  ],
  "userType": "I",
  "shortName": "jsmith"
}