n8n-nodes-auth0 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +46 -0
- package/README.md +414 -0
- package/dist/credentials/Auth0ManagementApi.credentials.d.ts +10 -0
- package/dist/credentials/Auth0ManagementApi.credentials.d.ts.map +1 -0
- package/dist/credentials/Auth0ManagementApi.credentials.js +69 -0
- package/dist/credentials/Auth0ManagementApi.credentials.js.map +1 -0
- package/dist/nodes/Auth0/Auth0.node.d.ts +6 -0
- package/dist/nodes/Auth0/Auth0.node.d.ts.map +1 -0
- package/dist/nodes/Auth0/Auth0.node.js +192 -0
- package/dist/nodes/Auth0/Auth0.node.js.map +1 -0
- package/dist/nodes/Auth0/Auth0Trigger.node.d.ts +13 -0
- package/dist/nodes/Auth0/Auth0Trigger.node.d.ts.map +1 -0
- package/dist/nodes/Auth0/Auth0Trigger.node.js +254 -0
- package/dist/nodes/Auth0/Auth0Trigger.node.js.map +1 -0
- package/dist/nodes/Auth0/actions/action/action.description.d.ts +4 -0
- package/dist/nodes/Auth0/actions/action/action.description.d.ts.map +1 -0
- package/dist/nodes/Auth0/actions/action/action.description.js +372 -0
- package/dist/nodes/Auth0/actions/action/action.description.js.map +1 -0
- package/dist/nodes/Auth0/actions/action/action.operations.d.ts +4 -0
- package/dist/nodes/Auth0/actions/action/action.operations.d.ts.map +1 -0
- package/dist/nodes/Auth0/actions/action/action.operations.js +130 -0
- package/dist/nodes/Auth0/actions/action/action.operations.js.map +1 -0
- package/dist/nodes/Auth0/actions/action/index.d.ts +3 -0
- package/dist/nodes/Auth0/actions/action/index.d.ts.map +1 -0
- package/dist/nodes/Auth0/actions/action/index.js +25 -0
- package/dist/nodes/Auth0/actions/action/index.js.map +1 -0
- package/dist/nodes/Auth0/actions/application/application.description.d.ts +4 -0
- package/dist/nodes/Auth0/actions/application/application.description.d.ts.map +1 -0
- package/dist/nodes/Auth0/actions/application/application.description.js +607 -0
- package/dist/nodes/Auth0/actions/application/application.description.js.map +1 -0
- package/dist/nodes/Auth0/actions/application/application.operations.d.ts +13 -0
- package/dist/nodes/Auth0/actions/application/application.operations.d.ts.map +1 -0
- package/dist/nodes/Auth0/actions/application/application.operations.js +227 -0
- package/dist/nodes/Auth0/actions/application/application.operations.js.map +1 -0
- package/dist/nodes/Auth0/actions/application/index.d.ts +3 -0
- package/dist/nodes/Auth0/actions/application/index.d.ts.map +1 -0
- package/dist/nodes/Auth0/actions/application/index.js +25 -0
- package/dist/nodes/Auth0/actions/application/index.js.map +1 -0
- package/dist/nodes/Auth0/actions/connection/connection.description.d.ts +4 -0
- package/dist/nodes/Auth0/actions/connection/connection.description.d.ts.map +1 -0
- package/dist/nodes/Auth0/actions/connection/connection.description.js +367 -0
- package/dist/nodes/Auth0/actions/connection/connection.description.js.map +1 -0
- package/dist/nodes/Auth0/actions/connection/connection.operations.d.ts +10 -0
- package/dist/nodes/Auth0/actions/connection/connection.operations.d.ts.map +1 -0
- package/dist/nodes/Auth0/actions/connection/connection.operations.js +138 -0
- package/dist/nodes/Auth0/actions/connection/connection.operations.js.map +1 -0
- package/dist/nodes/Auth0/actions/connection/index.d.ts +3 -0
- package/dist/nodes/Auth0/actions/connection/index.d.ts.map +1 -0
- package/dist/nodes/Auth0/actions/connection/index.js +25 -0
- package/dist/nodes/Auth0/actions/connection/index.js.map +1 -0
- package/dist/nodes/Auth0/actions/log/index.d.ts +3 -0
- package/dist/nodes/Auth0/actions/log/index.d.ts.map +1 -0
- package/dist/nodes/Auth0/actions/log/index.js +25 -0
- package/dist/nodes/Auth0/actions/log/index.js.map +1 -0
- package/dist/nodes/Auth0/actions/log/log.description.d.ts +4 -0
- package/dist/nodes/Auth0/actions/log/log.description.d.ts.map +1 -0
- package/dist/nodes/Auth0/actions/log/log.description.js +237 -0
- package/dist/nodes/Auth0/actions/log/log.description.js.map +1 -0
- package/dist/nodes/Auth0/actions/log/log.operations.d.ts +4 -0
- package/dist/nodes/Auth0/actions/log/log.operations.d.ts.map +1 -0
- package/dist/nodes/Auth0/actions/log/log.operations.js +80 -0
- package/dist/nodes/Auth0/actions/log/log.operations.js.map +1 -0
- package/dist/nodes/Auth0/actions/organization/index.d.ts +3 -0
- package/dist/nodes/Auth0/actions/organization/index.d.ts.map +1 -0
- package/dist/nodes/Auth0/actions/organization/index.js +25 -0
- package/dist/nodes/Auth0/actions/organization/index.js.map +1 -0
- package/dist/nodes/Auth0/actions/organization/organization.description.d.ts +4 -0
- package/dist/nodes/Auth0/actions/organization/organization.description.d.ts.map +1 -0
- package/dist/nodes/Auth0/actions/organization/organization.description.js +605 -0
- package/dist/nodes/Auth0/actions/organization/organization.description.js.map +1 -0
- package/dist/nodes/Auth0/actions/organization/organization.operations.d.ts +21 -0
- package/dist/nodes/Auth0/actions/organization/organization.operations.d.ts.map +1 -0
- package/dist/nodes/Auth0/actions/organization/organization.operations.js +301 -0
- package/dist/nodes/Auth0/actions/organization/organization.operations.js.map +1 -0
- package/dist/nodes/Auth0/actions/resourceServer/index.d.ts +3 -0
- package/dist/nodes/Auth0/actions/resourceServer/index.d.ts.map +1 -0
- package/dist/nodes/Auth0/actions/resourceServer/index.js +25 -0
- package/dist/nodes/Auth0/actions/resourceServer/index.js.map +1 -0
- package/dist/nodes/Auth0/actions/resourceServer/resourceServer.description.d.ts +4 -0
- package/dist/nodes/Auth0/actions/resourceServer/resourceServer.description.d.ts.map +1 -0
- package/dist/nodes/Auth0/actions/resourceServer/resourceServer.description.js +330 -0
- package/dist/nodes/Auth0/actions/resourceServer/resourceServer.description.js.map +1 -0
- package/dist/nodes/Auth0/actions/resourceServer/resourceServer.operations.d.ts +4 -0
- package/dist/nodes/Auth0/actions/resourceServer/resourceServer.operations.d.ts.map +1 -0
- package/dist/nodes/Auth0/actions/resourceServer/resourceServer.operations.js +119 -0
- package/dist/nodes/Auth0/actions/resourceServer/resourceServer.operations.js.map +1 -0
- package/dist/nodes/Auth0/actions/role/index.d.ts +3 -0
- package/dist/nodes/Auth0/actions/role/index.d.ts.map +1 -0
- package/dist/nodes/Auth0/actions/role/index.js +25 -0
- package/dist/nodes/Auth0/actions/role/index.js.map +1 -0
- package/dist/nodes/Auth0/actions/role/role.description.d.ts +4 -0
- package/dist/nodes/Auth0/actions/role/role.description.d.ts.map +1 -0
- package/dist/nodes/Auth0/actions/role/role.description.js +291 -0
- package/dist/nodes/Auth0/actions/role/role.description.js.map +1 -0
- package/dist/nodes/Auth0/actions/role/role.operations.d.ts +4 -0
- package/dist/nodes/Auth0/actions/role/role.operations.d.ts.map +1 -0
- package/dist/nodes/Auth0/actions/role/role.operations.js +159 -0
- package/dist/nodes/Auth0/actions/role/role.operations.js.map +1 -0
- package/dist/nodes/Auth0/actions/user/index.d.ts +3 -0
- package/dist/nodes/Auth0/actions/user/index.d.ts.map +1 -0
- package/dist/nodes/Auth0/actions/user/index.js +25 -0
- package/dist/nodes/Auth0/actions/user/index.js.map +1 -0
- package/dist/nodes/Auth0/actions/user/user.description.d.ts +4 -0
- package/dist/nodes/Auth0/actions/user/user.description.d.ts.map +1 -0
- package/dist/nodes/Auth0/actions/user/user.description.js +782 -0
- package/dist/nodes/Auth0/actions/user/user.description.js.map +1 -0
- package/dist/nodes/Auth0/actions/user/user.operations.d.ts +24 -0
- package/dist/nodes/Auth0/actions/user/user.operations.d.ts.map +1 -0
- package/dist/nodes/Auth0/actions/user/user.operations.js +370 -0
- package/dist/nodes/Auth0/actions/user/user.operations.js.map +1 -0
- package/dist/nodes/Auth0/auth0.svg +4 -0
- package/dist/nodes/Auth0/transport/auth0Api.d.ts +6 -0
- package/dist/nodes/Auth0/transport/auth0Api.d.ts.map +1 -0
- package/dist/nodes/Auth0/transport/auth0Api.js +142 -0
- package/dist/nodes/Auth0/transport/auth0Api.js.map +1 -0
- package/dist/nodes/Auth0/transport/index.d.ts +2 -0
- package/dist/nodes/Auth0/transport/index.d.ts.map +1 -0
- package/dist/nodes/Auth0/transport/index.js +24 -0
- package/dist/nodes/Auth0/transport/index.js.map +1 -0
- package/dist/nodes/Auth0/utils/helpers.d.ts +93 -0
- package/dist/nodes/Auth0/utils/helpers.d.ts.map +1 -0
- package/dist/nodes/Auth0/utils/helpers.js +241 -0
- package/dist/nodes/Auth0/utils/helpers.js.map +1 -0
- package/dist/nodes/Auth0/utils/types.d.ts +212 -0
- package/dist/nodes/Auth0/utils/types.d.ts.map +1 -0
- package/dist/nodes/Auth0/utils/types.js +9 -0
- package/dist/nodes/Auth0/utils/types.js.map +1 -0
- package/package.json +79 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
Business Source License 1.1
|
|
2
|
+
|
|
3
|
+
License text copyright (c) 2017 MariaDB Corporation Ab.
|
|
4
|
+
|
|
5
|
+
Licensor:
|
|
6
|
+
Velocity BPA, LLC
|
|
7
|
+
https://velobpa.com
|
|
8
|
+
|
|
9
|
+
Licensed Work:
|
|
10
|
+
This repository and all source code, documentation, and associated artifacts
|
|
11
|
+
contained herein, including all n8n community nodes published by Velocity BPA.
|
|
12
|
+
|
|
13
|
+
Additional Use Grant:
|
|
14
|
+
You may use, modify, and run the Licensed Work free of charge for:
|
|
15
|
+
- Personal use
|
|
16
|
+
- Educational use
|
|
17
|
+
- Research use
|
|
18
|
+
- Internal business use, provided such use does not involve resale,
|
|
19
|
+
redistribution, or offering the Licensed Work as part of a commercial
|
|
20
|
+
product or service.
|
|
21
|
+
|
|
22
|
+
Commercial Use Restriction:
|
|
23
|
+
Commercial Use of the Licensed Work is prohibited without a valid
|
|
24
|
+
Commercial License issued by the Licensor.
|
|
25
|
+
|
|
26
|
+
Commercial Use includes, but is not limited to:
|
|
27
|
+
- Use of the Licensed Work within any Software-as-a-Service (SaaS),
|
|
28
|
+
Platform-as-a-Service (PaaS), or hosted application that is sold,
|
|
29
|
+
licensed, or monetized in any form
|
|
30
|
+
- Offering the Licensed Work as part of a managed services engagement
|
|
31
|
+
- Bundling or redistributing the Licensed Work with a paid product
|
|
32
|
+
- Reselling, sublicensing, or white-labeling the Licensed Work
|
|
33
|
+
- Embedding the Licensed Work into any commercial automation platform,
|
|
34
|
+
integration product, or solution offering
|
|
35
|
+
|
|
36
|
+
Change Date:
|
|
37
|
+
January 1, 2030
|
|
38
|
+
|
|
39
|
+
Change License:
|
|
40
|
+
Apache License, Version 2.0
|
|
41
|
+
|
|
42
|
+
For commercial licensing inquiries:
|
|
43
|
+
licensing@velobpa.com
|
|
44
|
+
|
|
45
|
+
Business Source License 1.1 full text:
|
|
46
|
+
https://mariadb.com/bsl11/
|
package/README.md
ADDED
|
@@ -0,0 +1,414 @@
|
|
|
1
|
+
# n8n-nodes-auth0
|
|
2
|
+
|
|
3
|
+
> [Velocity BPA Licensing Notice]
|
|
4
|
+
>
|
|
5
|
+
> This n8n node is licensed under the Business Source License 1.1 (BSL 1.1).
|
|
6
|
+
>
|
|
7
|
+
> Use of this node by for-profit organizations in production environments requires a commercial license from Velocity BPA.
|
|
8
|
+
>
|
|
9
|
+
> For licensing information, visit https://velobpa.com/licensing or contact licensing@velobpa.com.
|
|
10
|
+
|
|
11
|
+
A comprehensive n8n community node for Auth0 Management API providing 8 resources and 80+ operations for user management, organizations, connections, applications, roles, APIs, logs, and actions. Includes OAuth 2.0 token caching and webhook triggers.
|
|
12
|
+
|
|
13
|
+

|
|
14
|
+

|
|
15
|
+

|
|
16
|
+

|
|
17
|
+
|
|
18
|
+
## Features
|
|
19
|
+
|
|
20
|
+
- **8 Resource Categories**: User, Organization, Connection, Application, Role, Resource Server (API), Log, Action
|
|
21
|
+
- **80+ Operations**: Full CRUD operations plus specialized management functions
|
|
22
|
+
- **OAuth 2.0 Token Management**: Automatic token refresh with intelligent caching
|
|
23
|
+
- **Webhook Triggers**: Real-time event handling via Auth0 Log Streams
|
|
24
|
+
- **Pagination Support**: Automatic handling of paginated responses
|
|
25
|
+
- **Type-Safe**: Full TypeScript implementation with comprehensive type definitions
|
|
26
|
+
- **Error Handling**: Detailed error messages with Auth0-specific error codes
|
|
27
|
+
|
|
28
|
+
## Installation
|
|
29
|
+
|
|
30
|
+
### Community Nodes (Recommended)
|
|
31
|
+
|
|
32
|
+
1. Open n8n and navigate to **Settings** → **Community Nodes**
|
|
33
|
+
2. Click **Install a community node**
|
|
34
|
+
3. Enter `n8n-nodes-auth0`
|
|
35
|
+
4. Click **Install**
|
|
36
|
+
|
|
37
|
+
### Manual Installation
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# Navigate to your n8n installation directory
|
|
41
|
+
cd ~/.n8n
|
|
42
|
+
|
|
43
|
+
# Install the node
|
|
44
|
+
npm install n8n-nodes-auth0
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Development Installation
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# Clone the repository
|
|
51
|
+
git clone https://github.com/Velocity-BPA/n8n-nodes-auth0.git
|
|
52
|
+
cd n8n-nodes-auth0
|
|
53
|
+
|
|
54
|
+
# Install dependencies and build
|
|
55
|
+
npm install
|
|
56
|
+
npm run build
|
|
57
|
+
|
|
58
|
+
# Link to n8n (Linux/macOS)
|
|
59
|
+
mkdir -p ~/.n8n/custom
|
|
60
|
+
ln -s $(pwd) ~/.n8n/custom/n8n-nodes-auth0
|
|
61
|
+
|
|
62
|
+
# Restart n8n
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Credentials Setup
|
|
66
|
+
|
|
67
|
+
Create Auth0 Management API credentials with the following configuration:
|
|
68
|
+
|
|
69
|
+
| Field | Description | Example |
|
|
70
|
+
|-------|-------------|---------|
|
|
71
|
+
| Domain | Your Auth0 tenant domain | `your-tenant.auth0.com` |
|
|
72
|
+
| Client ID | Management API application client ID | `abc123...` |
|
|
73
|
+
| Client Secret | Management API application client secret | `xyz789...` |
|
|
74
|
+
| Audience | API audience (optional) | `https://your-tenant.auth0.com/api/v2/` |
|
|
75
|
+
|
|
76
|
+
### Auth0 Setup Steps
|
|
77
|
+
|
|
78
|
+
1. Log in to your [Auth0 Dashboard](https://manage.auth0.com/)
|
|
79
|
+
2. Navigate to **Applications** → **APIs** → **Auth0 Management API**
|
|
80
|
+
3. Go to the **Machine to Machine Applications** tab
|
|
81
|
+
4. Authorize your application with the required scopes
|
|
82
|
+
5. Copy the Client ID and Client Secret
|
|
83
|
+
|
|
84
|
+
### Required Scopes
|
|
85
|
+
|
|
86
|
+
Select the scopes based on the resources you need:
|
|
87
|
+
|
|
88
|
+
| Resource | Required Scopes |
|
|
89
|
+
|----------|-----------------|
|
|
90
|
+
| User | `read:users`, `create:users`, `update:users`, `delete:users` |
|
|
91
|
+
| Organization | `read:organizations`, `create:organizations`, `update:organizations`, `delete:organizations`, `read:organization_members`, `create:organization_members`, `delete:organization_members`, `read:organization_connections`, `create:organization_connections`, `delete:organization_connections`, `read:organization_invitations`, `create:organization_invitations`, `delete:organization_invitations`, `read:organization_member_roles`, `create:organization_member_roles`, `delete:organization_member_roles` |
|
|
92
|
+
| Connection | `read:connections`, `create:connections`, `update:connections`, `delete:connections` |
|
|
93
|
+
| Application | `read:clients`, `create:clients`, `update:clients`, `delete:clients`, `read:client_credentials`, `create:client_credentials`, `delete:client_credentials` |
|
|
94
|
+
| Role | `read:roles`, `create:roles`, `update:roles`, `delete:roles`, `read:role_members`, `create:role_members`, `delete:role_members` |
|
|
95
|
+
| Resource Server | `read:resource_servers`, `create:resource_servers`, `update:resource_servers`, `delete:resource_servers` |
|
|
96
|
+
| Log | `read:logs` |
|
|
97
|
+
| Action | `read:actions`, `create:actions`, `update:actions`, `delete:actions`, `read:triggers`, `update:triggers` |
|
|
98
|
+
|
|
99
|
+
## Resources & Operations
|
|
100
|
+
|
|
101
|
+
### User
|
|
102
|
+
|
|
103
|
+
Manage Auth0 users and their identities.
|
|
104
|
+
|
|
105
|
+
| Operation | Description |
|
|
106
|
+
|-----------|-------------|
|
|
107
|
+
| Create | Create a new user |
|
|
108
|
+
| Get | Get user by ID |
|
|
109
|
+
| Get by Email | Search user by email |
|
|
110
|
+
| Get Many | List all users with pagination |
|
|
111
|
+
| Update | Update user properties |
|
|
112
|
+
| Delete | Remove user permanently |
|
|
113
|
+
| Block | Block user from logging in |
|
|
114
|
+
| Unblock | Unblock blocked user |
|
|
115
|
+
| Get Roles | List roles assigned to user |
|
|
116
|
+
| Assign Roles | Assign roles to user |
|
|
117
|
+
| Remove Roles | Remove roles from user |
|
|
118
|
+
| Get Permissions | List user permissions |
|
|
119
|
+
| Assign Permissions | Assign direct permissions |
|
|
120
|
+
| Remove Permissions | Remove permissions |
|
|
121
|
+
| Get Logs | Get user's log events |
|
|
122
|
+
| Get Enrollments | List MFA enrollments |
|
|
123
|
+
| Delete Enrollment | Remove MFA enrollment |
|
|
124
|
+
| Invalidate Browsers | Invalidate remembered browsers |
|
|
125
|
+
| Link Accounts | Link identity accounts |
|
|
126
|
+
| Unlink Accounts | Unlink identity accounts |
|
|
127
|
+
|
|
128
|
+
### Organization
|
|
129
|
+
|
|
130
|
+
Manage organizations for B2B use cases.
|
|
131
|
+
|
|
132
|
+
| Operation | Description |
|
|
133
|
+
|-----------|-------------|
|
|
134
|
+
| Create | Create new organization |
|
|
135
|
+
| Get | Get organization by ID or name |
|
|
136
|
+
| Get Many | List all organizations |
|
|
137
|
+
| Update | Update organization settings |
|
|
138
|
+
| Delete | Remove organization |
|
|
139
|
+
| Get Members | List organization members |
|
|
140
|
+
| Add Members | Add users to organization |
|
|
141
|
+
| Remove Members | Remove users from organization |
|
|
142
|
+
| Get Member Roles | Get roles for member |
|
|
143
|
+
| Assign Member Roles | Assign roles to member |
|
|
144
|
+
| Remove Member Roles | Remove roles from member |
|
|
145
|
+
| Get Connections | List enabled connections |
|
|
146
|
+
| Add Connection | Enable connection |
|
|
147
|
+
| Remove Connection | Disable connection |
|
|
148
|
+
| Get Invitations | List pending invitations |
|
|
149
|
+
| Create Invitation | Invite user |
|
|
150
|
+
| Delete Invitation | Cancel invitation |
|
|
151
|
+
|
|
152
|
+
### Connection
|
|
153
|
+
|
|
154
|
+
Manage identity connections and authentication sources.
|
|
155
|
+
|
|
156
|
+
| Operation | Description |
|
|
157
|
+
|-----------|-------------|
|
|
158
|
+
| Create | Create new connection |
|
|
159
|
+
| Get | Get connection by ID |
|
|
160
|
+
| Get Many | List all connections |
|
|
161
|
+
| Update | Update connection settings |
|
|
162
|
+
| Delete | Remove connection |
|
|
163
|
+
| Get Status | Check connection health |
|
|
164
|
+
|
|
165
|
+
**Supported Strategies**: auth0, google-oauth2, facebook, twitter, linkedin, github, windowslive, waad, samlp, oidc, ad, email, sms, apple, okta
|
|
166
|
+
|
|
167
|
+
### Application (Client)
|
|
168
|
+
|
|
169
|
+
Manage Auth0 applications and credentials.
|
|
170
|
+
|
|
171
|
+
| Operation | Description |
|
|
172
|
+
|-----------|-------------|
|
|
173
|
+
| Create | Create new application |
|
|
174
|
+
| Get | Get application by ID |
|
|
175
|
+
| Get Many | List all applications |
|
|
176
|
+
| Update | Update application settings |
|
|
177
|
+
| Delete | Remove application |
|
|
178
|
+
| Rotate Secret | Rotate client secret |
|
|
179
|
+
| Get Credentials | List application credentials |
|
|
180
|
+
| Create Credential | Create credential |
|
|
181
|
+
| Delete Credential | Remove credential |
|
|
182
|
+
|
|
183
|
+
**App Types**: spa, native, regular_web, non_interactive
|
|
184
|
+
|
|
185
|
+
### Role
|
|
186
|
+
|
|
187
|
+
Manage roles and role assignments.
|
|
188
|
+
|
|
189
|
+
| Operation | Description |
|
|
190
|
+
|-----------|-------------|
|
|
191
|
+
| Create | Create new role |
|
|
192
|
+
| Get | Get role by ID |
|
|
193
|
+
| Get Many | List all roles |
|
|
194
|
+
| Update | Update role details |
|
|
195
|
+
| Delete | Remove role |
|
|
196
|
+
| Get Permissions | List role permissions |
|
|
197
|
+
| Add Permissions | Add permissions to role |
|
|
198
|
+
| Remove Permissions | Remove permissions |
|
|
199
|
+
| Get Users | List users with role |
|
|
200
|
+
| Assign Users | Assign users to role |
|
|
201
|
+
| Remove Users | Remove users from role |
|
|
202
|
+
|
|
203
|
+
### Resource Server (API)
|
|
204
|
+
|
|
205
|
+
Manage APIs and their scopes.
|
|
206
|
+
|
|
207
|
+
| Operation | Description |
|
|
208
|
+
|-----------|-------------|
|
|
209
|
+
| Create | Create new API |
|
|
210
|
+
| Get | Get API by ID |
|
|
211
|
+
| Get Many | List all APIs |
|
|
212
|
+
| Update | Update API settings |
|
|
213
|
+
| Delete | Remove API |
|
|
214
|
+
|
|
215
|
+
### Log
|
|
216
|
+
|
|
217
|
+
Access Auth0 log events.
|
|
218
|
+
|
|
219
|
+
| Operation | Description |
|
|
220
|
+
|-----------|-------------|
|
|
221
|
+
| Get | Get specific log event |
|
|
222
|
+
| Get Many | List log events with filters |
|
|
223
|
+
| Search | Search logs with Lucene query |
|
|
224
|
+
|
|
225
|
+
### Action
|
|
226
|
+
|
|
227
|
+
Manage Auth0 Actions for extensibility.
|
|
228
|
+
|
|
229
|
+
| Operation | Description |
|
|
230
|
+
|-----------|-------------|
|
|
231
|
+
| Create | Create new action |
|
|
232
|
+
| Get | Get action by ID |
|
|
233
|
+
| Get Many | List all actions |
|
|
234
|
+
| Update | Update action code/settings |
|
|
235
|
+
| Delete | Remove action |
|
|
236
|
+
| Deploy | Deploy action version |
|
|
237
|
+
| Get Triggers | List available triggers |
|
|
238
|
+
| Get Trigger Bindings | List actions bound to trigger |
|
|
239
|
+
| Update Trigger Bindings | Update bindings |
|
|
240
|
+
|
|
241
|
+
**Supported Triggers**: post-login, credentials-exchange, pre-user-registration, post-user-registration, post-change-password, send-phone-message
|
|
242
|
+
|
|
243
|
+
## Trigger Node
|
|
244
|
+
|
|
245
|
+
The Auth0 Trigger node receives events from Auth0 Log Streams via webhooks.
|
|
246
|
+
|
|
247
|
+
### Supported Events
|
|
248
|
+
|
|
249
|
+
- Success Login / Failed Login
|
|
250
|
+
- Success Signup / Failed Signup
|
|
251
|
+
- Password Change Success / Failure
|
|
252
|
+
- Email Verification Success
|
|
253
|
+
- MFA Challenge Success / Failure
|
|
254
|
+
- Guardian MFA Events
|
|
255
|
+
- User Blocked / Deleted
|
|
256
|
+
- API Operations
|
|
257
|
+
- Rate Limit Events
|
|
258
|
+
|
|
259
|
+
### Setup
|
|
260
|
+
|
|
261
|
+
1. Add the Auth0 Trigger node to your workflow
|
|
262
|
+
2. Copy the webhook URL
|
|
263
|
+
3. In Auth0 Dashboard, go to **Monitoring** → **Streams** → **Create Log Stream**
|
|
264
|
+
4. Select **Webhook** and configure the endpoint
|
|
265
|
+
5. Select the event types to stream
|
|
266
|
+
|
|
267
|
+
## Usage Examples
|
|
268
|
+
|
|
269
|
+
### Create a User
|
|
270
|
+
|
|
271
|
+
```javascript
|
|
272
|
+
// Node Configuration
|
|
273
|
+
Resource: User
|
|
274
|
+
Operation: Create
|
|
275
|
+
Connection: Username-Password-Authentication
|
|
276
|
+
Email: user@example.com
|
|
277
|
+
Password: SecurePassword123!
|
|
278
|
+
Email Verified: true
|
|
279
|
+
User Metadata: {"department": "Engineering"}
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
### Search Users by Email
|
|
283
|
+
|
|
284
|
+
```javascript
|
|
285
|
+
// Node Configuration
|
|
286
|
+
Resource: User
|
|
287
|
+
Operation: Get by Email
|
|
288
|
+
Email: user@example.com
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
### List Organization Members
|
|
292
|
+
|
|
293
|
+
```javascript
|
|
294
|
+
// Node Configuration
|
|
295
|
+
Resource: Organization
|
|
296
|
+
Operation: Get Members
|
|
297
|
+
Organization ID: org_abc123
|
|
298
|
+
Return All: true
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
### Search Logs
|
|
302
|
+
|
|
303
|
+
```javascript
|
|
304
|
+
// Node Configuration
|
|
305
|
+
Resource: Log
|
|
306
|
+
Operation: Search
|
|
307
|
+
Query: type:s AND user_name:*@example.com
|
|
308
|
+
Sort Direction: Newest First
|
|
309
|
+
Limit: 100
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
## Auth0 Concepts
|
|
313
|
+
|
|
314
|
+
### User IDs
|
|
315
|
+
|
|
316
|
+
Auth0 user IDs follow the format `provider|id`:
|
|
317
|
+
- Database users: `auth0|507f1f77bcf86cd799439011`
|
|
318
|
+
- Social users: `google-oauth2|115015401084603946628`
|
|
319
|
+
- Enterprise users: `waad|user@domain.com`
|
|
320
|
+
|
|
321
|
+
### Organizations
|
|
322
|
+
|
|
323
|
+
Organizations enable B2B scenarios with isolated member pools, branding, and connection settings. Each organization can have its own members, roles, and enabled connections.
|
|
324
|
+
|
|
325
|
+
### Actions
|
|
326
|
+
|
|
327
|
+
Auth0 Actions are serverless functions that run at specific points in the authentication flow (triggers). They can modify claims, enrich user profiles, or integrate with external systems.
|
|
328
|
+
|
|
329
|
+
## Error Handling
|
|
330
|
+
|
|
331
|
+
The node provides detailed error messages from the Auth0 API:
|
|
332
|
+
|
|
333
|
+
| Status Code | Error | Description |
|
|
334
|
+
|-------------|-------|-------------|
|
|
335
|
+
| 400 | Bad Request | Validation errors in request body |
|
|
336
|
+
| 401 | Unauthorized | Invalid or expired token |
|
|
337
|
+
| 403 | Forbidden | Insufficient API scopes |
|
|
338
|
+
| 404 | Not Found | Resource doesn't exist |
|
|
339
|
+
| 409 | Conflict | Duplicate resource |
|
|
340
|
+
| 429 | Too Many Requests | Rate limit exceeded |
|
|
341
|
+
|
|
342
|
+
## Security Best Practices
|
|
343
|
+
|
|
344
|
+
1. **Use least privilege**: Only grant required scopes to your Management API application
|
|
345
|
+
2. **Protect credentials**: Store client secrets securely, never in code
|
|
346
|
+
3. **Monitor access**: Review Auth0 logs for suspicious Management API activity
|
|
347
|
+
4. **Rotate secrets**: Periodically rotate client secrets
|
|
348
|
+
5. **Limit access**: Restrict Management API access to specific IP addresses if possible
|
|
349
|
+
|
|
350
|
+
## Development
|
|
351
|
+
|
|
352
|
+
```bash
|
|
353
|
+
# Install dependencies
|
|
354
|
+
npm install
|
|
355
|
+
|
|
356
|
+
# Build
|
|
357
|
+
npm run build
|
|
358
|
+
|
|
359
|
+
# Run tests
|
|
360
|
+
npm test
|
|
361
|
+
|
|
362
|
+
# Run tests with coverage
|
|
363
|
+
npm run test:coverage
|
|
364
|
+
|
|
365
|
+
# Lint
|
|
366
|
+
npm run lint
|
|
367
|
+
|
|
368
|
+
# Format
|
|
369
|
+
npm run format
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
## Author
|
|
373
|
+
|
|
374
|
+
**Velocity BPA**
|
|
375
|
+
- Website: [velobpa.com](https://velobpa.com)
|
|
376
|
+
- GitHub: [Velocity-BPA](https://github.com/Velocity-BPA)
|
|
377
|
+
|
|
378
|
+
## Licensing
|
|
379
|
+
|
|
380
|
+
This n8n community node is licensed under the **Business Source License 1.1**.
|
|
381
|
+
|
|
382
|
+
### Free Use
|
|
383
|
+
Permitted for personal, educational, research, and internal business use.
|
|
384
|
+
|
|
385
|
+
### Commercial Use
|
|
386
|
+
Use of this node within any SaaS, PaaS, hosted platform, managed service,
|
|
387
|
+
or paid automation offering requires a commercial license.
|
|
388
|
+
|
|
389
|
+
For licensing inquiries:
|
|
390
|
+
**licensing@velobpa.com**
|
|
391
|
+
|
|
392
|
+
See [LICENSE](LICENSE), [COMMERCIAL_LICENSE.md](COMMERCIAL_LICENSE.md), and [LICENSING_FAQ.md](LICENSING_FAQ.md) for details.
|
|
393
|
+
|
|
394
|
+
## Contributing
|
|
395
|
+
|
|
396
|
+
Contributions are welcome! Please read our contributing guidelines before submitting pull requests.
|
|
397
|
+
|
|
398
|
+
1. Fork the repository
|
|
399
|
+
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
|
|
400
|
+
3. Commit your changes (`git commit -m 'Add amazing feature'`)
|
|
401
|
+
4. Push to the branch (`git push origin feature/amazing-feature`)
|
|
402
|
+
5. Open a Pull Request
|
|
403
|
+
|
|
404
|
+
## Support
|
|
405
|
+
|
|
406
|
+
- [GitHub Issues](https://github.com/Velocity-BPA/n8n-nodes-auth0/issues)
|
|
407
|
+
- [Auth0 Documentation](https://auth0.com/docs)
|
|
408
|
+
- [n8n Community](https://community.n8n.io/)
|
|
409
|
+
|
|
410
|
+
## Acknowledgments
|
|
411
|
+
|
|
412
|
+
- [Auth0](https://auth0.com/) for their excellent identity platform
|
|
413
|
+
- [n8n](https://n8n.io/) for the workflow automation platform
|
|
414
|
+
- The open source community for inspiration and guidance
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
|
|
2
|
+
export declare class Auth0ManagementApi implements ICredentialType {
|
|
3
|
+
name: string;
|
|
4
|
+
displayName: string;
|
|
5
|
+
documentationUrl: string;
|
|
6
|
+
properties: INodeProperties[];
|
|
7
|
+
authenticate: IAuthenticateGeneric;
|
|
8
|
+
test: ICredentialTestRequest;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=Auth0ManagementApi.credentials.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Auth0ManagementApi.credentials.d.ts","sourceRoot":"","sources":["../../credentials/Auth0ManagementApi.credentials.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACX,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,MAAM,cAAc,CAAC;AAEtB,qBAAa,kBAAmB,YAAW,eAAe;IACzD,IAAI,SAAwB;IAC5B,WAAW,SAA0B;IACrC,gBAAgB,SAA8C;IAE9D,UAAU,EAAE,eAAe,EAAE,CAqC3B;IAEF,YAAY,EAAE,oBAAoB,CAGhC;IAEF,IAAI,EAAE,sBAAsB,CAQ1B;CACF"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) Velocity BPA, LLC
|
|
4
|
+
* Licensed under the Business Source License 1.1
|
|
5
|
+
* Commercial use requires a separate commercial license.
|
|
6
|
+
* See LICENSE file for details.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.Auth0ManagementApi = void 0;
|
|
10
|
+
class Auth0ManagementApi {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.name = 'auth0ManagementApi';
|
|
13
|
+
this.displayName = 'Auth0 Management API';
|
|
14
|
+
this.documentationUrl = 'https://auth0.com/docs/api/management/v2';
|
|
15
|
+
this.properties = [
|
|
16
|
+
{
|
|
17
|
+
displayName: 'Domain',
|
|
18
|
+
name: 'domain',
|
|
19
|
+
type: 'string',
|
|
20
|
+
default: '',
|
|
21
|
+
placeholder: 'your-tenant.auth0.com',
|
|
22
|
+
description: 'Your Auth0 tenant domain (e.g., your-tenant.auth0.com or your-tenant.us.auth0.com)',
|
|
23
|
+
required: true,
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
displayName: 'Client ID',
|
|
27
|
+
name: 'clientId',
|
|
28
|
+
type: 'string',
|
|
29
|
+
default: '',
|
|
30
|
+
description: 'The Client ID of your Auth0 Management API application',
|
|
31
|
+
required: true,
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
displayName: 'Client Secret',
|
|
35
|
+
name: 'clientSecret',
|
|
36
|
+
type: 'string',
|
|
37
|
+
typeOptions: {
|
|
38
|
+
password: true,
|
|
39
|
+
},
|
|
40
|
+
default: '',
|
|
41
|
+
description: 'The Client Secret of your Auth0 Management API application',
|
|
42
|
+
required: true,
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
displayName: 'Audience',
|
|
46
|
+
name: 'audience',
|
|
47
|
+
type: 'string',
|
|
48
|
+
default: '',
|
|
49
|
+
placeholder: 'https://your-tenant.auth0.com/api/v2/',
|
|
50
|
+
description: 'The API audience (defaults to https://{domain}/api/v2/ if not specified)',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
this.authenticate = {
|
|
54
|
+
type: 'generic',
|
|
55
|
+
properties: {},
|
|
56
|
+
};
|
|
57
|
+
this.test = {
|
|
58
|
+
request: {
|
|
59
|
+
baseURL: '=https://{{$credentials.domain}}/api/v2',
|
|
60
|
+
url: '/users',
|
|
61
|
+
qs: {
|
|
62
|
+
per_page: 1,
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.Auth0ManagementApi = Auth0ManagementApi;
|
|
69
|
+
//# sourceMappingURL=Auth0ManagementApi.credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Auth0ManagementApi.credentials.js","sourceRoot":"","sources":["../../credentials/Auth0ManagementApi.credentials.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AASH,MAAa,kBAAkB;IAA/B;QACC,SAAI,GAAG,oBAAoB,CAAC;QAC5B,gBAAW,GAAG,sBAAsB,CAAC;QACrC,qBAAgB,GAAG,0CAA0C,CAAC;QAE9D,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,QAAQ;gBACrB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,uBAAuB;gBACpC,WAAW,EAAE,oFAAoF;gBACjG,QAAQ,EAAE,IAAI;aACd;YACD;gBACC,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,wDAAwD;gBACrE,QAAQ,EAAE,IAAI;aACd;YACD;gBACC,WAAW,EAAE,eAAe;gBAC5B,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACZ,QAAQ,EAAE,IAAI;iBACd;gBACD,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,4DAA4D;gBACzE,QAAQ,EAAE,IAAI;aACd;YACD;gBACC,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,uCAAuC;gBACpD,WAAW,EAAE,0EAA0E;aACvF;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,EAAE;SACd,CAAC;QAEF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,yCAAyC;gBAClD,GAAG,EAAE,QAAQ;gBACb,EAAE,EAAE;oBACH,QAAQ,EAAE,CAAC;iBACX;aACD;SACD,CAAC;IACH,CAAC;CAAA;AA1DD,gDA0DC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
|
|
2
|
+
export declare class Auth0 implements INodeType {
|
|
3
|
+
description: INodeTypeDescription;
|
|
4
|
+
execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=Auth0.node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Auth0.node.d.ts","sourceRoot":"","sources":["../../../nodes/Auth0/Auth0.node.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACX,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EACpB,MAAM,cAAc,CAAC;AAoDtB,qBAAa,KAAM,YAAW,SAAS;IACtC,WAAW,EAAE,oBAAoB,CAsF/B;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CA8DvE"}
|