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,508 +1,434 @@
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
14
6
  * Abstracts interaction with the Guardian endpoint.
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 GuardianManager = function(options) {
24
- if (options === null || typeof options !== 'object') {
25
- throw new ArgumentError('Must provide manager options');
8
+ class GuardianManager {
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
+ }
19
+
20
+ if (options.baseUrl === null || options.baseUrl === undefined) {
21
+ throw new ArgumentError('Must provide a base URL for the API');
22
+ }
23
+
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 retrieving Guardian enrollments.
36
+ *
37
+ * @type {external:RestClient}
38
+ */
39
+ const guardianEnrollmentsAuth0RestClient = new Auth0RestClient(
40
+ `${options.baseUrl}/guardian/enrollments/:id`,
41
+ clientOptions,
42
+ options.tokenProvider
43
+ );
44
+ this.enrollments = new RetryRestClient(guardianEnrollmentsAuth0RestClient, options.retry);
45
+
46
+ /**
47
+ * Provides an abstraction layer for retrieving Guardian tickets.
48
+ *
49
+ * @type {external:RestClient}
50
+ */
51
+ const guardianTicketsAuth0RestClient = new Auth0RestClient(
52
+ `${options.baseUrl}/guardian/enrollments/ticket`,
53
+ clientOptions,
54
+ options.tokenProvider
55
+ );
56
+ this.tickets = new RetryRestClient(guardianTicketsAuth0RestClient, options.retry);
57
+
58
+ /**
59
+ * Provides an abstraction layer for retrieving Guardian factors.
60
+ *
61
+ * @type {external:RestClient}
62
+ */
63
+ const guardianFactorsAuth0RestClient = new Auth0RestClient(
64
+ `${options.baseUrl}/guardian/factors/:name`,
65
+ clientOptions,
66
+ options.tokenProvider
67
+ );
68
+ this.factors = new RetryRestClient(guardianFactorsAuth0RestClient, options.retry);
69
+
70
+ /**
71
+ * Provides an abstraction layer for configuring Factor settings
72
+ *
73
+ * @type {external:RestClient}
74
+ */
75
+ const guardianFactorSettingsAuth0RestClient = new Auth0RestClient(
76
+ `${options.baseUrl}/guardian/factors/:name/settings`,
77
+ clientOptions,
78
+ options.tokenProvider
79
+ );
80
+ this.factorSettings = new RetryRestClient(guardianFactorSettingsAuth0RestClient, options.retry);
81
+
82
+ /**
83
+ * Provides an abstraction layer for retrieving Guardian factor templates.
84
+ *
85
+ * @type {external:RestClient}
86
+ */
87
+ const guardianFactorsTemplatesAuth0RestClient = new Auth0RestClient(
88
+ `${options.baseUrl}/guardian/factors/:name/templates`,
89
+ clientOptions,
90
+ options.tokenProvider
91
+ );
92
+ this.factorsTemplates = new RetryRestClient(
93
+ guardianFactorsTemplatesAuth0RestClient,
94
+ options.retry
95
+ );
96
+
97
+ /**
98
+ * Provides an abstraction layer for retrieving Guardian factor providers.
99
+ *
100
+ * @type {external:RestClient}
101
+ */
102
+ const guardianFactorsProvidersAuth0RestClient = new Auth0RestClient(
103
+ `${options.baseUrl}/guardian/factors/:name/providers/:provider`,
104
+ clientOptions,
105
+ options.tokenProvider
106
+ );
107
+ this.factorsProviders = new RetryRestClient(
108
+ guardianFactorsProvidersAuth0RestClient,
109
+ options.retry
110
+ );
111
+
112
+ /**
113
+ * Provides an abstraction layer for retrieving Guardian policies.
114
+ *
115
+ * @type {external:RestClient}
116
+ */
117
+ const guardianPoliciesAuth0RestClient = new Auth0RestClient(
118
+ `${options.baseUrl}/guardian/policies`,
119
+ clientOptions,
120
+ options.tokenProvider
121
+ );
122
+ this.policies = new RetryRestClient(guardianPoliciesAuth0RestClient, options.retry);
123
+
124
+ /**
125
+ * Provides an abstraction layer for retrieving Guardian phone factor selected provider.
126
+ *
127
+ * @type {external:RestClient}
128
+ */
129
+ const guardianFactorsPhoneSelectedProviderAuth0RestClient = new Auth0RestClient(
130
+ `${options.baseUrl}/guardian/factors/sms/selected-provider`,
131
+ clientOptions,
132
+ options.tokenProvider
133
+ );
134
+ this.factorsPhoneSelectedProvider = new RetryRestClient(
135
+ guardianFactorsPhoneSelectedProviderAuth0RestClient,
136
+ options.retry
137
+ );
138
+
139
+ /**
140
+ * Provides an abstraction layer for retrieving Guardian phone factor message types.
141
+ *
142
+ * @type {external:RestClient}
143
+ */
144
+ const guardianFactorsPhoneMessageTypesAuth0RestClient = new Auth0RestClient(
145
+ `${options.baseUrl}/guardian/factors/phone/message-types`,
146
+ clientOptions,
147
+ options.tokenProvider
148
+ );
149
+ this.factorsPhoneMessageTypes = new RetryRestClient(
150
+ guardianFactorsPhoneMessageTypesAuth0RestClient,
151
+ options.retry
152
+ );
26
153
  }
27
154
 
28
- if (options.baseUrl === null || options.baseUrl === undefined) {
29
- throw new ArgumentError('Must provide a base URL for the API');
155
+ /**
156
+ * Get a single Guardian enrollment.
157
+ *
158
+ * @example
159
+ * management.guardian.getGuardianEnrollment({ id: ENROLLMENT_ID }, function (err, enrollment) {
160
+ * console.log(enrollment);
161
+ * });
162
+ * @param {object} data The user data object.
163
+ * @param {string} data.id The user id.
164
+ * @param {Function} [cb] Callback function.
165
+ * @returns {Promise|undefined}
166
+ */
167
+ getGuardianEnrollment(...args) {
168
+ return this.enrollments.get(...args);
30
169
  }
31
170
 
32
- if ('string' !== typeof options.baseUrl || options.baseUrl.length === 0) {
33
- throw new ArgumentError('The provided base URL is invalid');
171
+ /**
172
+ * Delete a Guardian enrollment.
173
+ *
174
+ * @example
175
+ * management.guardian.deleteGuardianEnrollment({ id: ENROLLMENT_ID }, function (err, enrollments) {
176
+ * console.log(enrollments);
177
+ * });
178
+ * @param {object} data The user data object.
179
+ * @param {string} data.id The user id.
180
+ * @param {Function} [cb] Callback function.
181
+ * @returns {Promise|undefined}
182
+ */
183
+ deleteGuardianEnrollment(...args) {
184
+ return this.enrollments.delete(...args);
34
185
  }
35
186
 
36
- var clientOptions = {
37
- errorFormatter: { message: 'message', name: 'error' },
38
- headers: options.headers,
39
- query: { repeatParams: false }
40
- };
41
-
42
187
  /**
43
- * Provides an abstraction layer for retrieving Guardian enrollments.
188
+ * Create a Guardian enrollment ticket.
44
189
  *
45
- * @type {external:RestClient}
190
+ * @example
191
+ * management.guardian.createEnrollmentTicket(function (err, ticket) {
192
+ * console.log(ticket);
193
+ * });
194
+ * @param {Function} [cb] Callback function.
195
+ * @returns {Promise|undefined}
46
196
  */
47
- var guardianEnrollmentsAuth0RestClient = new Auth0RestClient(
48
- options.baseUrl + '/guardian/enrollments/:id',
49
- clientOptions,
50
- options.tokenProvider
51
- );
52
- this.enrollments = new RetryRestClient(guardianEnrollmentsAuth0RestClient, options.retry);
197
+ createEnrollmentTicket(...args) {
198
+ return this.tickets.create(...args);
199
+ }
53
200
 
54
201
  /**
55
- * Provides an abstraction layer for retrieving Guardian tickets.
202
+ * Get a list of factors and statuses.
56
203
  *
57
- * @type {external:RestClient}
204
+ * @example
205
+ * management.guardian.getFactors(function (err, factors) {
206
+ * console.log(factors.length);
207
+ * });
208
+ * @param {Function} [cb] Callback function.
209
+ * @returns {Promise|undefined}
58
210
  */
59
- var guardianTicketsAuth0RestClient = new Auth0RestClient(
60
- options.baseUrl + '/guardian/enrollments/ticket',
61
- clientOptions,
62
- options.tokenProvider
63
- );
64
- this.tickets = new RetryRestClient(guardianTicketsAuth0RestClient, options.retry);
211
+ getFactors(...args) {
212
+ return this.factors.getAll(...args);
213
+ }
65
214
 
66
215
  /**
67
- * Provides an abstraction layer for retrieving Guardian factors.
216
+ * Get Guardian factor configuration
68
217
  *
69
- * @type {external:RestClient}
218
+ * @example
219
+ * management.guardian.getFactorSettings({ name: 'webauthn-roaming' }, function (err, settings) {
220
+ * console.log(settings);
221
+ * });
222
+ * @param {object} params Factor parameters.
223
+ * @param {Function} [cb] Callback function.
224
+ * @returns {Promise|undefined}
70
225
  */
71
- var guardianFactorsAuth0RestClient = new Auth0RestClient(
72
- options.baseUrl + '/guardian/factors/:name',
73
- clientOptions,
74
- options.tokenProvider
75
- );
76
- this.factors = new RetryRestClient(guardianFactorsAuth0RestClient, options.retry);
226
+ getFactorSettings(...args) {
227
+ return this.factorSettings.get(...args);
228
+ }
77
229
 
78
230
  /**
79
- * Provides an abstraction layer for configuring Factor settings
231
+ * Update Guardian factor configuration
80
232
  *
81
- * @type {external:RestClient}
233
+ * @example
234
+ * management.guardian.updateFactorSettings(
235
+ * { name: 'webauthn-roaming' },
236
+ * { userVerification: 'discouraged', overrideRelyingParty: false },
237
+ * function (err, settings) {
238
+ * console.log(settings);
239
+ * });
240
+ * @param {object} params Factor parameters.
241
+ * @param {Function} [cb] Callback function.
242
+ * @returns {Promise|undefined}
82
243
  */
83
- var guardianFactorSettingsAuth0RestClient = new Auth0RestClient(
84
- options.baseUrl + '/guardian/factors/:name/settings',
85
- clientOptions,
86
- options.tokenProvider
87
- );
88
- this.factorSettings = new RetryRestClient(guardianFactorSettingsAuth0RestClient, options.retry);
244
+ updateFactorSettings(...args) {
245
+ return this.factorSettings.update(...args);
246
+ }
89
247
 
90
248
  /**
91
- * Provides an abstraction layer for retrieving Guardian factor templates.
249
+ * Get Guardian factor provider configuration
92
250
  *
93
- * @type {external:RestClient}
251
+ * @example
252
+ * management.guardian.getFactorProvider({ name: 'sms', provider: 'twilio'}, function (err, provider) {
253
+ * console.log(provider);
254
+ * });
255
+ * @param {object} params Factor provider parameters.
256
+ * @param {Function} [cb] Callback function.
257
+ * @returns {Promise|undefined}
94
258
  */
95
- var guardianFactorsTemplatesAuth0RestClient = new Auth0RestClient(
96
- options.baseUrl + '/guardian/factors/:name/templates',
97
- clientOptions,
98
- options.tokenProvider
99
- );
100
- this.factorsTemplates = new RetryRestClient(
101
- guardianFactorsTemplatesAuth0RestClient,
102
- options.retry
103
- );
259
+ getFactorProvider(...args) {
260
+ return this.factorsProviders.get(...args);
261
+ }
104
262
 
105
263
  /**
106
- * Provides an abstraction layer for retrieving Guardian factor providers.
264
+ * Update Guardian's factor provider
107
265
  *
108
- * @type {external:RestClient}
266
+ * @example
267
+ * management.guardian.updateFactorProvider({ name: 'sms', provider: 'twilio' }, {
268
+ * messaging_service_sid: 'XXXXXXXXXXXXXX',
269
+ * auth_token: 'XXXXXXXXXXXXXX',
270
+ * sid: 'XXXXXXXXXXXXXX'
271
+ * }, function (err, provider) {
272
+ * console.log(provider);
273
+ * });
274
+ * @param {object} params Factor provider parameters.
275
+ * @param {object} data Updated Factor provider data.
276
+ * @param {Function} [cb] Callback function.
277
+ * @returns {Promise|undefined}
109
278
  */
110
- var guardianFactorsProvidersAuth0RestClient = new Auth0RestClient(
111
- options.baseUrl + '/guardian/factors/:name/providers/:provider',
112
- clientOptions,
113
- options.tokenProvider
114
- );
115
- this.factorsProviders = new RetryRestClient(
116
- guardianFactorsProvidersAuth0RestClient,
117
- options.retry
118
- );
279
+ updateFactorProvider(...args) {
280
+ return this.factorsProviders.update(...args);
281
+ }
119
282
 
120
283
  /**
121
- * Provides an abstraction layer for retrieving Guardian policies.
284
+ * Get Guardian enrollment and verification factor templates
122
285
  *
123
- * @type {external:RestClient}
286
+ * @example
287
+ * management.guardian.getFactorTemplates({ name: 'sms' }, function (err, templates) {
288
+ * console.log(templates);
289
+ * });
290
+ * @param {object} params Factor parameters.
291
+ * @param {Function} [cb] Callback function.
292
+ * @returns {Promise|undefined}
124
293
  */
125
- var guardianPoliciesAuth0RestClient = new Auth0RestClient(
126
- options.baseUrl + '/guardian/policies',
127
- clientOptions,
128
- options.tokenProvider
129
- );
130
- this.policies = new RetryRestClient(guardianPoliciesAuth0RestClient, options.retry);
294
+ getFactorTemplates(...args) {
295
+ return this.factorsTemplates.get(...args);
296
+ }
131
297
 
132
298
  /**
133
- * Provides an abstraction layer for retrieving Guardian phone factor selected provider.
299
+ * Update Guardian enrollment and verification factor templates
134
300
  *
135
- * @type {external:RestClient}
301
+ * @example
302
+ * management.guardian.updateFactorProvider({ name: 'sms' }, {
303
+ * enrollment_message: "{{code}} is your verification code for {{tenant.friendly_name}}. Please enter this code to verify your enrollment.",
304
+ * verification_message: "{{code}} is your verification code for {{tenant.friendly_name}}"
305
+ * }, function (err, templates) {
306
+ * console.log(templates);
307
+ * });
308
+ * @param {object} params Factor parameters.
309
+ * @param {object} data Updated factor templates data.
310
+ * @param {Function} [cb] Callback function.
311
+ * @returns {Promise|undefined}
136
312
  */
137
- var guardianFactorsPhoneSelectedProviderAuth0RestClient = new Auth0RestClient(
138
- options.baseUrl + '/guardian/factors/sms/selected-provider',
139
- clientOptions,
140
- options.tokenProvider
141
- );
142
- this.factorsPhoneSelectedProvider = new RetryRestClient(
143
- guardianFactorsPhoneSelectedProviderAuth0RestClient,
144
- options.retry
145
- );
313
+ updateFactorTemplates(...args) {
314
+ return this.factorsTemplates.update(...args);
315
+ }
146
316
 
147
317
  /**
148
- * Provides an abstraction layer for retrieving Guardian phone factor message types.
318
+ * Update Guardian Factor
149
319
  *
150
- * @type {external:RestClient}
320
+ * @example
321
+ * management.guardian.updateFactor({ name: 'sms' }, {
322
+ * enabled: true
323
+ * }, function (err, factor) {
324
+ * console.log(factor);
325
+ * });
326
+ * @param {object} params Factor parameters.
327
+ * @param {object} data Updated factor data.
328
+ * @param {Function} [cb] Callback function.
329
+ * @returns {Promise|undefined}
151
330
  */
152
- var guardianFactorsPhoneMessageTypesAuth0RestClient = new Auth0RestClient(
153
- options.baseUrl + '/guardian/factors/phone/message-types',
154
- clientOptions,
155
- options.tokenProvider
156
- );
157
- this.factorsPhoneMessageTypes = new RetryRestClient(
158
- guardianFactorsPhoneMessageTypesAuth0RestClient,
159
- options.retry
160
- );
161
- };
162
-
163
- /**
164
- * Get a single Guardian enrollment.
165
- *
166
- * @method getGuardianEnrollment
167
- * @memberOf module:management.GuardianManager.prototype
168
- *
169
- * @example
170
- * management.guardian.getGuardianEnrollment({ id: ENROLLMENT_ID }, function (err, enrollment) {
171
- * console.log(enrollment);
172
- * });
173
- *
174
- * @param {Object} data The user data object.
175
- * @param {String} data.id The user id.
176
- * @param {Function} [cb] Callback function.
177
- *
178
- * @return {Promise|undefined}
179
- */
180
- utils.wrapPropertyMethod(GuardianManager, 'getGuardianEnrollment', 'enrollments.get');
181
-
182
- /**
183
- * Delete a Guardian enrollment.
184
- *
185
- * @method deleteGuardianEnrollment
186
- * @memberOf module:management.GuardianManager.prototype
187
- *
188
- * @example
189
- * management.guardian.deleteGuardianEnrollment({ id: ENROLLMENT_ID }, function (err, enrollments) {
190
- * console.log(enrollments);
191
- * });
192
- *
193
- * @param {Object} data The user data object.
194
- * @param {String} data.id The user id.
195
- * @param {Function} [cb] Callback function.
196
- *
197
- * @return {Promise|undefined}
198
- */
199
- utils.wrapPropertyMethod(GuardianManager, 'deleteGuardianEnrollment', 'enrollments.delete');
200
-
201
- /**
202
- * Create a Guardian enrollment ticket.
203
- *
204
- * @method createEnrollmentTicket
205
- * @memberOf module:management.GuardianManager.prototype
206
- *
207
- * @example
208
- * management.guardian.createEnrollmentTicket(function (err, ticket) {
209
- * console.log(ticket);
210
- * });
211
- *
212
- * @param {Function} [cb] Callback function.
213
- *
214
- * @return {Promise|undefined}
215
- */
216
- utils.wrapPropertyMethod(GuardianManager, 'createEnrollmentTicket', 'tickets.create');
217
-
218
- /**
219
- * Get a list of factors and statuses.
220
- *
221
- * @method getFactors
222
- * @memberOf module:management.GuardianManager.prototype
223
- *
224
- * @example
225
- * management.guardian.getFactors(function (err, factors) {
226
- * console.log(factors.length);
227
- * });
228
- *
229
- * @param {Function} [cb] Callback function.
230
- *
231
- * @return {Promise|undefined}
232
- */
233
- utils.wrapPropertyMethod(GuardianManager, 'getFactors', 'factors.getAll');
234
-
235
- /**
236
- * Get Guardian factor configuration
237
- *
238
- * @method getFactorSettings
239
- * @memberOf module:management.GuardianManager.prototype
240
- *
241
- * @example
242
- * management.guardian.getFactorSettings({ name: 'webauthn-roaming' }, function (err, settings) {
243
- * console.log(settings);
244
- * });
245
- *
246
- * @param {Object} params Factor parameters.
247
- * @param {Function} [cb] Callback function.
248
- *
249
- * @return {Promise|undefined}
250
- */
251
- utils.wrapPropertyMethod(GuardianManager, 'getFactorSettings', 'factorSettings.get');
252
-
253
- /**
254
- * Update Guardian factor configuration
255
- *
256
- * @method updateFactorSettings
257
- * @memberOf module:management.GuardianManager.prototype
258
- *
259
- * @example
260
- * management.guardian.updateFactorSettings(
261
- * { name: 'webauthn-roaming' },
262
- * { userVerification: 'discouraged', overrideRelyingParty: false },
263
- * function (err, settings) {
264
- * console.log(settings);
265
- * });
266
- *
267
- * @param {Object} params Factor parameters.
268
- * @param {Function} [cb] Callback function.
269
- *
270
- * @return {Promise|undefined}
271
- */
272
- utils.wrapPropertyMethod(GuardianManager, 'updateFactorSettings', 'factorSettings.update');
273
-
274
- /**
275
- * Get Guardian factor provider configuration
276
- *
277
- * @method getFactorProvider
278
- * @memberOf module:management.GuardianManager.prototype
279
- *
280
- * @example
281
- * management.guardian.getFactorProvider({ name: 'sms', provider: 'twilio'}, function (err, provider) {
282
- * console.log(provider);
283
- * });
284
- *
285
- * @param {Object} params Factor provider parameters.
286
- * @param {Function} [cb] Callback function.
287
- *
288
- * @return {Promise|undefined}
289
- */
290
- utils.wrapPropertyMethod(GuardianManager, 'getFactorProvider', 'factorsProviders.get');
291
-
292
- /**
293
- * Update Guardian's factor provider
294
- *
295
- * @method updateFactorProvider
296
- * @memberOf module:management.GuardianManager.prototype
297
- *
298
- * @example
299
- * management.guardian.updateFactorProvider({ name: 'sms', provider: 'twilio' }, {
300
- * messaging_service_sid: 'XXXXXXXXXXXXXX',
301
- * auth_token: 'XXXXXXXXXXXXXX',
302
- * sid: 'XXXXXXXXXXXXXX'
303
- * }, function (err, provider) {
304
- * console.log(provider);
305
- * });
306
- *
307
- * @param {Object} params Factor provider parameters.
308
- * @param {Object} data Updated Factor provider data.
309
- * @param {Function} [cb] Callback function.
310
- *
311
- * @return {Promise|undefined}
312
- */
313
- utils.wrapPropertyMethod(GuardianManager, 'updateFactorProvider', 'factorsProviders.update');
314
-
315
- /**
316
- * Get Guardian enrollment and verification factor templates
317
- *
318
- * @method getFactorTemplates
319
- * @memberOf module:management.GuardianManager.prototype
320
- *
321
- * @example
322
- * management.guardian.getFactorTemplates({ name: 'sms' }, function (err, templates) {
323
- * console.log(templates);
324
- * });
325
- *
326
- * @param {Object} params Factor parameters.
327
- * @param {Function} [cb] Callback function.
328
- *
329
- * @return {Promise|undefined}
330
- */
331
- utils.wrapPropertyMethod(GuardianManager, 'getFactorTemplates', 'factorsTemplates.get');
332
-
333
- /**
334
- * Update Guardian enrollment and verification factor templates
335
- *
336
- * @method updateFactorTemplates
337
- * @memberOf module:management.GuardianManager.prototype
338
- *
339
- * @example
340
- * management.guardian.updateFactorProvider({ name: 'sms' }, {
341
- * enrollment_message: "{{code}} is your verification code for {{tenant.friendly_name}}. Please enter this code to verify your enrollment.",
342
- * verification_message: "{{code}} is your verification code for {{tenant.friendly_name}}"
343
- * }, function (err, templates) {
344
- * console.log(templates);
345
- * });
346
- *
347
- * @param {Object} params Factor parameters.
348
- * @param {Object} data Updated factor templates data.
349
- * @param {Function} [cb] Callback function.
350
- *
351
- * @return {Promise|undefined}
352
- */
353
- utils.wrapPropertyMethod(GuardianManager, 'updateFactorTemplates', 'factorsTemplates.update');
354
-
355
- /**
356
- * Update Guardian Factor
357
- *
358
- * @method updateFactor
359
- * @memberOf module:management.GuardianManager.prototype
360
- *
361
- * @example
362
- * management.guardian.updateFactor({ name: 'sms' }, {
363
- * enabled: true
364
- * }, function (err, factor) {
365
- * console.log(factor);
366
- * });
367
- *
368
- * @param {Object} params Factor parameters.
369
- * @param {Object} data Updated factor data.
370
- * @param {Function} [cb] Callback function.
371
- *
372
- * @return {Promise|undefined}
373
- */
374
- utils.wrapPropertyMethod(GuardianManager, 'updateFactor', 'factors.update');
331
+ updateFactor(...args) {
332
+ return this.factors.update(...args);
333
+ }
375
334
 
376
- /**
377
- * Get enabled Guardian policies
378
- *
379
- * @method getPolicies
380
- * @memberOf module:management.GuardianManager.prototype
381
- *
382
- * @example
383
- * management.guardian.getPolicies(function (err, policies) {
384
- * console.log(policies);
385
- * });
386
- *
387
- * @param {Function} [cb] Callback function.
388
- *
389
- * @return {Promise|undefined}
390
- */
391
- utils.wrapPropertyMethod(GuardianManager, 'getPolicies', 'policies.get');
335
+ /**
336
+ * Get enabled Guardian policies
337
+ *
338
+ * @example
339
+ * management.guardian.getPolicies(function (err, policies) {
340
+ * console.log(policies);
341
+ * });
342
+ * @param {Function} [cb] Callback function.
343
+ * @returns {Promise|undefined}
344
+ */
345
+ getPolicies(...args) {
346
+ return this.policies.get(...args);
347
+ }
392
348
 
393
- /**
394
- * Update enabled Guardian policies
395
- *
396
- * @method updatePolicies
397
- * @memberOf module:management.GuardianManager.prototype
398
- *
399
- * @example
400
- * management.guardian.updatePolicies({}, [
401
- * 'all-applications'
402
- * ], function (err, policies) {
403
- * console.log(policies);
404
- * });
405
- *
406
- * @param {Object} params Parameters.
407
- * @param {String[]} data Policies to enable. Empty array disables all policies.
408
- * @param {Function} [cb] Callback function.
409
- *
410
- * @return {Promise|undefined}
411
- */
412
- utils.wrapPropertyMethod(GuardianManager, 'updatePolicies', 'policies.update');
349
+ /**
350
+ * Update enabled Guardian policies
351
+ *
352
+ * @example
353
+ * management.guardian.updatePolicies({}, [
354
+ * 'all-applications'
355
+ * ], function (err, policies) {
356
+ * console.log(policies);
357
+ * });
358
+ * @param {object} params Parameters.
359
+ * @param {string[]} data Policies to enable. Empty array disables all policies.
360
+ * @param {Function} [cb] Callback function.
361
+ * @returns {Promise|undefined}
362
+ */
363
+ updatePolicies(...args) {
364
+ return this.policies.update(...args);
365
+ }
413
366
 
414
- /**
415
- * Get the Guardian phone factor's selected provider
416
- *
417
- * @method getPhoneFactorSelectedProvider
418
- * @memberOf module:management.GuardianManager.prototype
419
- *
420
- * @example
421
- * management.guardian.getPhoneFactorSelectedProvider(function (err, selectedProvider) {
422
- * console.log(selectedProvider);
423
- * });
424
- *
425
- * @param {Function} [cb] Callback function.
426
- *
427
- * @return {Promise|undefined}
428
- */
429
- utils.wrapPropertyMethod(
430
- GuardianManager,
431
- 'getPhoneFactorSelectedProvider',
432
- 'factorsPhoneSelectedProvider.get'
433
- );
367
+ /**
368
+ * Get the Guardian phone factor's selected provider
369
+ *
370
+ * @example
371
+ * management.guardian.getPhoneFactorSelectedProvider(function (err, selectedProvider) {
372
+ * console.log(selectedProvider);
373
+ * });
374
+ * @param {Function} [cb] Callback function.
375
+ * @returns {Promise|undefined}
376
+ */
377
+ getPhoneFactorSelectedProvider(...args) {
378
+ return this.factorsPhoneSelectedProvider.get(...args);
379
+ }
434
380
 
435
- /**
436
- * Update the Guardian phone factor's selected provider
437
- *
438
- * @method updatePhoneFactorSelectedProvider
439
- * @memberOf module:management.GuardianManager.prototype
440
- *
441
- * @example
442
- * management.guardian.updatePhoneFactorSelectedProvider({}, {
443
- * provider: 'twilio'
444
- * }, function (err, factor) {
445
- * console.log(factor);
446
- * });
447
- *
448
- * @param {Object} params Parameters.
449
- * @param {Object} data Updated selected provider data.
450
- * @param {String} data.provider Name of the selected provider
451
- * @param {Function} [cb] Callback function.
452
- *
453
- * @return {Promise|undefined}
454
- */
455
- utils.wrapPropertyMethod(
456
- GuardianManager,
457
- 'updatePhoneFactorSelectedProvider',
458
- 'factorsPhoneSelectedProvider.update'
459
- );
381
+ /**
382
+ * Update the Guardian phone factor's selected provider
383
+ *
384
+ * @example
385
+ * management.guardian.updatePhoneFactorSelectedProvider({}, {
386
+ * provider: 'twilio'
387
+ * }, function (err, factor) {
388
+ * console.log(factor);
389
+ * });
390
+ * @param {object} params Parameters.
391
+ * @param {object} data Updated selected provider data.
392
+ * @param {string} data.provider Name of the selected provider
393
+ * @param {Function} [cb] Callback function.
394
+ * @returns {Promise|undefined}
395
+ */
396
+ updatePhoneFactorSelectedProvider(...args) {
397
+ return this.factorsPhoneSelectedProvider.update(...args);
398
+ }
460
399
 
461
- /**
462
- * Get the Guardian phone factor's message types
463
- *
464
- * @method getPhoneFactorMessageTypes
465
- * @memberOf module:management.GuardianManager.prototype
466
- *
467
- * @example
468
- * management.guardian.getPhoneFactorMessageTypes(function (err, messageTypes) {
469
- * console.log(messageTypes);
470
- * });
471
- *
472
- * @param {Function} [cb] Callback function.
473
- *
474
- * @return {Promise|undefined}
475
- */
476
- utils.wrapPropertyMethod(
477
- GuardianManager,
478
- 'getPhoneFactorMessageTypes',
479
- 'factorsPhoneMessageTypes.get'
480
- );
400
+ /**
401
+ * Get the Guardian phone factor's message types
402
+ *
403
+ * @example
404
+ * management.guardian.getPhoneFactorMessageTypes(function (err, messageTypes) {
405
+ * console.log(messageTypes);
406
+ * });
407
+ * @param {Function} [cb] Callback function.
408
+ * @returns {Promise|undefined}
409
+ */
410
+ getPhoneFactorMessageTypes(...args) {
411
+ return this.factorsPhoneMessageTypes.get(...args);
412
+ }
481
413
 
482
- /**
483
- * Update the Guardian phone factor's message types
484
- *
485
- * @method updatePhoneFactorMessageTypes
486
- * @memberOf module:management.GuardianManager.prototype
487
- *
488
- * @example
489
- * management.guardian.updatePhoneFactorMessageTypes({}, {
490
- * message_types: ['sms', 'voice']
491
- * }, function (err, factor) {
492
- * console.log(factor);
493
- * });
494
- *
495
- * @param {Object} params Parameters.
496
- * @param {Object} data Updated selected provider data.
497
- * @param {String[]} data.message_types Message types (only `"sms"` and `"voice"` are supported).
498
- * @param {Function} [cb] Callback function.
499
- *
500
- * @return {Promise|undefined}
501
- */
502
- utils.wrapPropertyMethod(
503
- GuardianManager,
504
- 'updatePhoneFactorMessageTypes',
505
- 'factorsPhoneMessageTypes.update'
506
- );
414
+ /**
415
+ * Update the Guardian phone factor's message types
416
+ *
417
+ * @example
418
+ * management.guardian.updatePhoneFactorMessageTypes({}, {
419
+ * message_types: ['sms', 'voice']
420
+ * }, function (err, factor) {
421
+ * console.log(factor);
422
+ * });
423
+ * @param {object} params Parameters.
424
+ * @param {object} data Updated selected provider data.
425
+ * @param {string[]} data.message_types Message types (only `"sms"` and `"voice"` are supported).
426
+ * @param {Function} [cb] Callback function.
427
+ * @returns {Promise|undefined}
428
+ */
429
+ updatePhoneFactorMessageTypes(...args) {
430
+ return this.factorsPhoneMessageTypes.update(...args);
431
+ }
432
+ }
507
433
 
508
434
  module.exports = GuardianManager;