SCIM Schemas

<< Click to Display Table of Contents >>

Navigation:  Bizagi Studio > Security definition > Work Portal Security > Synchronizing users > Synchronizing users using SCIM's REST methods >

SCIM Schemas

Schemas

A schema defines the structure of attributes and metadata for one or more resource types.  Here are the characteristics of the resources available in Bizagi SCIM services.

 

User

When you create a new user in Bizagi, you can set the user profile using several attributes.

 

SCIM_1

Those attributes are columns of the WFUser table in the Bizagi project database. The following attributes from the WFUser can be defined using the User resource in SCIM services:

 

Full Name

User Name

Domain

Contact Email

Contact Cellphone

Active

 

You can use one of the schema discovery services to obtain the JSON structure of this resources.

 

[Project_URL]/scim/v2/Schemas

 

This returns the schema for all resources. The following attributes of the User resource structure are available for user synchronization:

 

Attribute

Sub attribute

Type

Description

userName

-

string

This also includes the domain using this format userName@domain. All users must have a domain assigned.

name

familyName

string

The name of the user is built by concatenating givenName and familyName.

givenName

string

The name of the user is built by concatenating givenName and familyName.

active

-

Boolean

Defines if the user is an active user in Bizagi

emails

value

string

Email

type

string

You can only set one of the following options: work, home, other. Only the work option is considered in Bizagi.

primary

Boolean

You have to set whether this is the primary email. In Bizagi users only have one email, so this attribute must be always true.

phoneNumbers

value

string

Telephone number

type

string

You can only set one of the following options: mobile, work, home, other. Only the mobile option is considered in Bizagi.

primary

Boolean

You have to set whether this is the primary phone. In Bizagi users only have one phone, so this attribute must be always true.

 

For each attribute you find a group of properties. For example the JSON response displays the following information:

 

{

  "totalResults":2,

  "itemsPerPage":10,

  "startIndex":1,

  "schemas":[

     "urn:ietf:params:scim:api:messages:2.0:ListResponse"

  ],

  "Resources":[

     {

        "id":"urn:ietf:params:scim:schemas:core:2.0:User",

        "name":"User",

        "description":"User Account",

        "attributes":[

           {

              "name":"userName",

              "type":"string",

              "multiValued":false,

              "description":"Unique identifier for the User, typically used by the user to directly authenticate to the service provider. Each User MUST include a non-empty userName value.This identifier MUST be unique across the service provider's entire set of Users. REQUIRED.",

              "required":true,

              "caseExact":false,

              "mutability":"readWrite",

              "returned":"default",

              "uniqueness":"server"

           }

        ]

     }

  ]

}

 

Name structure

The object name is divided into three main parameters:

 

given name: The first word.

middle name: The second word.

family name: The rest of the words.

 

The SCIM standard builts the formatted name using the following structure

 

[given name] [middle name] [family name]

 

consider the following example:

 

“givenName” = “Jack”.

“middleName” = “Dennis”.

“familyName” = “Smith Dacota Wayne”.

“formatted” = “Jack Dennis Smith Dacota Wayne”.

 

Considerations with emails and phones

the SCIM standard supports different types of emails and phone numbers. However, in Bizagi you can only store one email and one phone. When you are synchronizing users, consider the following:

 

For emails

Only the Work type is considered.

The Primary property must be always true.

If you try to register more than one type of email in the JSON structure, only the first element is considered.

 

For phones

Only the Mobile type is considered.

The Primary property must be always true.

If you try to register more than one type of phone in the JSON structure, only the first element is considered.

 

UserProperties

This resource is an extension of the User resource located under the same schema. When configuring new users in Bizagi, you can configure the simple type attributes shown in this SCIM resource in the User Configuration tab or the Additional Information tab if there are extended user properties:

 

SCIM_2

 

The structure of this resource is the following:

 

Attribute

Type

Description

DelegateEnable

Boolean

Use to activate the user delegated.

enabledForAssignation

Boolean

Use to enable the user to receive assignments made by other users.

createdCasesSkipAssigRules

Boolean

If this property is active, the case created by the user skips work allocation.

offlineForms

Boolean

This attribute is not used in Bizagi.

normalCost

decimal

This attribute is not used in Bizagi.

overtimeCost

decimal

This attribute is not used in Bizagi.

 

Similarly you find some characteristics for each attribute in the schema's JSON response, for example the DelegateEnable attribute it looks like this:

 

{

  "id":"urn:ietf:params:scim:schemas:extension:bizagi:2.0:UserProperties",

  "name":"BizagiUserProperties",

  "description":"Bizagi user properties",

  "attributes":[

     {

        "name":"DelegateEnabled",

        "type":"boolean",

        "multiValued":false,

        "description":"Delegate Enabled",

        "required":false,

        "caseExact":false,

        "mutability":"readWrite",

        "returned":"default",

        "uniqueness":"none"

     }

  ]

}

 

New User Properties

 

note_pin

Synchronization of User Properties is not available in Azure AD.

 

Additionally, you can create customized properties to customize the profiles of your users. A new  user property is created in the Organization module of the Expert view:

 

Organizations34

 

These new user properties are also displayed in the SCIM schema:

 

{

  "id":"urn:ietf:params:scim:schemas:extension:bizagi:2.0:UserProperties",

  "name":"BizagiUserProperties",

  "description":"Bizagi user properties",

  "attributes":[

     {

        "name":"Otherproperty",

        "type":"integer",

        "multiValued":false,

        "description":"Other property",

        "required":false,

        "caseExact":false,

        "mutability":"readWrite",

        "returned":"default",

        "uniqueness":"none"

     }

  ]

}

 

note_pin

Only simple data type properties, such as strings or integers, can be use to synchronize users through SCIM services. User properties configured as a relationship with entities in Bizagi cannot be used in user synchronization, and therefore are not displayed in the schemas.