Skip to main content

Implementation Details

Enterprise Deployment

This feature is available for Enterprise deployments only. If you’d like to get started, please contact support@loginid.io for further details.

The following sections outline how to use SCIM provisioning with LoginID. It includes supported schemas, attribute mappings, and behavioral notes for users and groups, as well as the common actions available through the SCIM API.

Schema and Attribute Mapping

SCIM relies on schemas to define resource structure and on attribute mapping to align fields from your identity provider with LoginID. This ensures consistent user and group information across systems.

User

User schema mapping defines how identity data (like usernames, names, and account status) is structured and synchronized between your identity provider and LoginID.

NameRequiredDescription
activeNoIndicates whether the user’s account is active (true or false).
displayNameNoThe display name of the user, suitable for end-user display.
externalIdNoAn identifier for the resource as defined by the provisioning client.
name.familyNameNoThe family (last) name of the user.
name.formattedNoThe full name of the user, formatted for display.
name.givenNameNoThe given (first) name of the user.
schemasYesAn array of URIs that indicate the SCIM schemas used.
userNameYesA unique identifier for the user, typically used for login.

Behavioral Notes

  1. If displayName is provided:
    It is the source of truth, and the name object is derived from it.
// Input
{ "displayName": "Ada Lovelace" }

// Output
{ "displayName": "Ada Lovelace", "name": { "givenName": "Ada", "familyName": "Lovelace", "formatted": "Ada Lovelace" } }
  1. If only name is provided:
    A displayName is constructed from givenName and familyName.
// Input
{ "name": { "givenName": "Ada", "familyName": "Lovelace", "formatted": "Ada Lovelace" } }

// Output
{ "displayName": "Ada Lovelace", "name": { "givenName": "Ada", "familyName": "Lovelace", "formatted": "Ada Lovelace" } }
  1. If neither displayName nor name is provided:
    The userName is used as both the displayName and the fallback name.
// Input
{ "userName": "Jeffery26" }

// Output
{ "displayName": "Jeffery26", "name": { "givenName": "Jeffery26", "formatted": "Jeffery26" } }
info

The name fields are currently not stored independently. They are always derived from the displayName.

Group

Group schema mapping describes how group-related information—such as names, identifiers, and membership lists—is exchanged.

NameRequiredDescription
displayNameYesA human-readable name for the Group, suitable for display.
externalIdNoAn identifier for the resource as defined by the provisioning client.
membersNoA list of members of the Group. Each member includes:
members.displayNoA human-readable name for the member, primarily used for display purposes.
members.valueNoThe identifier (e.g., User ID) of the member.
schemasYesAn array of URIs that indicate the SCIM schemas used.

Behavioral Notes

  1. If both displayName and externalId are provided:
    externalId takes precedence.
// Input
{ "displayName": "Engineering", "externalId": "eng-group-001" }

// Stored
{ "displayName": "eng-group-001", "externalId": "eng-group-001" }
  1. If both displayName and externalId are provided:
    It is also used as the externalId.
// Input
{ "displayName": "Engineering" }

// Stored
{ "displayName": "Engineering", "externalId": "Engineering" }

Common Actions

LoginID supports a core set of actions for creating, reading, updating, and deleting users and groups, as well as listing them with query parameters.

Notes

  • The only supported query parameters are:
    • count
    • startIndex
  • Extensions are not currently supported.

Users

User actions manage the full lifecycle of accounts in LoginID to ease provisioning and deprovisioning.

Groups

Group actions handle organizational structures and memberships, enabling policy-driven access control.