Git Product home page Git Product logo

auth0-slack-mfa's Introduction

Auth0 Slack MFA Extension

The Slack MFA Extension will send Slack messages containing a magic link to your users. Once the user clicks the magic link they will complete their login process.

Installation

Getting a Slack API Token

This key is used to send direct messages to members of your Slack Team. To acquire and API token you must create a new custom bot user or using an existing one. It is better to setup a specific bot for this activity. The MFA magic links will be sent to you users on behalf of the bot.

Installing the extension

Go to the Extensions tab of the dashboard.

Click CREATE EXTENSION and install the extension from this repository: https://github.com/auth0-extensions/auth0-slack-mfa

Finally enter your Box and Auth0 settings:

  • SLACK_API_TOKEN: Your teams Slack API Key
  • MONGO_CONNECTION_STRING: The connection string for you MongoDB instance.

The extension will setup a mongo collection

The Slack MFA extension utilizes MongoDB to store a whitelist of valid JWT's. Each JWT is a onetime use token that is revoked after it is used. This extension will automatically setup a mongo collection for managing these tokens. It will..

  • Create a collection named: Token
  • Create a unique index for _id (this should exist by default):
{
  "v": 1,
  "key": {
    "_id": 1
  },
  "name": "_id_",
  "ns": "<db-name>.Token"
}
  • Create a TTL Index for the collection:
{
  "v": 1,
  "key": {
    "issued": 1
  },
  "name": "token-cleanse",
  "ns": "<db-name>.Token",
  "background": true,
  "expireAfterSeconds": 300
}

TODO:

  • Script out the creation of a mongodb collection and ttl index.
  • Get assets for logos.
  • Deploy assets to cdn so help screen is useful
  • Pull rule's configuration from the extension API instead of hard coding it.

auth0-slack-mfa's People

Contributors

sgmeyer avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.