Authentication in IFS Cloud
In IFS Cloud, user authentication is handled through IFS Identity and Access Manager. To access the IFS OData API's, the IFS OData connector needs to retrieve an access token from IFS IAM. IFS IAM supports the OpenID Connect specification and also provides the ability to optionally delegate the authentication to an external Identity Provider.
There are several ways we can retrieve an access token in IFS Cloud and the IFS OData connector supports all of them.
Non-interactive authentication
In non-interactive authentication, there is no graphical client involved in the authentication flow and the access token is obtained through a single call by invoking the token endpoint in IFS IAM. Non-interactive authentication can be further divided into 3 sub-types depending on the nature and specific needs of the integration scenario.
Client Credentials Flow - uses service accounts instead of end-user accounts.
Password Credentials Flow - uses end-user account where the end-user credentials are stored/provided by the flow client.
Basic Authentication - Not recommended and should be only used only if other auth flows are not possible.
Interactive authentication
In Interactive authentication, the access token is obtained in two steps. First, the authorization endpoint in IFS IAM is invoked which would render the Aurena log-in page. Once the user enters the end-user credentials on the log-in page then the token endpoint is invoked which will return the access token. Interactive authentication can be further divided into 2 sub-types depending on who acts as the identity provider.
Authorization Code Flow - IFS IAM acts as the identity provider.
External IDP’s (single sign-on)- any external identity provider who supports OpenID Connect specification. Example - Azure AD, Okta
Custom Client Registration
In order to retrieve an access token from IFS IAM, we need to register a custom client in IAM. Depending on the type of authentication we'll have to create different custom client registrations. Custom clients can be registered in IFS Cloud via Solution Manager > Security > Identity and Access Manager > IAM Client Details page. For more info refer to the IFS Cloud documentation Custom Client.
To register a custom client in IFS Cloud,
Navigate to Solution Manager > Security > Identity and Access Manager > IAM Client Details page
Click on the plus icon and fill in the information in the resulting dialog
Enter a Client ID and optional description
Enabled checkbox set to true
For Client Credentials flow
Service Accounts and Direct Access Grants checkboxes set to true
Select an existing service user for the Username field in User Group section
For Password Credentials flow
Service Accounts checkbox set to false
Direct Access Grants checkbox set to true
For Authorization Code Flow
Service Account and Direct Access Grants checkboxes set to false
Redirect Uri is set to ncflow://authenticate
At the moment Authorization Code Flow is only supported in Flow mobile client hence the redirect uri is set to ncflow://authenticate.
Once saved the Client Secret will be generated and we will use the Client ID & Secret in connector configuration.
Last updated