Awesome
<div align="center"> <h1>Auth0 CLI</h1> </div>Build, manage and test your Auth0 integrations from the command line.
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:
- Download the binary. It will be placed in
./auth0
:
curl -sSfL https://raw.githubusercontent.com/auth0/auth0-cli/main/install.sh | sh -s -- -b .
- 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:
- 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"
- 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" .\
- 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
-
Download the appropriate binary for your environment from the latest release
-
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.
- macOS:
-
Make sure that the
PATH
andHOME
environment variables include the folder where the binary was extracted.-
macOS/Linux:
- Open your shell configuration file (for example, ~/.bashrc for bash, ~/.zshrc for zsh) and ensure the following variables
PATH
andHOME
are set correctly:
export PATH=$PATH:/path/to/extracted/auth0/cli/folder export HOME=/path/to/home/directory
- After editing the file, run source ~/.bashrc or source ~/.zshrc (depending on your shell) to apply the changes.
- Open your shell configuration file (for example, ~/.bashrc for bash, ~/.zshrc for zsh) and ensure the following variables
-
Windows:
- Open the Start Menu, search for "Environment Variables", and select "Edit the system environment variables".
- In the System Properties window, click on the "Environment Variables" button.
- Under "User variables", select Path and click "Edit". Add the path to the directory where you extracted the auth0.exe file.
- Click 'OK' to close the Edit environment variable dialog and return to the Environment Variables dialog.
- Click "New" to add a new HOME variable, and set it to your home directory path.
- Click "OK" to apply the changes.
- 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.
-
-
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
- auth0 actions - Manage resources for actions
- auth0 api - Makes an authenticated HTTP request to the Auth0 Management API
- auth0 apis - Manage resources for APIs
- auth0 apps - Manage resources for applications
- auth0 completion - Setup autocomplete features for this CLI on your terminal
- auth0 domains - Manage custom domains
- auth0 email - Manage email settings
- auth0 login - Authenticate the Auth0 CLI
- auth0 logout - Log out of a tenant's session
- auth0 logs - View tenant logs
- auth0 orgs - Manage resources for organizations
- auth0 protection - Manage resources for attack protection
- auth0 quickstarts - Quickstart support for getting bootstrapped
- auth0 roles - Manage resources for roles
- auth0 rules - Manage resources for rules
- auth0 tenants - Manage configured tenants
- auth0 test - Try your Universal Login box or get a token
- auth0 terraform generate - Generate terraform configuration for your Auth0 Tenant
- auth0 universal-login - Manage the Universal Login experience
- auth0 users - Manage resources for users
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:
- Auth0's general contribution guidelines
- Auth0's code of conduct guidelines
- This repo's contribution guide
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.
<p align="center"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://cdn.auth0.com/website/sdks/logos/auth0_light_mode.png" width="150"> <source media="(prefers-color-scheme: dark)" srcset="https://cdn.auth0.com/website/sdks/logos//auth0_dark_mode.png" width="150"> <img alt="Auth0 Logo" src="https://cdn.auth0.com/website/sdks/logos/auth0_light_mode.png" width="150"> </picture> </p> <p align="center">Auth0 is an easy to implement, adaptable authentication and authorization platform. To learn more checkout <a href="https://auth0.com/why-auth0">Why Auth0?</a></p> <p align="center"> This project is licensed under the MIT license. See the <a href="https://github.com/auth0/auth0-cli/blob/main/LICENSE"> LICENSE</a> file for more info.</p>