/auth0-cli

Build, manage and test your Auth0 integrations from the command line

Primary LanguageGoMIT LicenseMIT

Auth0 CLI

GoDoc Go Report Card Release Codecov License Build Status


Build, manage and test your Auth0 integrations from the command line.

demo

Highlights

  • 🧪 Test your universal login flow: Emulate your end users' login experience by running auth0 test login.
  • 🔍 Troubleshoot in real-time: Inspect the events of your Auth0 integration as they happen with the auth0 logs tail command.
  • 🔁 Simplify repetitive tasks: Create, update, list and delete your Auth0 resources directly from the terminal.

Table of Contents

Installation

Linux and macOS

Install via Homebrew:

brew tap auth0/auth0-cli && brew install auth0

Install via cURL:

  1. Download the binary. It will be placed in ./auth0:
curl -sSfL https://raw.githubusercontent.com/auth0/auth0-cli/main/install.sh | sh -s -- -b .
  1. Optionally, if you want to be able to run the binary from any directory, make sure you move it to a place in your $PATH:
sudo mv ./auth0 /usr/local/bin

Tip

On macOS, depending on the state of your current development environment you may have to first create the directory with sudo mkdir -p /usr/local/bin in order for the above command to work. Alternatively, you can move it to a directory of your choice and then add that directory to your $PATH instead.

Windows

Install via Scoop:

scoop bucket add auth0 https://github.com/auth0/scoop-auth0-cli.git
scoop install auth0

Install via Powershell:

  1. Fetch latest release information with the following commands:
$latestRelease = Invoke-RestMethod -Uri "https://api.github.com/repos/auth0/auth0-cli/releases/latest"
$latestVersion = $latestRelease.tag_name
$version = $latestVersion -replace "^v"
  1. Download the binary to the current folder:
Invoke-WebRequest -Uri "https://github.com/auth0/auth0-cli/releases/download/${latestVersion}/auth0-cli_${version}_Windows_x86_64.zip" -OutFile ".\auth0.zip"
Expand-Archive ".\auth0.zip" .\
  1. To be able to run the binary from any directory, make sure you add it to your $PATH. This can be done through Powershell by entering the following command:
[System.Environment]::SetEnvironmentVariable('PATH', $Env:PATH + ";${pwd}")

Alternatively, follow the instructions in the Manual section below. Learn more about environment variables in Powershell

Go

Install via Go:

# Make sure your $GOPATH/bin is exported on your $PATH
# to be able to run the binary from any directory.
go install github.com/auth0/auth0-cli/cmd/auth0@latest

Manual

  1. Download the appropriate binary for your environment from the latest release

  2. Extract the archive

    • macOS: $ tar -xf auth0-cli_{version}_Darwin_{architecture}.tar.gz
    • Linux: $ tar -xf auth0-cli_{version}_Linux_{architecture}.tar.gz
    • Windows: Extract auth0-cli_{version}_Windows_{architecture}.zip using your preferred method for working with compressed files.
  3. Make sure that the PATH and HOME environment variables include the folder where the binary was extracted.

    • macOS/Linux:

      1. Open your shell configuration file (for example, ~/.bashrc for bash, ~/.zshrc for zsh) and ensure the following variables PATH and HOME are set correctly:
      export PATH=$PATH:/path/to/extracted/auth0/cli/folder
      export HOME=/path/to/home/directory
      1. After editing the file, run source ~/.bashrc or source ~/.zshrc (depending on your shell) to apply the changes.
    • Windows:

      1. Open the Start Menu, search for "Environment Variables", and select "Edit the system environment variables".
      2. In the System Properties window, click on the "Environment Variables" button.
      3. Under "User variables", select Path and click "Edit". Add the path to the directory where you extracted the auth0.exe file.
      4. Click 'OK' to close the Edit environment variable dialog and return to the Environment Variables dialog.
      5. Click "New" to add a new HOME variable, and set it to your home directory path.
      6. Click "OK" to apply the changes.
      7. Close any existing Powershell or Command Prompt windows, and re-open your terminal in order to load the new environment variables you've just finished creating.
  4. Run auth0

Tip

Autocompletion instructions for supported platforms available by running auth0 completion -h

Authenticating to Your Tenant

Authenticating to your Auth0 tenant is required for most functions of the CLI. It can be initiated by running:

auth0 login

There are two ways to authenticate:

  • As a user - Recommended when invoking on a personal machine or other interactive environment. Facilitated by device authorization flow.
  • As a machine - Recommended when running on a server or non-interactive environments (ex: CI). Facilitated by client credentials flow. Flags available for bypassing interactive shell.

Warning Authenticating as a user is not supported for private cloud tenants. Instead, those users should authenticate with client credentials.

Available Commands

Customization

To change the text editor used for editing templates, rules, and actions, set the environment variable EDITOR to your preferred editor. If choosing a non-terminal editor, ensure that the command starts the editor and waits for the files to be closed before returning.

Examples:

# Uses vscode with the --wait flag.
export EDITOR="code --wait"

# Uses sublime text with the --wait flag.
export EDITOR="subl --wait"

# Uses nano, a terminal based editor.
export EDITOR="nano"

# Uses vim, a terminal based editor.
export EDITOR="vim"

Anonymized Analytics Disclosure

Anonymized data points are collected during the use of this CLI. This data includes the CLI version, operating system, timestamp, and other technical details that do not personally identify you.

Auth0 uses this data to better understand the usage of this tool to prioritize the features, enhancements and fixes that matter most to our users.

To opt-out of this collection, set the AUTH0_CLI_ANALYTICS environment variable to false.

Feedback

Contributing

We appreciate feedback and contribution to this repo! Before you get started, please see the following:

Raise an issue

To provide feedback or report a bug, please raise an issue on our issue tracker.

Vulnerability Reporting

Please do not report security vulnerabilities on the public GitHub issue tracker. The Responsible Disclosure Program details the procedure for disclosing security issues.


Auth0 Logo

Auth0 is an easy to implement, adaptable authentication and authorization platform. To learn more checkout Why Auth0?

This project is licensed under the MIT license. See the LICENSE file for more info.