Skip to main content

User Type Reference

This page is a reference for all settings, attribute types, and constraint modifiers available when defining a user type schema. For step-by-step instructions on creating and managing user types, see User Types.

User Type Settings​

SettingDescription
handleRequired. The unique, immutable identifier of the user type. 1 to 100 characters of lowercase letters, numbers, hyphens, and underscores, starting and ending with a letter or a number. Unique among user types.
displayNameRequired. Human-readable name.
ouIdRequired. The organization unit the user type belongs to.
allowSelfRegistrationWhether users of this type can self-register. Defaults to false.
systemAttributes.displayThe attribute used as the display name of users of this type.
systemAttributes.primaryEmailThe primary email attribute. Defaults to the only email attribute defined directly in the schema. Stays unset when the schema defines more than one and none is selected.
systemAttributes.primaryMobileThe primary mobile attribute. Defaults to the only mobile attribute defined directly in the schema. Stays unset when the schema defines more than one and none is selected.
schemaThe attribute definitions of the user type.

Attribute Types​

Each attribute in a user type schema has a type. ThunderID supports the following attribute types:

TypeDescription
stringText value. Supports required, unique, credential, enum, and regex constraints.
emailEmail address, such as alex@example.com. Includes a default email regex. Supports required, unique, and regex constraints.
mobilePhone number, such as +94771234567. The default regex accepts + followed by 2 to 15 digits, starting with a nonzero digit. Supports required, unique, and regex constraints.
numberNumeric value. Supports required, unique, and enum constraints.
booleanTrue or false value. Supports required.
objectNested object with its own properties map. Supports required. Nested properties follow the same type rules.
arrayList of values. Requires an items definition specifying the item type (string, email, mobile, number, boolean, or object).

Attribute Constraint Modifiers​

Modifiers add validation and behavior rules to an attribute. You can combine multiple modifiers on a single attribute.

ModifierApplies ToWhat It DoesWhen to Use
requiredAll typesThe attribute must be provided on creation. ThunderID rejects the request if the value is missing.Fields essential to the user's identity, such as email or username.
uniquestring, email, mobile, numberThe value must be unique across all users. ThunderID rejects creation or update if a duplicate exists. Provisioning flows also match on these attributes to detect an existing account, except on a federated sign-in, where the connection's account linking configuration decides instead.Natural identifiers like username, email, or employeeId.
credentialstring, numberThunderID hashes and stores the value securely. Never returned in any API response, even to administrators.Passwords or other sensitive secrets.
enumstring, numberRestricts the value to a fixed set of allowed options. ThunderID rejects any value not in the list.Controlled vocabularies like a department field limited to specific team names.
regexstring, email, mobileValidates the value against a regular expression on creation and update. ThunderID rejects values that do not match.Format rules such as email patterns or password complexity requirements.

Primary Contact Attributes​

Select Primary beside an email or mobile attribute in the schema editor. The Console requires one primary attribute for each contact type. When only one attribute of a contact type exists, ThunderID selects it automatically. Attributes inside objects and arrays cannot be selected as primary contacts.

note

Email and mobile attributes use a default regex when the regex is omitted or empty. A custom regex replaces the default. Omit optional contact attributes when they have no value. Supplied values, including empty strings and array items, must match the regex.

Default Schema​

ThunderID includes one default user type with a pre-defined schema. You can use it as-is, customize it, or create your own user types. See User Types for more information.

Person​

The general-purpose user type, with the handle person and the display name Person. Self-registration is enabled, so users of this type can sign up through the registration flow of any application that lists it under Allowed User Types. Administrators can also create users of this type.

AttributeTypeConstraintsNotes
usernamestringrequired, uniqueDisplay attribute
emailemailrequired, unique, regexPrimary email
given_namestring-
family_namestring-
mobile_numbermobileregexPrimary mobile. Validated against E.164 format, for example +14155552671
substring-
namestring-
picturestring-
passwordstringcredentialNever returned in responses
note

The picture attribute stores a URL. When a user's picture is hosted on an external origin, allow that origin in the Content Security Policy img-src directive. Otherwise the browser blocks the image where the Console displays it. See Content Security Policy.

Explore with AI

ThunderID LogoThunderID Logo

Product

DocsAPIsSDKs
© Copyright Linux Foundation Europe.For web site terms of use, trademark policy and other project policies please see https://linuxfoundation.eu/en/policies.