tap-auth0
is a Singer tap for Auth0.
Built with the Meltano Tap SDK for Singer Taps.
tap-auth0
extracts raw data from the Auth0 Management API for the following resources:
# pip
pip install git+https://github.com/Matatika/tap-auth0
# pipx
pipx install git+https://github.com/Matatika/tap-auth0
# poetry
poetry add git+https://github.com/Matatika/tap-auth0
Name | Required | Default | Description |
---|---|---|---|
client_id |
Yes | Your tap-auth0 M2M application client ID |
|
client_secret |
Yes | Your tap-auth0 M2M application client secret |
|
domain |
Yes | Your Auth0 tenant domain in the format <TENANT_NAME>.<REGION_IDENTIFIER>.auth0.com |
|
job_poll_interval_ms |
No | 2000 |
The interval in milliseconds between requests made to get a job when polling for a non-pending status |
job_poll_max_count |
No | 10 |
The number of requests made to get a job when polling for a non-pending status |
A full list of supported settings and capabilities for this tap is available by running:
tap-auth0 --about
Before using tap-auth0
, you will need to create a M2M application from your Auth0 Dashboard. We recommend restricting your use of this application to tap-auth0
only.
Your tap-auth0
M2M application will need authorized access to the Auth0 Management API for your tenant, as well as a number of scopes.
Your tap-auth0
M2M application will need to have certain scopes set to allow tap-auth0
to access specific Auth0 resource data.
All non-
read:
scopes can be disregarded, astap-auth0
will only ever 'read' data
The available scopes differ depending on the type of Auth0 resource (relevant to tap-auth0
):
If a required scope is not set for your tap-auth0
M2M application, tap-auth0
will encounter a 403 Forbidden
response from the Auth0 Management API and fail. You must set all required scopes for the resources listed above.
Some scopes are not required. Setting these will allow tap-auth0
to read more specific and possibly sensitive resource data, so do this at your own risk.
You can easily run tap-auth0
by itself or in a pipeline using Meltano.
tap-auth0 --version
tap-auth0 --help
tap-auth0 --config CONFIG --discover > ./catalog.json
pipx install poetry
make init
Identify lint issues by running:
make lint
If
make init
has been run, this command will execute automatically before a commit
You can also fix lint issues automatically with:
make lint-fix
Create tests within the tap_auth0/tests
subfolder and
then run:
make test
You can also test the tap-auth0
CLI interface directly using poetry run
:
poetry run tap-auth0 --help
Testing with Meltano
Note: This tap will work in any Singer environment and does not require Meltano. Examples here are for convenience and to streamline end-to-end orchestration scenarios.
Your project comes with a custom meltano.yml
project file already created. Open the meltano.yml
and follow any "TODO" items listed in
the file.
Next, install Meltano (if you haven't already) and any needed plugins:
# Install meltano
pipx install meltano
# Initialize meltano within this directory
cd tap-auth0
meltano install
Now you can test and orchestrate using Meltano:
# Test invocation:
meltano invoke tap-auth0 --version
# OR run a test `elt` pipeline:
meltano elt tap-auth0 target-jsonl
See the dev guide for more instructions on how to use the SDK to develop your own taps and targets.