The Contract Express application is built of four (four) web applications:
API
: This Contract Express API application is responsible for core (aka API) functionality; it is usually deployed as a virtual application "/rest".
UI
: This Contract Express UI application is responsible for UI elements; it is usually is deployed as a virtual application "/app".
ID
: This Contract Express Identity Server application is responsible for authentication; it is usually deployed as a virtual application "/id".
Search
: This Contract Express Search application is responsible for the Search feature within UI; it is usually deployed as a virtual application "/search".
Contract Express Identity Server supports using a company's Microsoft Entra ID (Formerly Azure AD) as an external identity provider to authenticate users. This page details the necessary configuration changes required to enable this feature.
Contract Express Identity Server uses the OpenId Connect protocol to authenticate users against Microsoft Entra ID. Only work or school accounts can be used for authentication, Microsoft personal accounts are not supported.
Azure – Register a Client Application for Microsoft Graph API
Contract Express needs to be registered with Microsoft Entra ID to support authentication and access the Microsoft Graph API. To register for the app, please follow the instructions:
Navigate to the
Microsoft Azure Portal
(https://portal.azure.com/)
.
Login
using your work or school account.
Navigate to
App Registrations
blade.
Click
New registration
, and:
Specify a
Name
for the app
(for example, Contract Express SSO with Microsoft Entra ID)
Select the appropriate option from the
Supported account types
(we strongly recommend
Accounts in this organizational decretory only
unless another option is required)
In the Redirect URI section, select the
Web
option from the dropdown and enter the Contract Express Identity Server signin-azuread endpoint to
%The_ID_URL%/core/signin-azuread
(for example, https://contoso.contractexpress.com/id/core/signin-azuread)
Click
Register
You will be
redirected
to the created application:
Take a note of
Application (client) ID
as this is the value of
MSGraphClientId
Take a note of
Directory (tenant) ID
as this is the value of
MSGraphTenant
Select
Certificates & secrets
blade within just created application.
Click
New client secret
Specify
Description
(for example, Contract Express MSGraphClientSecret)
Select
Expires
option
(we strongly do not recommend set as Never)
Click
Add
Take a note of
Value
as this is the value of
MSGraphClientSecret
and it will be not possible to display that again
Select
API permissions
blade within the created application.
Click
Add a permission
.
In a pop-up blade, select
Microsoft Graph
Click
Delegate permissions
and select the following:
GroupMember.Read.All
User.Read
Click Application permissions and select the following:
GroupMember.Read.All
User.Read.All
Click
Add permissions
You should see all added API/permissions
Select
Authentication
blade within created application:
Under
Redirect URIs
, add the Contract Express
%The_UI_URL%/admin/authentication
endpoint as a new Web type entry (
for example, https://contoso.contractexpress.com/app/admin/authentication)
Under
Advanced settings
, check-in
Access tokens
and
ID tokens
Click
Save
Contract Express – Back-end Configuration
These configuration steps are issued by Contract Express back-end administrator.
Update the API web.config as follows:
Update value of
MSGraphClientId
parameter with previously captured
MSGraphClientId
Update value of
MSGraphClientSecret
parameter with previously captured
MSGraphClientSecret
Update the ID web.config as follows:
Update value of
MSGraphClientId
parameter with previously captured
MSGraphClientId
Update value of
MSGraphClientSecret
parameter with previously captured
MSGraphClientSecret
Update value of
MSGraphTenant
parameter with previously captured
MSGraphTenant
note
If "Supported account type" is selected as "Accounts in any organizational director" during the application provisioning, you may want to use Common as
MSGraphTenant
value.
Update value of
EnableMSAuth
parameter with
True
.
Contract Express – Front-end Configuration
The following steps are required to implement in order to enable Microsoft Entra ID user/group lookup and AD sync via the Microsoft Graph API. This is a one-time activity. These configuration steps must be issued by a Contract Express
front-end Administrator
, who also has
Microsoft Entra ID Global Admin rights
:
Login
as Admin user to Contract Express.
Navigate to
Admin
page.
Select
Authentication
under Licence
(this option is visible only if CE SSO with Microsoft Entra ID is configured)
Click on
here
.
Once
redirected
to Azure Portal, use the Microsoft Entra ID Global Admin credentials to authenticate.
On the next screen click
Accept
(this will establish trust between Contract Express and Azure)
Once accepted, the page will redirect to the Contract Express application.