Integrating OneLogin SAML with Edge Delta

OneLogin SAML integration for the Edge Delta web application.

Overview

The Edge Delta web app offers OneLogin SAML integration. This allows users who are registered with OneLogin to use their existing OneLogin identity to log into Edge Delta.

Before users can log in with OneLogin, an administrator needs to add a custom application connector for the Edge Delta app in OneLogin, and configure Edge Delta with the OneLogin connector details.

Edge Delta supports both identity provider (IDP) and service provider (SP) initiated login workflows. The IDP workflow logs in a user from the IDP dashboard, whereas the SP workflow logs a user in from the Edge Delta login page.

1. Create an Application Connector

  1. Open OneLogin and click Applications - Applications.
  2. Click Add App.
  3. Search for and select SAML Custom Connector (Advanced).
  4. Name the application listing ED SAML Custom Connector (Advanced), optionally add an icon, and click Save.
  5. Open the Configuration page and enter the following details:
  • RelayState: https://app.edgedelta.com/saml
  • Audience: https://api.edgedelta.com/saml/metadata
  • Recipient: https://api.edgedelta.com/saml/acs
  • ACS (Consumer) URL Validator: ^https:\/\/api\.edgedelta\.com\/saml\/acs$
  • ACS (Consumer) URL: https://api.edgedelta.com/saml/acs

If the SP (Service Provider) initiated flow is used RelayState can be empty.

  1. Open the Parameters page and ensure the following configuration is set:
  • SAML Custom Connector (Advanced) Field: NameID Value
  • Value: Email
  1. Open the SSO page and select SHA-256 for the SAML Signature Algorithm.
  2. Click Save.
  3. Copy the Issuer URL, this will be used in a later step as the IDP Metadata URL.

2. Create Users

  1. In OneLogin, click Users and create any users that will need to access Edge Delta if they don’t already exist.
  2. Open each user and select the Applications tab.
  3. Click Add + and select the ED SAML Connector (Advanced) application.
  4. Click Continue.

3. Create Groups (Optional)

Optionally, configure attribute mapping if group attributes are required in the assertion response, for example, to enable JIT permissions provisioning:

  1. In OneLogin, on the Users page, add or select a user attribute to be used for grouping, such as MemberOf.
  2. In the Applications page, on the Parameters tab add a groups field and specify the user attribute.
  3. Select the Include in SAML assertion checkbox and click Save.

4. Configure Edge Delta

  1. Log on to the Edge Delta App with an administrator account.
  2. Click Admin - My Organization.
  3. In the Organization section, click Edit.
  4. In the Approved Domains field, enter the domains of the email addresses authorized to join the organization. You specify a domain and press Enter before entering the next domain.
  5. Click Save.
  6. In the SAML Settings section, click Edit.
  7. If you are using a Service Provider Initiated login workflow, you must enter the domain of the email addresses of authorized users from step 4. You can enter a comma separated list of different domains.
  8. Select Metadata URL, and then paste the IDP Metadata URL you copied earlier.
  9. For Metadata URL Verification, select Enabled.
  10. Optionally, select Enforcement - Require Authentication Via SAML To Access This Organization. This disables the ability to log in to Edge Delta with a user name and password for normal users. They must use the IDP to log in. However, Edge Delta admin account holders can still log in with their username and password on the Edge Delta login page.
  11. Optionally, select JIT Provisioning - Enable JIT User Provisioning And Dynamic Group Membership For This Organization. Enter a Group Attribute Mapping Field and a Default Group. The field name is groups by default but it is configurable. It should match the SAML attribute name sent by IDP.
  12. Click Save.

Just in Time (JIT) provisioning determines the group configured for the user in the IDP based on the Group Attribute Mapping Field and it assigns users to an existing Edge Delta permissions group with the same name.

<saml:Attribute 
   NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"
   Name="groups">
   <saml:AttributeValue
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:type="xs:string">custom_admin
   </saml:AttributeValue>
   <saml:AttributeValue
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:type="xs:string">custom_super_admin
   </saml:AttributeValue>
</saml:Attribute>

In this example of an IDP’s SAML group assertion, the groups values are custom_admin and super_custom_admin. The user will be added to an Edge Delta group called custom_admin if it exists in Edge Delta and it will also be added to the super_custom_admin group if it exists. When there is more than one group, the user will have the most permissive permissions of the groups they belong to.

If no IDP group is detected, or if the asserted group does not match an existing Edge Delta group, the user is added to the default group. When the user logs out, they are removed from the Edge Delta group.

Removing Admin Permissions

To remove regular permissions from a user when JIT is enabled, simply remove them from the permissions group in your IDP. However, to remove admin permissions from a user, you must remove them using the IDP and also remove them from the Admin group in Edge Delta. This helps prevent accidental account lockout. To remove an admin user:

  1. Remove admin permissions from the user in the IDP (if JIT is enabled.)
  2. In the Edge Delta app, click Admin - My Organization.
  3. Click Groups.
  4. Click the Actions column button in the Admin row and select Edit User Group.
  5. Click Group Members.
  6. Click the Delete button on the user you want to remove from the Admin group.