auth0 2.36.1 → 2.38.1

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 +557 -0
  2. package/README.md +33 -11
  3. package/package.json +22 -15
  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 +503 -585
  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,102 +1,95 @@
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
- * @class BlacklistedTokensManager
8
6
  * The BlacklistedTokensManager class provides methods to retrieve the list of
9
7
  * blacklisted tokens and blacklist new ones..
10
- * @constructor
11
- * @memberOf module:management
12
- *
13
- * @param {Object} options The client options.
14
- * @param {String} options.baseUrl The URL of the API.
15
- * @param {Object} [options.headers] Headers to be included in all requests.
16
- * @param {Object} [options.retry] Retry Policy Config
17
8
  */
18
- var BlacklistedTokensManager = function(options) {
19
- if (options === null || typeof options !== 'object') {
20
- throw new ArgumentError('Must provide client options');
21
- }
9
+ class BlacklistedTokensManager {
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 client options');
19
+ }
22
20
 
23
- if (options.baseUrl === null || options.baseUrl === undefined) {
24
- throw new ArgumentError('Must provide a base URL for the API');
25
- }
21
+ if (options.baseUrl === null || options.baseUrl === undefined) {
22
+ throw new ArgumentError('Must provide a base URL for the API');
23
+ }
26
24
 
27
- if ('string' !== typeof options.baseUrl || options.baseUrl.length === 0) {
28
- 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
+ errorFormatter: { message: 'message', name: 'error' },
36
+ headers: options.headers,
37
+ query: { repeatParams: false },
38
+ };
39
+
40
+ /**
41
+ * Provides an abstraction layer for consuming the
42
+ * [Auth0 Blacklisted Tokens endpoint]{@link https://auth0.com/docs/api/v2#!/Clients}.
43
+ *
44
+ * @type {external:RestClient}
45
+ */
46
+ const auth0RestClient = new Auth0RestClient(
47
+ `${options.baseUrl}/blacklists/tokens`,
48
+ clientOptions,
49
+ options.tokenProvider
50
+ );
51
+ this.resource = new RetryRestClient(auth0RestClient, options.retry);
29
52
  }
30
53
 
31
54
  /**
32
- * Options object for the Rest Client instance.
55
+ * Blacklist a new token.
56
+ *
57
+ * @example
58
+ * var token = {
59
+ * aud: 'aud',
60
+ * jti: 'jti'
61
+ * };
62
+ *
63
+ * management.blacklistedTokens.add(token, function (err) {
64
+ * if (err) {
65
+ * // Handle error.
66
+ * }
33
67
  *
34
- * @type {Object}
68
+ * // Token blacklisted.
69
+ * });
70
+ * @param {object} token Token data.
71
+ * @param {string} token.aud Audience (your app client ID).
72
+ * @param {string} token.jti The JWT ID claim.
73
+ * @param {Function} [cb] Callback function.
74
+ * @returns {Promise|undefined}
35
75
  */
36
- var clientOptions = {
37
- errorFormatter: { message: 'message', name: 'error' },
38
- headers: options.headers,
39
- query: { repeatParams: false }
40
- };
76
+ add(...args) {
77
+ return this.resource.create(...args);
78
+ }
41
79
 
42
80
  /**
43
- * Provides an abstraction layer for consuming the
44
- * [Auth0 Blacklisted Tokens endpoint]{@link https://auth0.com/docs/api/v2#!/Clients}.
81
+ * Get all blacklisted tokens.
45
82
  *
46
- * @type {external:RestClient}
83
+ * @example
84
+ * management.blacklistedTokens.getAll(function (err, tokens) {
85
+ * console.log(tokens.length);
86
+ * });
87
+ * @param {Function} [cb] Callback function.
88
+ * @returns {Promise|undefined}
47
89
  */
48
- var auth0RestClient = new Auth0RestClient(
49
- options.baseUrl + '/blacklists/tokens',
50
- clientOptions,
51
- options.tokenProvider
52
- );
53
- this.resource = new RetryRestClient(auth0RestClient, options.retry);
54
- };
55
-
56
- /**
57
- * Blacklist a new token.
58
- *
59
- * @method add
60
- * @memberOf module:management.BlacklistedTokensManager.prototype
61
- *
62
- * @example
63
- * var token = {
64
- * aud: 'aud',
65
- * jti: 'jti'
66
- * };
67
- *
68
- * management.blacklistedTokens.add(token, function (err) {
69
- * if (err) {
70
- * // Handle error.
71
- * }
72
- *
73
- * // Token blacklisted.
74
- * });
75
- *
76
- * @param {Object} token Token data.
77
- * @param {String} token.aud Audience (your app client ID).
78
- * @param {String} token.jti The JWT ID claim.
79
- * @param {Function} [cb] Callback function.
80
- *
81
- * @return {Promise|undefined}
82
- */
83
- utils.wrapPropertyMethod(BlacklistedTokensManager, 'add', 'resource.create');
84
-
85
- /**
86
- * Get all blacklisted tokens.
87
- *
88
- * @method getAll
89
- * @memberOf module:management.BlacklistedTokensManager.prototype
90
- *
91
- * @example
92
- * management.blacklistedTokens.getAll(function (err, tokens) {
93
- * console.log(tokens.length);
94
- * });
95
- *
96
- * @param {Function} [cb] Callback function.
97
- *
98
- * @return {Promise|undefined}
99
- */
100
- utils.wrapPropertyMethod(BlacklistedTokensManager, 'getAll', 'resource.getAll');
90
+ getAll(...args) {
91
+ return this.resource.getAll(...args);
92
+ }
93
+ }
101
94
 
102
95
  module.exports = BlacklistedTokensManager;
@@ -1,183 +1,161 @@
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 BrandingManager
14
6
  * Manages settings related to branding.
15
- * @constructor
16
- * @memberOf module:management
17
- *
18
- * @param {Object} options The client options.
19
- * @param {String} options.baseUrl The URL of the API.
20
- * @param {Object} [options.headers] Headers to be included in all requests.
21
- * @param {Object} [options.retry] Retry Policy Config
22
7
  */
23
- var BrandingManager = function(options) {
24
- if (options === null || typeof options !== 'object') {
25
- throw new ArgumentError('Must provide manager options');
26
- }
8
+ class BrandingManager {
9
+ /**
10
+ * @param {object} options The client options.
11
+ * @param {string} options.baseUrl The URL of the API.
12
+ * @param {object} [options.headers] Headers to be included in all requests.
13
+ * @param {object} [options.retry] Retry Policy Config
14
+ */
15
+ constructor(options) {
16
+ if (options === null || typeof options !== 'object') {
17
+ throw new ArgumentError('Must provide manager options');
18
+ }
27
19
 
28
- if (options.baseUrl === null || options.baseUrl === undefined) {
29
- throw new ArgumentError('Must provide a base URL for the API');
30
- }
20
+ if (options.baseUrl === null || options.baseUrl === undefined) {
21
+ throw new ArgumentError('Must provide a base URL for the API');
22
+ }
31
23
 
32
- if ('string' !== typeof options.baseUrl || options.baseUrl.length === 0) {
33
- throw new ArgumentError('The provided base URL is invalid');
34
- }
24
+ if ('string' !== typeof options.baseUrl || options.baseUrl.length === 0) {
25
+ throw new ArgumentError('The provided base URL is invalid');
26
+ }
27
+
28
+ const clientOptions = {
29
+ errorFormatter: { message: 'message', name: 'error' },
30
+ headers: options.headers,
31
+ query: { repeatParams: false },
32
+ };
33
+
34
+ /**
35
+ * Provides an abstraction layer for consuming the
36
+ * {@link https://auth0.com/docs/api/management/v2#!/Branding Branding endpoint}.
37
+ *
38
+ * @type {external:RestClient}
39
+ */
40
+ const auth0RestClient = new Auth0RestClient(
41
+ `${options.baseUrl}/branding`,
42
+ clientOptions,
43
+ options.tokenProvider
44
+ );
45
+ this.resource = new RetryRestClient(auth0RestClient, options.retry);
35
46
 
36
- var clientOptions = {
37
- errorFormatter: { message: 'message', name: 'error' },
38
- headers: options.headers,
39
- query: { repeatParams: false }
40
- };
47
+ /**
48
+ * Provides an abstraction layer for consuming the
49
+ * {@link https://auth0.com/docs/api/management/v2#!/Branding/get_universal_login Branding new universal login template endpoint}.
50
+ *
51
+ * @type {external:RestClient}
52
+ */
53
+ const brandingTemplateAuth0RestClient = new Auth0RestClient(
54
+ `${options.baseUrl}/branding/templates/universal-login`,
55
+ clientOptions,
56
+ options.tokenProvider
57
+ );
58
+ this.brandingTemplates = new RetryRestClient(brandingTemplateAuth0RestClient, options.retry);
59
+ }
41
60
 
42
61
  /**
43
- * Provides an abstraction layer for consuming the
44
- * {@link https://auth0.com/docs/api/management/v2#!/Branding Branding endpoint}.
62
+ * Update the branding settings.
63
+ *
64
+ * @example
65
+ * management.branding.updateSettings(params, data, function (err, branding) {
66
+ * if (err) {
67
+ * // Handle error.
68
+ * }
45
69
  *
46
- * @type {external:RestClient}
70
+ * // Updated branding
71
+ * console.log(branding);
72
+ * });
73
+ * @param {object} params Branding parameters (leavy empty).
74
+ * @param {object} data Updated branding data.
75
+ * @param {Function} [cb] Callback function.
76
+ * @returns {Promise|undefined}
47
77
  */
48
- var auth0RestClient = new Auth0RestClient(
49
- options.baseUrl + '/branding',
50
- clientOptions,
51
- options.tokenProvider
52
- );
53
- this.resource = new RetryRestClient(auth0RestClient, options.retry);
78
+ updateSettings(...args) {
79
+ return this.resource.patch(...args);
80
+ }
54
81
 
55
82
  /**
56
- * Provides an abstraction layer for consuming the
57
- * {@link https://auth0.com/docs/api/management/v2#!/Branding/get_universal_login Branding new universal login template endpoint}.
83
+ * Get the branding settings..
58
84
  *
59
- * @type {external:RestClient}
85
+ * @example
86
+ * management.branding.getSettings(data, function (err, branding) {
87
+ * if (err) {
88
+ * // Handle error.
89
+ * }
90
+ *
91
+ * // Branding
92
+ * console.log(branding);
93
+ * });
94
+ * @param {object} params Branding parameters.
95
+ * @param {object} data Branding data.
96
+ * @param {Function} [cb] Callback function.
97
+ * @returns {Promise|undefined}
60
98
  */
61
- var brandingTemplateAuth0RestClient = new Auth0RestClient(
62
- options.baseUrl + '/branding/templates/universal-login',
63
- clientOptions,
64
- options.tokenProvider
65
- );
66
- this.brandingTemplates = new RetryRestClient(brandingTemplateAuth0RestClient, options.retry);
67
- };
68
-
69
- /**
70
- * Update the branding settings.
71
- *
72
- * @method updateSettings
73
- * @memberOf module:management.BrandingManager.prototype
74
- *
75
- * @example
76
- * management.branding.updateSettings(params, data, function (err, branding) {
77
- * if (err) {
78
- * // Handle error.
79
- * }
80
- *
81
- * // Updated branding
82
- * console.log(branding);
83
- * });
84
- *
85
- * @param {Object} params Branding parameters (leavy empty).
86
- * @param {Object} data Updated branding data.
87
- * @param {Function} [cb] Callback function.
88
- *
89
- * @return {Promise|undefined}
90
- */
91
- utils.wrapPropertyMethod(BrandingManager, 'updateSettings', 'resource.patch');
92
-
93
- /**
94
- * Get the branding settings..
95
- *
96
- * @method getSettings
97
- * @memberOf module:management.BrandingManager.prototype
98
- *
99
- * @example
100
- * management.branding.getSettings(data, function (err, branding) {
101
- * if (err) {
102
- * // Handle error.
103
- * }
104
- *
105
- * // Branding
106
- * console.log(branding);
107
- * });
108
- *
109
- * @param {Object} params Branding parameters.
110
- * @param {Object} data Branding data.
111
- * @param {Function} [cb] Callback function.
112
- *
113
- * @return {Promise|undefined}
114
- */
115
- utils.wrapPropertyMethod(BrandingManager, 'getSettings', 'resource.get');
99
+ getSettings(...args) {
100
+ return this.resource.get(...args);
101
+ }
116
102
 
117
- /**
118
- * Get the new universal login template.
119
- *
120
- * @method getUniversalLoginTemplate
121
- * @memberOf module:management.BrandingManager.prototype
122
- *
123
- * @example
124
- * management.branding.getUniversalLoginTemplate(data, function (err, template) {
125
- * if (err) {
126
- * // Handle error.
127
- * }
128
- *
129
- * // Branding
130
- * console.log(template);
131
- * });
132
- *
133
- * @param {Object} params Branding parameters (leave empty).
134
- * @param {Object} data Branding data (leave empty).
135
- * @param {Function} [cb] Callback function.
136
- *
137
- * @return {Promise|undefined}
138
- */
139
- utils.wrapPropertyMethod(BrandingManager, 'getUniversalLoginTemplate', 'brandingTemplates.get');
103
+ /**
104
+ * Get the new universal login template.
105
+ *
106
+ * @example
107
+ * management.branding.getUniversalLoginTemplate(data, function (err, template) {
108
+ * if (err) {
109
+ * // Handle error.
110
+ * }
111
+ *
112
+ * // Branding
113
+ * console.log(template);
114
+ * });
115
+ * @param {object} params Branding parameters (leave empty).
116
+ * @param {object} data Branding data (leave empty).
117
+ * @param {Function} [cb] Callback function.
118
+ * @returns {Promise|undefined}
119
+ */
120
+ getUniversalLoginTemplate(...args) {
121
+ return this.brandingTemplates.get(...args);
122
+ }
140
123
 
141
- /**
142
- * Set the new universal login template.
143
- *
144
- * @method setUniversalLoginTemplate
145
- * @memberOf module:management.BrandingManager.prototype
146
- *
147
- * @example
148
- * management.branding.setUniversalLoginTemplate(params, data, function (err) {
149
- * if (err) {
150
- * // Handle error.
151
- * }
152
- * });
153
- *
154
- * @param {Object} params Branding parameters (leavy empty).
155
- * @param {Object} data Branding data (object with template field).
156
- * @param {Function} [cb] Callback function.
157
- *
158
- * @return {Promise|undefined}
159
- */
160
- utils.wrapPropertyMethod(BrandingManager, 'setUniversalLoginTemplate', 'brandingTemplates.update');
124
+ /**
125
+ * Set the new universal login template.
126
+ *
127
+ * @example
128
+ * management.branding.setUniversalLoginTemplate(params, data, function (err) {
129
+ * if (err) {
130
+ * // Handle error.
131
+ * }
132
+ * });
133
+ * @param {object} params Branding parameters (leavy empty).
134
+ * @param {object} data Branding data (object with template field).
135
+ * @param {Function} [cb] Callback function.
136
+ * @returns {Promise|undefined}
137
+ */
138
+ setUniversalLoginTemplate(...args) {
139
+ return this.brandingTemplates.update(...args);
140
+ }
161
141
 
162
- /**
163
- * Delete the new universal login template (revert to default).
164
- *
165
- * @method deleteUniversalLoginTemplate
166
- * @memberOf module:management.BrandingManager.prototype
167
- *
168
- * @example
169
- * management.branding.deleteUniversalLoginTemplate(data, function (err) {
170
- * if (err) {
171
- * // Handle error.
172
- * }
173
- * });
174
- *
175
- * @param {Object} params Branding parameters (leavy empty).
176
- * @param {Object} data Branding data (leave empty).
177
- * @param {Function} [cb] Callback function.
178
- *
179
- * @return {Promise|undefined}
180
- */
181
- utils.wrapPropertyMethod(BrandingManager, 'deleteUniversalLoginTemplate', 'brandingTemplates.delete');
142
+ /**
143
+ * Delete the new universal login template (revert to default).
144
+ *
145
+ * @example
146
+ * management.branding.deleteUniversalLoginTemplate(data, function (err) {
147
+ * if (err) {
148
+ * // Handle error.
149
+ * }
150
+ * });
151
+ * @param {object} params Branding parameters (leavy empty).
152
+ * @param {object} data Branding data (leave empty).
153
+ * @param {Function} [cb] Callback function.
154
+ * @returns {Promise|undefined}
155
+ */
156
+ deleteUniversalLoginTemplate(...args) {
157
+ return this.brandingTemplates.delete(...args);
158
+ }
159
+ }
182
160
 
183
161
  module.exports = BrandingManager;