Auth0
Auth0 is a flexible, drop-in solution to add authentication and authorization services to your applications
The Auth0 Wrapper allows you to read data from your Auth0 tenant for use within your Postgres database.
Preparation
Before you can query Auth0, you need to enable the Wrappers extension and store your credentials in Postgres.
Enable Wrappers
Make sure the wrappers
extension is installed on your database:
1 |
|
Enable the Auth0 Wrapper
Enable the auth0_wrapper
FDW:
1 2 3 |
|
Store your credentials (optional)
By default, Postgres stores FDW credentials inside pg_catalog.pg_foreign_server
in plain text. Anyone with access to this table will be able to view these credentials. Wrappers is designed to work with Vault, which provides an additional level of security for storing credentials. We recommend using Vault to store your credentials.
1 2 3 4 5 6 7 |
|
Connecting to Auth0
We need to provide Postgres with the credentials to connect to Auth0, and any additional options. We can do this using the create server
command:
1 2 3 4 5 |
|
1 2 3 4 5 6 7 |
|
Create a schema
We recommend creating a schema to hold all the foreign tables:
1 |
|
Entities
The Auth0 Wrapper supports data reads from Auth0 API.
Users
The Auth0 Wrapper supports data reads from Auth0's Management API List users endpoint endpoint (read only).
Operations
Object | Select | Insert | Update | Delete | Truncate |
---|---|---|---|---|---|
Users | ✅ | ❌ | ❌ | ❌ | ❌ |
Usage
1 2 3 4 5 6 7 8 |
|
Notes
- Currently only supports the
users
object
Query Pushdown Support
This FDW doesn't support query pushdown.
Limitations
This section describes important limitations and considerations when using this FDW:
- No query pushdown support, all filtering must be done locally
- Large result sets may experience slower performance due to full data transfer requirement
- Only supports the
users
object from Auth0 Management API - Cannot modify Auth0 user properties via FDW
- Materialized views using these foreign tables may fail during logical backups
Examples
Basic Auth0 Users Query
This example demonstrates querying Auth0 users data.
1 2 3 4 5 6 7 8 9 10 |
|
You can now fetch your Auth0 data from within your Postgres database:
1 |
|