In this document, we'll show you how to use Slack as an Identity provider for Paralus. This will allow your users to login via Slack and access Paralus. Below is the list of items that we will cover in this document:
Creating a Slack SSO Application
Login to your Slack account and Create a new Slack App. Choose a workspace that will be associated with your app.
Leave the Application Redirect URL empty for now and create the application.
Note down the
client-secret as those will be required to configure identity provider for Paralus.
You also need to configure the scopes for your Slack application. Navigate to
Features -> OAuth & Permissions and add
identity.email as scopes.
Note: Ensure that you add scopes for User Token Scopes & not Bot Token Scopes.
Adding an Identity Provider to Paralus
Login to your Paralus dashboard and navigate to
System -> Identity Providers and click on New Identity Provider
Provide the name of the identity provider and choose IdP type as
Slack from the drop down.
For client identifier & secret, provide the
client-secret of the Slack app created earlier.
Under Scopes provide
identity.email as scopes
For Issuer URL, provide this url:
Click Save & Continue.
From the next screen copy the
Callback URL and paste it in the redirect URL for the Slack OAuth app created in the earlier step.
On the Mapper Configuration screen, provide
https://raw.githubusercontent.com/paralus/paralus/main/_kratos/oidc-mappers/slack.jsonnet as the mapper url. Click Save & Exit.
At this point, you have successfully added Slack as an identity provider for Paralus.
Verify Login with Slack
To confirm if the setup was correct, logout from Paralus.
On the login screen, you should now see a
Sign In With Slack button. Click on it to begin the login process using Slack.
Enter your Slack credentials and login to Slack. Allow the application to access the respective permissions/scopes and sign in.
Once authenticated, you'll be redirected to Paralus dashboard.
Congratulations! You've successfully configured Slack as an identity provider for Paralus.