auth0 2.36.2 → 2.39.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.
Files changed (46) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +33 -11
  3. package/package.json +22 -14
  4. package/src/Auth0RestClient.js +72 -71
  5. package/src/RetryRestClient.js +78 -81
  6. package/src/auth/DatabaseAuthenticator.js +242 -259
  7. package/src/auth/OAUthWithIDTokenValidation.js +99 -103
  8. package/src/auth/OAuthAuthenticator.js +325 -344
  9. package/src/auth/PasswordlessAuthenticator.js +238 -252
  10. package/src/auth/TokensManager.js +231 -246
  11. package/src/auth/UsersManager.js +149 -160
  12. package/src/auth/idToken.js +22 -19
  13. package/src/auth/index.js +510 -581
  14. package/src/errors.js +23 -23
  15. package/src/index.js +3 -2
  16. package/src/management/ActionsManager.js +510 -584
  17. package/src/management/BlacklistedTokensManager.js +77 -84
  18. package/src/management/BrandingManager.js +141 -163
  19. package/src/management/ClientGrantsManager.js +132 -145
  20. package/src/management/ClientsManager.js +145 -161
  21. package/src/management/ConnectionsManager.js +215 -204
  22. package/src/management/CustomDomainsManager.js +140 -157
  23. package/src/management/DeviceCredentialsManager.js +95 -111
  24. package/src/management/EmailProviderManager.js +110 -128
  25. package/src/management/EmailTemplatesManager.js +96 -112
  26. package/src/management/GrantsManager.js +94 -101
  27. package/src/management/GuardianManager.js +381 -455
  28. package/src/management/HooksManager.js +283 -325
  29. package/src/management/JobsManager.js +310 -343
  30. package/src/management/LogStreamsManager.js +142 -158
  31. package/src/management/LogsManager.js +92 -99
  32. package/src/management/ManagementTokenProvider.js +112 -120
  33. package/src/management/MigrationsManager.js +81 -90
  34. package/src/management/OrganizationsManager.js +686 -761
  35. package/src/management/PromptsManager.js +160 -182
  36. package/src/management/ResourceServersManager.js +143 -160
  37. package/src/management/RolesManager.js +323 -369
  38. package/src/management/RulesConfigsManager.js +94 -110
  39. package/src/management/RulesManager.js +154 -176
  40. package/src/management/StatsManager.js +87 -103
  41. package/src/management/TenantManager.js +81 -97
  42. package/src/management/TicketsManager.js +107 -115
  43. package/src/management/UserBlocksManager.js +135 -162
  44. package/src/management/UsersManager.js +729 -852
  45. package/src/management/index.js +3094 -3619
  46. package/src/utils.js +31 -60
@@ -1,129 +1,113 @@
1
- var ArgumentError = require('rest-facade').ArgumentError;
2
- var utils = require('../utils');
3
- var Auth0RestClient = require('../Auth0RestClient');
4
- var RetryRestClient = require('../RetryRestClient');
1
+ const { ArgumentError } = require('rest-facade');
2
+ const Auth0RestClient = require('../Auth0RestClient');
3
+ const RetryRestClient = require('../RetryRestClient');
5
4
 
6
5
  /**
7
- * Simple facade for consuming a REST API endpoint.
8
- * @external RestClient
9
- * @see https://github.com/ngonzalvez/rest-facade
10
- */
11
-
12
- /**
13
- * @class RulesConfigsManager
14
6
  * The rules configs manager class provides a simple abstraction for performing CRUD operations
15
7
  * on Auth0 RulesConfigsManager.
16
- * @constructor
17
- * @memberOf module:management
18
- *
19
- * @param {Object} options The client options.
20
- * @param {String} options.baseUrl The URL of the API.
21
- * @param {Object} [options.headers] Headers to be included in all requests.
22
- * @param {Object} [options.retry] Retry Policy Config
23
8
  */
24
- var RulesConfigsManager = function(options) {
25
- if (options === null || typeof options !== 'object') {
26
- throw new ArgumentError('Must provide manager options');
27
- }
9
+ class RulesConfigsManager {
10
+ /**
11
+ * @param {object} options The client options.
12
+ * @param {string} options.baseUrl The URL of the API.
13
+ * @param {object} [options.headers] Headers to be included in all requests.
14
+ * @param {object} [options.retry] Retry Policy Config
15
+ */
16
+ constructor(options) {
17
+ if (options === null || typeof options !== 'object') {
18
+ throw new ArgumentError('Must provide manager options');
19
+ }
28
20
 
29
- if (options.baseUrl === null || options.baseUrl === undefined) {
30
- throw new ArgumentError('Must provide a base URL for the API');
31
- }
21
+ if (options.baseUrl === null || options.baseUrl === undefined) {
22
+ throw new ArgumentError('Must provide a base URL for the API');
23
+ }
32
24
 
33
- if ('string' !== typeof options.baseUrl || options.baseUrl.length === 0) {
34
- throw new ArgumentError('The provided base URL is invalid');
25
+ if ('string' !== typeof options.baseUrl || options.baseUrl.length === 0) {
26
+ throw new ArgumentError('The provided base URL is invalid');
27
+ }
28
+
29
+ /**
30
+ * Options object for the Rest Client instance.
31
+ *
32
+ * @type {object}
33
+ */
34
+ const clientOptions = {
35
+ headers: options.headers,
36
+ query: { repeatParams: false },
37
+ };
38
+
39
+ /**
40
+ * Provides an abstraction layer for performing CRUD operations on
41
+ * {@link https://auth0.com/docs/api/v2#!/RulesConfigsManager Auth0 RulesConfigsManager}.
42
+ *
43
+ * @type {external:RestClient}
44
+ */
45
+ const auth0RestClient = new Auth0RestClient(
46
+ `${options.baseUrl}/rules-configs/:key`,
47
+ clientOptions,
48
+ options.tokenProvider
49
+ );
50
+ this.resource = new RetryRestClient(auth0RestClient, options.retry);
35
51
  }
36
52
 
37
53
  /**
38
- * Options object for the Rest Client instance.
54
+ * Set a new rules config.
55
+ *
56
+ * @example
57
+ * var params = { key: RULE_CONFIG_KEY };
58
+ * var data = { value: RULES_CONFIG_VALUE };
39
59
  *
40
- * @type {Object}
60
+ * management.rulesConfigs.set(params, data, function (err, rulesConfig) {
61
+ * if (err) {
62
+ * // Handle error.
63
+ * }
64
+ *
65
+ * // Rules Config set.
66
+ * });
67
+ * @param {object} params Rule Config parameters.
68
+ * @param {string} params.key Rule Config key.
69
+ * @param {object} data Rule Config Data parameters.
70
+ * @param {string} data.value Rule Config Data value.
71
+ * @param {Function} [cb] Callback function.
72
+ * @returns {Promise|undefined}
41
73
  */
42
- var clientOptions = {
43
- headers: options.headers,
44
- query: { repeatParams: false }
45
- };
74
+ set(...args) {
75
+ return this.resource.update(...args);
76
+ }
46
77
 
47
78
  /**
48
- * Provides an abstraction layer for performing CRUD operations on
49
- * {@link https://auth0.com/docs/api/v2#!/RulesConfigsManager Auth0 RulesConfigsManager}.
79
+ * Get all rules configs.
50
80
  *
51
- * @type {external:RestClient}
81
+ * @example
82
+ * management.rulesConfigs.getAll(function (err, rulesConfig) {
83
+ * console.log(rulesConfig.length);
84
+ * });
85
+ * @param {Function} [cb] Callback function.
86
+ * @returns {Promise|undefined}
52
87
  */
53
- var auth0RestClient = new Auth0RestClient(
54
- options.baseUrl + '/rules-configs/:key',
55
- clientOptions,
56
- options.tokenProvider
57
- );
58
- this.resource = new RetryRestClient(auth0RestClient, options.retry);
59
- };
60
-
61
- /**
62
- * Set a new rules config.
63
- *
64
- * @method set
65
- * @memberOf module:management.RulesConfigsManager.prototype
66
- *
67
- * @example
68
- * var params = { key: RULE_CONFIG_KEY };
69
- * var data = { value: RULES_CONFIG_VALUE };
70
- *
71
- * management.rulesConfigs.set(params, data, function (err, rulesConfig) {
72
- * if (err) {
73
- * // Handle error.
74
- * }
75
- *
76
- * // Rules Config set.
77
- * });
78
- *
79
- * @param {Object} params Rule Config parameters.
80
- * @param {String} params.key Rule Config key.
81
- * @param {Object} data Rule Config Data parameters.
82
- * @param {String} data.value Rule Config Data value.
83
- * @param {Function} [cb] Callback function.
84
- *
85
- * @return {Promise|undefined}
86
- */
87
- utils.wrapPropertyMethod(RulesConfigsManager, 'set', 'resource.update');
88
-
89
- /**
90
- * Get all rules configs.
91
- *
92
- * @method getAll
93
- * @memberOf module:management.RulesConfigsManager.prototype
94
- *
95
- * @example
96
- * management.rulesConfigs.getAll(function (err, rulesConfig) {
97
- * console.log(rulesConfig.length);
98
- * });
99
- *
100
- * @param {Function} [cb] Callback function.
101
- *
102
- * @return {Promise|undefined}
103
- */
104
- utils.wrapPropertyMethod(RulesConfigsManager, 'getAll', 'resource.getAll');
88
+ getAll(...args) {
89
+ return this.resource.getAll(...args);
90
+ }
105
91
 
106
- /**
107
- * Delete an existing rules config.
108
- *
109
- * @method delete
110
- * @memberOf module:management.RulesConfigsManager.prototype
111
- *
112
- * @example
113
- * management.rulesConfigs.delete({ key: RULE_CONFIG_KEY }, function (err) {
114
- * if (err) {
115
- * // Handle error.
116
- * }
117
- *
118
- * // Rules Config deleted.
119
- * });
120
- *
121
- * @param {Object} params Rule Configs parameters.
122
- * @param {String} params.key Rule Configs key.
123
- * @param {Function} [cb] Callback function.
124
- *
125
- * @return {Promise|undefined}
126
- */
127
- utils.wrapPropertyMethod(RulesConfigsManager, 'delete', 'resource.delete');
92
+ /**
93
+ * Delete an existing rules config.
94
+ *
95
+ * @example
96
+ * management.rulesConfigs.delete({ key: RULE_CONFIG_KEY }, function (err) {
97
+ * if (err) {
98
+ * // Handle error.
99
+ * }
100
+ *
101
+ * // Rules Config deleted.
102
+ * });
103
+ * @param {object} params Rule Configs parameters.
104
+ * @param {string} params.key Rule Configs key.
105
+ * @param {Function} [cb] Callback function.
106
+ * @returns {Promise|undefined}
107
+ */
108
+ delete(...args) {
109
+ return this.resource.delete(...args);
110
+ }
111
+ }
128
112
 
129
113
  module.exports = RulesConfigsManager;
@@ -1,197 +1,175 @@
1
- var ArgumentError = require('rest-facade').ArgumentError;
2
- var utils = require('../utils');
3
- var Auth0RestClient = require('../Auth0RestClient');
4
- var RetryRestClient = require('../RetryRestClient');
1
+ const { ArgumentError } = require('rest-facade');
2
+ const Auth0RestClient = require('../Auth0RestClient');
3
+ const RetryRestClient = require('../RetryRestClient');
5
4
 
6
5
  /**
7
- * Simple facade for consuming a REST API endpoint.
8
- * @external RestClient
9
- * @see https://github.com/ngonzalvez/rest-facade
10
- */
11
-
12
- /**
13
- * @class RulesManager
14
6
  * The rule class provides a simple abstraction for performing CRUD operations
15
7
  * on Auth0 RulesManagers.
16
- * @constructor
17
- * @memberOf module:management
18
- *
19
- * @param {Object} options The client options.
20
- * @param {String} options.baseUrl The URL of the API.
21
- * @param {Object} [options.headers] Headers to be included in all requests.
22
- * @param {Object} [options.retry] Retry Policy Config
23
8
  */
24
- var RulesManager = function(options) {
25
- if (options === null || typeof options !== 'object') {
26
- throw new ArgumentError('Must provide manager options');
27
- }
9
+ class RulesManager {
10
+ /**
11
+ * @param {object} options The client options.
12
+ * @param {string} options.baseUrl The URL of the API.
13
+ * @param {object} [options.headers] Headers to be included in all requests.
14
+ * @param {object} [options.retry] Retry Policy Config
15
+ */
16
+ constructor(options) {
17
+ if (options === null || typeof options !== 'object') {
18
+ throw new ArgumentError('Must provide manager options');
19
+ }
28
20
 
29
- if (options.baseUrl === null || options.baseUrl === undefined) {
30
- throw new ArgumentError('Must provide a base URL for the API');
31
- }
21
+ if (options.baseUrl === null || options.baseUrl === undefined) {
22
+ throw new ArgumentError('Must provide a base URL for the API');
23
+ }
24
+
25
+ if ('string' !== typeof options.baseUrl || options.baseUrl.length === 0) {
26
+ throw new ArgumentError('The provided base URL is invalid');
27
+ }
28
+
29
+ /**
30
+ * Options object for the Rest Client instance.
31
+ *
32
+ * @type {object}
33
+ */
34
+ const clientOptions = {
35
+ headers: options.headers,
36
+ query: { repeatParams: false },
37
+ };
32
38
 
33
- if ('string' !== typeof options.baseUrl || options.baseUrl.length === 0) {
34
- throw new ArgumentError('The provided base URL is invalid');
39
+ /**
40
+ * Provides an abstraction layer for performing CRUD operations on
41
+ * {@link https://auth0.com/docs/api/v2#!/RulesManagers Auth0 RulesManagers}.
42
+ *
43
+ * @type {external:RestClient}
44
+ */
45
+ const auth0RestClient = new Auth0RestClient(
46
+ `${options.baseUrl}/rules/:id`,
47
+ clientOptions,
48
+ options.tokenProvider
49
+ );
50
+ this.resource = new RetryRestClient(auth0RestClient, options.retry);
35
51
  }
36
52
 
37
53
  /**
38
- * Options object for the Rest Client instance.
54
+ * Create a new rule.
39
55
  *
40
- * @type {Object}
56
+ * @example
57
+ * management.rules.create(data, function (err) {
58
+ * if (err) {
59
+ * // Handle error.
60
+ * }
61
+ *
62
+ * // Rule created.
63
+ * });
64
+ * @param {object} data Rule data object.
65
+ * @param {Function} [cb] Callback function.
66
+ * @returns {Promise|undefined}
41
67
  */
42
- var clientOptions = {
43
- headers: options.headers,
44
- query: { repeatParams: false }
45
- };
68
+ create(...args) {
69
+ return this.resource.create(...args);
70
+ }
46
71
 
47
72
  /**
48
- * Provides an abstraction layer for performing CRUD operations on
49
- * {@link https://auth0.com/docs/api/v2#!/RulesManagers Auth0 RulesManagers}.
73
+ * Get all rules.
50
74
  *
51
- * @type {external:RestClient}
75
+ * @example <caption>
76
+ * This method takes an optional object as first argument that may be used to
77
+ * specify pagination settings. If pagination options are not present,
78
+ * the first page of a limited number of results will be returned.
79
+ * </caption>
80
+ *
81
+ * // Pagination settings.
82
+ * var params = {
83
+ * per_page: 10,
84
+ * page: 0
85
+ * };
86
+ *
87
+ * management.rules.getAll(params, function (err, rules) {
88
+ * console.log(rules.length);
89
+ * });
90
+ * @param {object} [params] Rules parameters.
91
+ * @param {number} [params.per_page] Number of results per page.
92
+ * @param {number} [params.page] Page number, zero indexed.
93
+ * @param {Function} [cb] Callback function.
94
+ * @returns {Promise|undefined}
52
95
  */
53
- var auth0RestClient = new Auth0RestClient(
54
- options.baseUrl + '/rules/:id',
55
- clientOptions,
56
- options.tokenProvider
57
- );
58
- this.resource = new RetryRestClient(auth0RestClient, options.retry);
59
- };
60
-
61
- /**
62
- * Create a new rule.
63
- *
64
- * @method create
65
- * @memberOf module:management.RulesManager.prototype
66
- *
67
- * @example
68
- * management.rules.create(data, function (err) {
69
- * if (err) {
70
- * // Handle error.
71
- * }
72
- *
73
- * // Rule created.
74
- * });
75
- *
76
- * @param {Object} data Rule data object.
77
- * @param {Function} [cb] Callback function.
78
- *
79
- * @return {Promise|undefined}
80
- */
81
- utils.wrapPropertyMethod(RulesManager, 'create', 'resource.create');
82
-
83
- /**
84
- * Get all rules.
85
- *
86
- * @method getAll
87
- * @memberOf module:management.RulesManager.prototype
88
- *
89
- * @example <caption>
90
- * This method takes an optional object as first argument that may be used to
91
- * specify pagination settings. If pagination options are not present,
92
- * the first page of a limited number of results will be returned.
93
- * </caption>
94
- *
95
- * // Pagination settings.
96
- * var params = {
97
- * per_page: 10,
98
- * page: 0
99
- * };
100
- *
101
- * management.rules.getAll(params, function (err, rules) {
102
- * console.log(rules.length);
103
- * });
104
- *
105
- * @param {Object} [params] Rules parameters.
106
- * @param {Number} [params.per_page] Number of results per page.
107
- * @param {Number} [params.page] Page number, zero indexed.
108
- * @param {Function} [cb] Callback function.
109
- *
110
- * @return {Promise|undefined}
111
- */
112
- utils.wrapPropertyMethod(RulesManager, 'getAll', 'resource.getAll');
96
+ getAll(...args) {
97
+ return this.resource.getAll(...args);
98
+ }
113
99
 
114
- /**
115
- * Get an Auth0 rule.
116
- *
117
- * @method get
118
- * @memberOf module:management.RulesManager.prototype
119
- *
120
- * @example
121
- * management.rules.get({ id: RULE_ID }, function (err, rule) {
122
- * if (err) {
123
- * // Handle error.
124
- * }
125
- *
126
- * console.log(rule);
127
- * });
128
- *
129
- * @param {Object} params Rule parameters.
130
- * @param {String} params.id Rule ID.
131
- * @param {Function} [cb] Callback function.
132
- *
133
- * @return {Promise|undefined}
134
- */
135
- utils.wrapPropertyMethod(RulesManager, 'get', 'resource.get');
100
+ /**
101
+ * Get an Auth0 rule.
102
+ *
103
+ * @example
104
+ * management.rules.get({ id: RULE_ID }, function (err, rule) {
105
+ * if (err) {
106
+ * // Handle error.
107
+ * }
108
+ *
109
+ * console.log(rule);
110
+ * });
111
+ * @param {object} params Rule parameters.
112
+ * @param {string} params.id Rule ID.
113
+ * @param {Function} [cb] Callback function.
114
+ * @returns {Promise|undefined}
115
+ */
116
+ get(...args) {
117
+ return this.resource.get(...args);
118
+ }
136
119
 
137
- /**
138
- * Update an existing rule.
139
- *
140
- * @method update
141
- * @memberOf module:management.RulesManager.prototype
142
- *
143
- * @example
144
- * var data = { name: 'New name' };
145
- * var params = { id: RULE_ID };
146
- *
147
- * // Using auth0 instance.
148
- * management.updateRule(params, data, function (err, rule) {
149
- * if (err) {
150
- * // Handle error.
151
- * }
152
- *
153
- * console.log(rule.name); // 'New name'
154
- * });
155
- *
156
- * // Using the rules manager directly.
157
- * management.rules.update(params, data, function (err, rule) {
158
- * if (err) {
159
- * // Handle error.
160
- * }
161
- *
162
- * console.log(rule.name); // 'New name'
163
- * });
164
- *
165
- * @param {Object} params Rule parameters.
166
- * @param {String} params.id Rule ID.
167
- * @param {Object} data Updated rule data.
168
- * @param {Function} [cb] Callback function.
169
- *
170
- * @return {Promise|undefined}
171
- */
172
- utils.wrapPropertyMethod(RulesManager, 'update', 'resource.patch');
120
+ /**
121
+ * Update an existing rule.
122
+ *
123
+ * @example
124
+ * var data = { name: 'New name' };
125
+ * var params = { id: RULE_ID };
126
+ *
127
+ * // Using auth0 instance.
128
+ * management.updateRule(params, data, function (err, rule) {
129
+ * if (err) {
130
+ * // Handle error.
131
+ * }
132
+ *
133
+ * console.log(rule.name); // 'New name'
134
+ * });
135
+ *
136
+ * // Using the rules manager directly.
137
+ * management.rules.update(params, data, function (err, rule) {
138
+ * if (err) {
139
+ * // Handle error.
140
+ * }
141
+ *
142
+ * console.log(rule.name); // 'New name'
143
+ * });
144
+ * @param {object} params Rule parameters.
145
+ * @param {string} params.id Rule ID.
146
+ * @param {object} data Updated rule data.
147
+ * @param {Function} [cb] Callback function.
148
+ * @returns {Promise|undefined}
149
+ */
150
+ update(...args) {
151
+ return this.resource.patch(...args);
152
+ }
173
153
 
174
- /**
175
- * Delete an existing rule.
176
- *
177
- * @method delete
178
- * @memberOf module:management.RulesManager.prototype
179
- *
180
- * @example
181
- * management.rules.delete({ id: RULE_ID }, function (err) {
182
- * if (err) {
183
- * // Handle error.
184
- * }
185
- *
186
- * // Rule deleted.
187
- * });
188
- *
189
- * @param {Object} params Rule parameters.
190
- * @param {String} params.id Rule ID.
191
- * @param {Function} [cb] Callback function.
192
- *
193
- * @return {Promise|undefined}
194
- */
195
- utils.wrapPropertyMethod(RulesManager, 'delete', 'resource.delete');
154
+ /**
155
+ * Delete an existing rule.
156
+ *
157
+ * @example
158
+ * management.rules.delete({ id: RULE_ID }, function (err) {
159
+ * if (err) {
160
+ * // Handle error.
161
+ * }
162
+ *
163
+ * // Rule deleted.
164
+ * });
165
+ * @param {object} params Rule parameters.
166
+ * @param {string} params.id Rule ID.
167
+ * @param {Function} [cb] Callback function.
168
+ * @returns {Promise|undefined}
169
+ */
170
+ delete(...args) {
171
+ return this.resource.delete(...args);
172
+ }
173
+ }
196
174
 
197
175
  module.exports = RulesManager;