Two-Factor Authentication (2FA/MFA) for Slack
Slack 2FA solution by miniOrange adds an additional layer of security to your Slack Login. With Slack 2FA being enabled, anyone trying to log
in to your Slack account needs to pass two authentication factors to get access. Slack 2FA authentication starts with a user submitting his traditional username
and password. Once the user successfully gets authenticated with the 1st step verification, configured 2FA (OTP over SMS, Push Notifications, YubiKey, TOTP, Google Authenticator, etc)
method prompts for 2nd-step verification. A user who successfully completes both steps of authentication is given access to the Slack account. Enabling 2FA will stop someone from using the Slack account even if cyber attackers get your login information.
Get Free Installation Help
miniOrange offers free help through a consultation call with our System Engineers to Install or Setup Slack MFA solution in your environment with 30-day free trial.
For this, you need to just send us an email at idpsupport@xecurify.com to book a slot and we'll help you in no time.
miniOrange provides 15+ 2FA methods and solutions for various use cases. Organizations can set up specific authentication and configuration options in addition to security, including
- Role-Based 2FA
- Password restrictions
- Restrict sign-in methods
- Passwordless Authentication
- Offline 2FA Support
Connect with External Source of Users
miniOrange provides user authentication from various external sources, which can be Directories (like ADFS, Microsoft Active Directory, OpenLDAP, AWS etc), Identity Providers (like Microsoft Entra ID, Okta, AWS), and many more. You can configure your existing directory/user store or add users in miniOrange.
miniOrange
Authenticator App
Google
Authenticator App
Authy 2-Factor
Authentication App
Microsoft
Authenticator App
Follow the Step-by-Step Guide given below for Slack Single Sign-On (SSO)
1. Configure Slack in miniOrange
- Login into miniOrange Admin Console.
- Go to Apps and click on Add Application button.

- In Choose Application, select SAML/WS-FED from the application type dropdown.

- Search for Slack in the list, if you don't find Slack in the list then, search for custom and you can set up your application in Custom SAML App.

- Get the SP Entity ID or Issuer from the metadata. You will find the value in the first line against entityID.
- SP Entity:
https://slack.com
Make sure the ACS URL is in the format: .
https://[Your-Domian].slack.com/sso/saml
Enable Sign Assertion as shown in the image below.
Click Next, now in the Attribute Mapping configure the following attributes as shown in the image below.
Add attribute email and select E-mail Address from the dropdown
Go to the Login Policy and select DEFAULT from the Group Name dropdown.
Now enter the Slack in the Policy Name field.
Select PASSWORD from the First Factor Type dropdown.
Click on Save to configure Slack.
Click on Metadata to get metadata details, which will be required later. Click on Show SSO Link to see the IDP initiated SSO link for Slack.
Here you will see 2 options, if you are setting up miniOrange as IDP copy the metadetails related to miniOrange, if you required to be authenticated via external IDP's(okta,AZURE AD, ADFS, ONELOGIN, GOOGLE APPS) you can get metadata from the 2nd Section as shown below.
Keep SAML Login URL , SAML Logout URL and click on the Download Certificate button to download certificate which you will require in Step 2.
2. Configure SSO in Slack
- Login to Slack as the system administrator.
- Select Settings & administration from the menu, then click Workspace settings.

- Click the Authentication tab.
- Next to SAML authentication, click Configure.

- In the top right, toggle Test mode on.
- Next to SAML SSO URL, enter your SAML 2.0 endpoint URL(HTTP) :
https://yourdomain.slack.com/sso/saml/logout
- Next to Identity provider issuer, enter your IDP entity ID.
- Copy the entire x.509 certificate from your identity provider and paste it into the Public certificate field.
- Enter the following to configure the app.
- SAML 2.0 Endpoint (HTTP): Copy and paste the following from Step 1.
- Next to Advanced options, click Expand. Choose how the SAML response from your IDP is signed. If you need an end-to-end encryption key, tick the box next to Sign AuthnRequest to show the certificate.
- Under Settings, decide if members can edit their profile information (like their email or display name) after SSO is enabled. You can also choose whether SSO is required, partially required or optional.
- Under Customize, enter a Sign-in button label.
- Select Save configuration to finish.
- Login to Slack as the system administrator.
- Select Settings & administration from the menu, then click Organization settings.
- From the left sidebar, click Security.
- Click SSO settings.
- Enter your SSO name.
- Enter your SAML 2.0 endpoint URL (this came from setting up your connector earlier.) This is where authentication requests from Slack will be sent.
- Enter your Identity provider issuer URL (also known as the entity ID).
- The Service provider issuer URL is set to https://slack.com by default. This field should match what you've set in your IDP.
- Copy the entire x.509 certificate from your identity provider.
- Choose whether the SAML responses and assertions are signed. If you require an end-to-end encryption key for your IDP, tick the box next to Sign AuthnRequest to show the certificate. You can also select your preference for AuthnContextClassRef values.
- Click Test configuration. Slack will let you know if the changes are successful or whether you need to make further changes.
- When you're ready, click Turn on SSO or Add SSO.
For troubleshooting regarding any errors faced during setup, you can check the troubleshooting section here.
3. Configure 2FA for Slack
3.1: Enable 2FA for Users of Slack app
- To enable 2FA for Users of Slack application. Go to Policies >> App Login Policy
- Click on Edit icon against the application you have configured.

- Check the Enable 2-Factor Authentication (MFA) option.

- Click on Submit.
3.2: Configure 2FA for your Endusers
- To enable 2FA/MFA for endusers, go to 2-Factor Authentication >> 2FA Options For EndUsers.
- Select default Two-Factor authentication method for end users. Also, you can select particular 2FA methods, which you want to show on the end users dashboard.
- Once Done with the settings, click on Save to configure your 2FA settings.

3.3: Enduser 2FA Setup
- Login to End-User Dashboard using end user login URL.
- For Cloud Version: The login URL (branding url) which you have set.
- For On-Premise version: The login URL will be the same as of Admin Login URL.
- Select Setup 2FA from left panel. Then select any of the 2FA method available.
- For now, we have selected the SMS >> OTP OVER SMS as our 2FA method. You can explore the guide to setup other 2FA methods here.
- Enable the OTP over SMS if you have your phone number added under your account information else click on Edit >> Click here to update your phone number link.

- In Account Information, click on edit icon.

- Select your country code, enter your mobile number, and click Send OTP.

- Enter the OTP sent to your phone and click Validate.

- After adding your phone number, turn on the toggle to activate OTP over SMS.

- Now Enable 2 Factor Authentication toggle if not done before as shown below.

4. Test Slack 2FA
5. Adaptive Authentication with Slack
A. Restricting access to Slack with IP Configuration
You can use adaptive authentication with Slack Single Sign-On (SSO) to improve the security and functionality of Single Sign-On. You can allow a IP Address in certain range for SSO or you can deny it based your requirements and you can also challenge the user to verify his authenticity. Adaptive authentication manages the user authentication bases on different factors such as Device ID, Location, Time of Access, IP Address and many more.
You can configure Adaptive Authentication with IP Blocking in following way :
- Login to Self Service Console >> Adaptive Authentication >> Add Policy.

- Add a Policy Name for your Adative Authentication Policy.
- Select Action for Behavior Change, click the Edit link, and then choose the appropriate Action and Challenge Type for the user from that section.

Action for behavior Change Options :
| Attribute |
Description |
| Allow |
Allow users to authenticate and use services if Adaptive authentication condition is true. |
| Challenge |
Deny user authentications and access to services if Adaptive authentication condition is true. |
| Deny |
Challenge users with one of the three methods mentioned below for verifying user authenticity. |
Challenge Type Options :
| Attribute |
Description |
| User second Factor |
The User needs to authenticate using the second factor he has opted or assigned for such as
- OTP over SMS
- PUSH Notification
- OTP over Email and, many more.
|
| KBA (Knowledge-based authentication) |
The System will ask the user for 2 of 3 questions he has configured in his Self-Service Console. Only after the right answer to both questions is the user allowed to proceed further. |
| OTP over Alternate Email |
User will receive an OTP on the alternate email they have configured through the Self Service Console. Once the user provides the correct OTP, they are allowed to proceed further. |
- Now click Edit option from the IP Configuration section to configure custom IP range.
- Select Add IP if the User's IP Address is not in the configured list.
- Specify the IP Address that you want to whitelist. For the IP Range other than the whitelisted one, you can select the above setting to reflect.
- Choose either allow or deny by selecting the corresponding option from the dropdown.
- If a user tries to login with the whitelisted IP address, they will always be allowed access.
- We support IP address range in three formats i.e., IPv4, IPv4 CIDR, and IPv6 CIDR. You can choose whichever is suitable for you from the dropdown menu.
- You can add multiple IPs or IP ranges by clicking the + Add IP button.

- Once the changes are made, scroll down to the end and click on Save.
B. Adaptive Authentication with Limiting number of devices
Using Adaptive Authentication you can also restrict the number of devices the end user can access the Services on. You can allow end users to access services on a fixed no. of devices. The end users will be able to access services provided by us on this fixed no. of devices.
You can configure Adaptive Authentication with Device Restriction in following way
- Login to Self Service Console >> Adaptive Authentication >> Add Policy.
- Add a Policy Name for your Adaptive Authentication Policy.
- Select your Action for behavior Change and Challenge Type for user from the Action for behavior Change Section.

- On the Add Policy tab, go to the Device Configuration section and click the Edit button.
- Enter the Number of Device Registrations Allowed as per your requirement. (2-3 devices are recommended.)
- Choose Action if number of devices exceeded (This will override your setting for Action for behavior Change.)
- Challenge: The user needs to verify himself using any of the three methods mentioned in table in step 5.1
- Deny : Deny users access to the system
- Enable Mobile Device Restriction to block logins from mobile devices. This ensures all login attempts from mobile devices will be declined.
- Enable MAC Address Based Restriction if you want to restrict access based on device MAC address.

- Scroll down to the bottom of the page and click on Save.
C. Add Adaptive Authentication policy to Slack
- Login to Self Service Console >> Policies >> Add Login Policy.
- Click on Edit icon option for predefined app policy.

- Set your policy in the Policy Name and select Password as First Factor.
- Enable Adaptive Authentication on Edit Login Policy page and select the required restriction method as an option.
- From Select Login Policy dropdown select the policy we created in last step and click on Submit.


D. Notification and Alert Message.
How to add a trusted Device
- When End-user log in to the self service console after the policy for device restriction is on, he is provided the option to add the current device as a trusted device.
External References