Skip to main content

Configure SSO in Deepser

SSO (Single Sign-On) is the technology that allows you to use delegated authentication to access Deepser. You can configure SSO using Google or Azure as preconfigured providers, or set up other providers using the Client OAuth configurations. This guide covers creating an OAuth client, configuring user mappings, and setting up provisioning.

Configure SSO

To configure a new SSO integration, follow these steps:

  1. Go to System > Tools > OAuth > Client.

  2. Click on the Add Client button.

  3. Assign a name to the client and click Save to get the "Redirect URI" that you will need to configure the provider-side SSO.

  4. After saving, continue the configuration. The following screen will open:

  1. Fill in the fields described below:
FieldDescription
NameIdentification name of the OAuth Client
StatusThe status of the OAuth Client: enabled or disabled
ProviderOAuth provider. This field can take 5 values: Google, Azure, Generic, Datto RMM, NinjaOne. If this field is set to Google or Azure, some fields will be preconfigured. If set to Generic, you will need to manually specify the configuration of those fields.
TypeThis field contains all the types that a provider can have. The values depend on the selected provider.
Tenant IDRequired for Azure provisioning provider
Client IDEnter the client ID provided by the delegated authentication provider.
Client SecretEnter the client secret provided by the delegated authentication provider.
ScopeThe scopes to which the client will request access to resources. Visible only for the Generic provider.
Url AuthorizeAuthorization URL -- the endpoint to call to obtain authorization. Visible only for the Generic provider.
Url Access TokenThe base URL to which parameters are added to request the authentication token. Visible only for the Generic provider.
Url Resource Owner DetailsBase URL of the server responsible for managing resources. Visible only for the Generic provider.
ProxyIf set, this proxy will be used to forward requests for delegated authentication. Visible only for the Generic provider.
VerifyIf you have configured a proxy, you can enable or disable the SSL check. Visible only for the Generic provider.
Scope Separator CharThe character the provider uses to separate one scope from another.
  1. Click the Validate button to verify the client.

  2. Click Apply.

You will be redirected to the login screen of the delegated authentication provider. If everything goes well, you will be redirected to the Deepser OAuth client screen with a success message. In case of errors, the error message will appear at the top of the same page.

User Tab Configurations

This tab contains the configurations related to users in both the linked provider and in Deepser.

FieldDescription
Related LDAPsYou can select one or more options from Public OpenLDAP ForumSys, Public OpenLDAP Debian.
Username AttributeSpecify which user data attribute will be used to create the username.
User Data SourceSelect one of the options: Endpoint or ID Token (JWT).
Endpoint User DataAdditional information for the Endpoint user data source.
User fields On CreationA mapping between user fields in Deepser and the related provider. This is used on sign-up with the selected provider or when provisioning a specific user for the first time.
User Create ExpressionA field that accepts PHP script to map user fields in Deepser to the related provider. This is used on sign-up or first-time provisioning. Default variables are: $user (user array) and $oauthUser (OAuth user array).
User fields On UpdateA mapping between user fields in Deepser and the related provider. This is used every time a user signs in with the selected provider.
User Update ExpressionA field that accepts PHP script to map user fields in Deepser to the related provider. This is used every time a user signs in. Default variables are: $user (user array) and $oauthUser (OAuth user array).
Login Button DisabledHides the login button for the selected provider.
Login Button CaptionChanges the text inside the login button.
Login Button IconChanges the icon inside the login button.

Configure Provisioning

The Provisioning functionality allows you to automatically create in Deepser the users and groups registered within your Microsoft Azure environment, if they have been enabled for the SSO application. Instead of being created or updated only at each login, you can synchronize the users in Azure who need to log into Deepser with the related user records in Deepser.

tip

You can run provisioning once by clicking the "Provision" button (useful for testing), or schedule it to run multiple times a day by configuring a Cron expression.

To configure provisioning in Deepser, in addition to the steps in the "Configure SSO" section, go to the "Provisioning" tab within an Azure SSO client and configure the necessary parameters.

FieldDescription
Provisioning enabledIf toggled on, provisioning is enabled
Provisioning ProviderIf "Azure" is selected, some fields will be available
Cron ExpressionIf "Azure" is selected, some specific fields will appear and others will become required
User Provisioning ModeSelect the way in which users will be synchronized. Required for Azure provisioning provider.
Disable UsersIf toggled on, local user status will be updated with provisioned user status.
Disable Deleted UsersIf enabled and the provisioned user has been deleted, does not match the filters, or is removed from the application's assigned users, the corresponding user in Deepser will be disabled.
User FilterIf provisioning provider is Azure, write filters in query string format, e.g.: $filter=surname eq 'Foo', $filter=jobTitle eq null, $filter=userPrincipalName in ("Foo","Bar"), $search="surname:Foo". For documentation, see Microsoft Graph documentation.
User Group FilterOnly provision users who are members of these specific groups. Groups are filtered by the field specified in Group Name Attribute.
Group Name AttributeSpecify which group data attribute will be used as the group name. This is also the attribute used for filtering in the User Group Filter and Group Filter. If no value is provided, Azure provisioning uses displayName by default.
Group Provisioning ModeSelect the way in which groups will be synchronized. Required for Azure provisioning provider.
Group Provisioning EnabledIf toggled on, groups will also be synchronized.