- Created by Ann Base, last modified by Josefin Klang on Jun 02, 2023
This article describes how to configure the Interflex Service, to enable integration between Smart ID Identity Manager, Physical Access and the Interflex Service.
Interflex is an Access Control System provided by Interflex Datensysteme GmbH and managed by a GUI and API to interact with Interflex. After integration, all administration of Users, Access Token and Entitlements (besides defining them) should be done in Identity Manager, never in Interflex.
For details on which data can be imported and exported from Interflex, see About import and export to Physical Access.
Prerequisites
The following prerequisites apply:
- Physical Access and the Interflex Docker container/service are installed. See Deploy Smart ID.
- The Interflex Service is currently using IF-6040 Open API version 12.1.1 to interact with Interflex.
- The message queue server must be running.
- If MIFARE card technology is used, the PACS MIFARE number must be available as raw data (not encrypted, truncated, or similar).
- A working network connection to the connected physical access control systems (PACS) must be in place.
Configure Interflex Service data fields
The Interflex data is configured in the configuration table in the Physical Access database. All configuration is cached when the service starts so any configuration changes will require the service to be restarted in order to take effect.
To connect to a PACS system:
- Log in to Physical Access admin panel as an admin user.
All configured PACS connector services are listed, as well as Generic configurations to define the messaging queue. - Click on a system to do updates.
All database entries are listed. - To update an entry, click on the icon
. Edit as needed and then click Update.
- To create an entry, click on +Create. Select Group, enter Key, Value and Index, and then click Create.
group: messagingqueue
key | Data type | Required or Optional | Description |
---|---|---|---|
server | string | Required | IP Address of Message Queue Server. If it is installed on the local server then we can use localhost. If we are accessing this server remotely then need to mention IP address. |
username | string | Required | Username of message queue server. Default value: “guest” |
password | string | Required | Password of message queue server. Default value: “guest” |
system | string | Required | Defines which messaging queue to be used, either "rabbitmq" or "azureservicebus". Default value: "rabbitmq" |
group: general
key | Data type | Required or Optional | Description |
---|---|---|---|
deleteUserOnNoEntitlement | string | Optional | Defines if the user shall be deleted if no active entitlement assignment are present for that user. Valid values: Default: |
deleteUserOnNoAccessToken | string | Optional | Defines if the user shall be deleted if no active access tokens are present for that user. Valid values: Default: |
heartbeatInterval | int | Optional | Heartbeat interval is the time difference between two successive heartbeats, and it is used to know if the system is in active (running) or in inactive (stopped) state. Default value and minimum value: 60 seconds. If it is set less than 60 seconds, it will be considered as 60 seconds to update the status. |
group: general
key | Data type | Required or Optional | Description |
---|---|---|---|
updatesPerPoll | int | Optional | The maximum number of messages read from the message queue. Default: 100 |
group: interflex.system
key | Data type | Required or Optional | Description |
---|---|---|---|
systemId | string | Required | System id is a unique value which is sent with a request to identify rest client on server. Default: “PHYSICAL-ACCESS-INTERFLEX-CLIENT” |
username | string | Required | Username to login into IF-6040 Rest API |
password | string | Required | Password to login into IF-6040 Rest API |
group: interflex.general
key | Data type | Required or Optional | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
apiUrl | string | Required | Base URL of IF-6040 rest API endpoint to import access element and export user details. | ||||||
entitlementImportTypes | string | Required | EntitlementImportTypes is used to set which type of access elements Physical Access should import. Currently, these entitlementImportTypes are supported:
To have support for both types, add it like “AccessProfile, AccessZoneTimeProfile”. | ||||||
organizationUnit | string | Required | OrganizationUnit is the name of the default organization which can be used to create User or Card. |
group: interflex.export
key | Data type | Required or Optional | Description |
---|---|---|---|
cardNumberIdentifierType | string | Required | This is a type of identifier in an access token. This setting indicates which type of identifier that is used for card number. Default: “mifare”. |
userIdentifierPrefix | string | Required | A prefix which is appended before Personnel Number of Person in Interflex. Default: “PA”. |
group: export
key | Data type | Required or Optional | Description | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
userfieldmappings | string | Optional | The userfieldmappings is the combination of all additional fields that can be sent to Interflex. Currently, these fields can be configured:
To export these fields to Interflex, add this configuration:
The value in the configuration setting is a combination of table_name.value_of_type_column, property_name_of_cardholder. This configuration setting is the mapping between PA3 table field and Interflex cardholder model properties. User column fields are sent by adding configuration like user.column_name_of_user_table, property_name_of_cardholder. |
The service mainly transfers user data including related access tokens and entitlement assignments. In the service, default fields can be sent and additional fields can be mapped using extra field mappings.
User field mapping
By default, the following data is mapped between the USER table in the Physical Access and the Interflex service:
SR No | Physical Access field (Web API) | Interflex field (UI) |
---|---|---|
1 | Id (Id) – Append with prefix as per configuration setting userIdentifierPrefix | Basic Data -> Personnel number |
2 | givenname (givenName) | Basic Data -> FirstName (förnamn) |
3 | familyname (FamilyName) | Basic Data -> lastName (efternamn) |
4 | Default organizationUnit defined in configuration | Basic Data -> Belongs To (Organization) |
5 | Check Type Configuration and then map actual email Type(emails-type-value) | Contact -> Private email address |
Access token field mapping
For access token field mapping, the ACCESSTOKEN and ACCESSTOKENIDENTIFIER tables from the Physical Access database are mapped to the Interflex service fields. All details are available under Person Record.
SR No | Physical Access field (Web API) | Interflex field (UI) |
---|---|---|
1 | CardNumber (identifiers-type-value) | Credentials ->Assigned Credentials -> Column[Credential] |
2 | Card ValidFrom and ValidTo decide internally | Credentials -> Assigned Credentials -> Column[ValidFrom , ValidTo] |
3 | User -> Pin | PIN Code |
Entitlement assignment field mapping
For entitlement assignment field mapping, the ENTITLEMENTASSIGNMENT table from the Physical Access database is mapped to the Interflex service fields. All details are available under Person Record.
SR No | Physical Access field (Web API) | Interflex field (UI) |
---|---|---|
1 | DisplayName (entitlement-DisplayName) | Access -> Personal Access Permission -> Access Element |
2 | Valid From, Valid To | Access -> Personal Access Permission -> [ValidFrom, ValidTo] |
Restart service
Restart the Interflex connector service:
Restart Physical Access Interflex connectorcd <SMARTIDHOME>/compose/physicalaccess docker-compose restart smartid-pa-interflex
This article includes updates for Smart ID 23.04.2.
Related information
Integrate physical access control system (PACS) with Identity Manager