Configure Slack as an OAuth/OpenId Connect Server in Drupal

Step 1: Setup Slack as OAuth Provider

  • Go to https://api.slack.com/apps and login to your Slack account.
  • Create an app : Go to the Create App page. Click on Create an App option.
  • slack oauth provider
  • Enter App name and Development Slack Workshop. App name can be anything and by default Slack Workshop is Group but you can sign in to another workspace.
  • Click On Create App.
  • slack oauth provider
  • Here you can create your own workspace.
  • slack oauth provider
  • Copy Client ID and Client Secret.
  • slack oauth provider
  • Add Redirect URL : Go to OAuth & Permissions, enter Callback URL (copied from plugin) under Redirect URLs text field and after that click on Save URLs.
  • slack oauth provider
  • Then, scroll Down to Scopes section and add necessary scopes like so and then click on Save Changes. Most importantly, these scopes must be the same on the miniOrange OAuth Client Application Configuration page.
  • slack oauth provider

Step 2: Configure miniOrange Drupal OAuth Client module.

  • Login in your Drupal site’s admin console and click on Extend from the top navigation bar.
  • Select the Install new module option to install a new module on your Drupal site.
  • slack_sso_Drupal install module
  • Upload the downloaded zip file of the Module and click on the Install button to continue.
  • Select Enable newly added modules.
  • slack_sso_Drupal install module
  • Scroll down till you find miniOrange OAuth Client. Click on the checkbox next to it and click on the Install button to enable the module.
  • slack_sso_Drupal navigation bar
  • Click on Configuration from the top navigation bar and Select Drupal OAuth client Configuration.
  • slack_sso_Drupal configuration page
  • Register/Login to your miniOrange account.
  • slack_sso_Drupal register login
  • Click on the Configure OAuth Client tab and select your OAuth Provider from the Select Application dropdown. In case you do not find your OAuth Provider listed in the dropdown, please select Custom OAuth Provider and continue.
  • slack_sso_Drupal click on save
  • Enter your OAuth Provider information in their respective fields and click on the Save button to continue. Also, copy the Callback/Redirect URL and save it on your OAuth Provider.
  • slack_sso_Drupal test configuration
  • Now click on the Test Configuration option. This Test Configuration link will give you the list of the attributes that are coming from your OAuth Provider.
  • slack_sso_Drupal test configuration
  • Copy the email and the name attributes and save them under the Attribute & Role Mapping tab in the Email Attribute and Name Attribute text field respectively.
  • Please note: This step is mandatory for your login to work. Click on the Save button on the bottom of the page to save your attribute configurations.

    slack_sso_Drupal click on save
  • Now logout and go to your Drupal site’s login page, you will automatically find a Login withYour OAuth Provider link there. If you want to add your login link to other pages as well, please follow the steps given in the below image:
  • slack_sso_Drupal logout
  • If you want to check out our complete list of features and our various licensing plans, you can go to the Licensing Plan tab in the module.
  • Slack Endpoints and Scope :
  • Scope users.profile:read
    Authorize Endpoint https://slack.com/oauth/authorize
    Access Token Endpoint https://slack.com/api/oauth.access
    Get User Info Endpoint https://slack.com/api/users.profile.get
  • Still, if you are facing any difficulty or if you have any questions in mind, you can reach out to us by submitting a query in the Support tab of a module or by sending us a mail at info@xecurify.com.
  • Congratulations, you have successfully configured the miniOrange Drupal OAuth Client module.