Slack Integration with AuthPoint

Deployment Overview

This document describes how to set up multi-factor authentication (MFA) for Slack with AuthPoint as an identity provider. Slack must already be deployed before you set up MFA with AuthPoint.

Slack can be configured to support MFA in several modes. For this integration, we set up SAML with AuthPoint.

Slack Authentication Data Flow with AuthPoint

AuthPoint communicates with various cloud-based services and service providers with the SAML protocol. This diagram shows the data flow of an MFA transaction for Slack .

The topology diagram

Before You Begin

Before you begin these procedures, make sure that:

Configure Slack

To start, you must download the metadata file from the Resources page in the AuthPoint management UI. After you have the metadata file, you can configure Slack.

To configure Slack:

  1. Log in to WatchGuard Cloud.
  2. From the navigation menu, select Configure > AuthPoint. If you have a Service Provider account, you must select an account from Account Manager.
  3. Select Resources.
  4. Click Certificate.

Resources page in WatchGuard Cloud

  1. Next to the AuthPoint certificate you will associate with your resource, click and select Download Metadata. We recommend that you select the certificate with the latest expiration date.

    The AuthPoint metadata provides your resource, in this case Slack, with information necessary to identify AuthPoint as a trusted identity provider.

Certificate page in WatchGuard Cloud

  1. Log in to your Slack workspace and select Administration > Workspace settings.
  2. Click Menu.

Workspace Administration page in Slack

  1. In the Administration section, click Authentication.
  2. In the Configure SAML Authentication section, enable Configure.
  3. Open the AuthPoint metadata file you downloaded and find the SingleSignOnService LocationentityID, and X509Certificate values.
  4. In the SAML 2.0 Endpoint (HTTP) text box, type the SingleSignOnService Location value from the AuthPoint metadata file you downloaded.
  5. In the Identity Provider Issuer text box, type the entityID value from the AuthPoint metadata file.
  6. In the Public Certificate text box, type the X509Certificate value from the AuthPoint metadata file.

Configure SAML Authentication

Configure SAML Authentication

  1. Click Save Configuration. We recommend that you complete the steps to configure AuthPoint in the next section before you save your Slack configuration.

Configure AuthPoint

Before AuthPoint can receive authentication requests from Slack, you must specify the Slack client as a SAML resource in AuthPoint. You must also assign an access policy for the Slack resource to the user group(s) that must authenticate to log in.

Add a SAML Resource in AuthPoint

From the AuthPoint management UI:

  1. From the navigation menu, select Resources.
  2. From the Choose a Resource Type drop-down list, select SAML. Click Add Resource.

  1. On the SAML page, in the Name text box, type a name for this resource.
  2. From the Application Type drop-down list, select Slack.
  3. In the Service Provider Entity ID text box, type
  4. In the Assertion Consumer Service text box, type https://<yourdomain>
  5. From the User ID sent on redirection to service provider drop-down list, select Email.
  6. From the Signature Method drop-down list, select SHA-256.
  7. From the AuthPoint Certificate drop-down list, select the certificate to associate with your resource. This must be the same certificate that you downloaded the metadata for in the previous section.
  8. Click Save.

Add an Access Policy to AuthPoint

You must have at least one user group in AuthPoint for authentication with Slack, and you must assign an access policy for the Slack resource to that group. If you already have a group, you do not have to add another group.

In the AuthPoint management UI:

  1. From the navigation menu, select Groups.
  2. To add a new group, click Add Group. If you already have a group that you want to use, select the group to edit it.

  1. In the Name text box, type a descriptive name for the group.
  2. (Optional) In the Description text box, type a description of the group.

  1. In the Access Policy section, click Add Policy.

  1. In the Add Policy dialog box, from the Resource drop-down list, select the resource you want to add an access policy for.
  2. (Optional) To require that users type their password before they authenticate for this resource, enable the Require Password Authentication toggle.
  3. Select the authentication options that users in this group can select from when they authenticate.

    For SAML resources, if you select more than one authentication option, users must select one of the available options when they authenticate. For example, if you select OTP and Push, users can choose to type their OTP or approve a push to authenticate. You cannot require that they do both.

  1. Click Add.

  1. (Optional) Add one or more safe locations to your group. For more information about safe locations and detailed instructions to add them, see About Safe Locations.
  2. Click Save.

Add Users to AuthPoint

Before you assign users to a group, you must add the users to AuthPoint. There are two ways to add AuthPoint user accounts:

  • Sync users from an external user database
  • Add local AuthPoint users

Each user must be a member of a group. You must add at least one group before you can add users to AuthPoint.

Test the Integration

To test AuthPoint MFA with Slack, you can authenticate with a mobile token on your mobile device. For SAML resources, you can select any method (push, QR code, or one-time password).

In this example, we show the push authentication method (users receive a push notification in the mobile app that they must approve to authenticate).

To test the integration:

  1. In a web browser, go to your Slack home page.
  2. Click Sign in with <your workspace>.
  3. Type your email address or AuthPoint user name. Click Next.
  4. If required, in the Password text box, type your password.
  5. Click Send Push.
  6. Approve the authentication request that you receive on your mobile device.
    You are logged in to Slack.