Configuring deployment without Identity server

It is possible to run the DMS server without identity server. In this deployment, the DMS core server and the notification server communicate directly with an External OIDC Identity Provider (IdP). This is especially useful in cloud environments such as Azure or AWS. This deployment scenario is configured via the appsettings.json. In appsettings.json, remove the whole IdentitfyServer section and add the OidcAuthentication section like this below.

"OidcAuthentication": {
  "Audience": "audience key from External OIDC IdP",
  "Authority": "test-authority",
  "AutoAuthorizeOnAuthentication": true,
  "ClaimToUserName": "ReplacementSearchString;ReplacementWithString",
  "ClaimType": "sub",
  "GroupsClaimType": "groups",
  "ClientId": "test-client-id",
  "PrincipalCaching": true,
  "RedirectUri": "redirecturl",
  "PostLogoutRedirectUri": "postlogout-redirecturl",
  "RequireGroupSearch": true,
  "RequireHttpsMetadata": "true",
  "Scope": "openid profile email offline_access groups"
},

In the table below there is an overview of the setting keys, their default values, and a short explanation of the setting key.

Setting key: (default) value Explanation
Audience Audience value for any received OIDC call.
Authority Authority url to make OIDC calls.
AutoAuthorizeOnAuthentication Enables or disables the authorization while auto-provisioning new external user.
ClaimToUserName Customized transformation from claim to username. It should be in format of -....;.... Value mentioned between '-' and ';' will be removed from claim and claim will be appended to value after ';'
ClaimType Claim type to request for user.
GroupsClaimType

The claim type that is used to get the groups of the current user, this also needs to be setup in the External OIDC IdP.

Once this is setup in the External OIDC IdP, an admin can add groups to the database in the user management screen. These groups can then be selected in folder security for giving access to certain users based on the groups.

ClientId Unique client id of the External OIDC IdP.
PrincipalCaching Caching credentials can provide significant performance improvements when true.
RedirectUri OIDC sign-in redirect URI.
PostLogoutRedirectUr Redirect URI after the OIDC logout page.
RequireGroupSearch Enables or disables to search external user in group principal.
RequireHttpsMetadata If HTTPS is required for the metadata address or authority.
Scope OIDC scope. These represent high-level operations performed against the API endpoints. Applications request these scopes from the authorization server. The server access policy decides which scopes to grant and which ones to deny. Space separated.