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.
- package/CHANGELOG.md +557 -0
- package/README.md +33 -11
- package/package.json +22 -15
- package/src/Auth0RestClient.js +72 -71
- package/src/RetryRestClient.js +78 -81
- package/src/auth/DatabaseAuthenticator.js +242 -259
- package/src/auth/OAUthWithIDTokenValidation.js +99 -103
- package/src/auth/OAuthAuthenticator.js +325 -344
- package/src/auth/PasswordlessAuthenticator.js +238 -252
- package/src/auth/TokensManager.js +231 -246
- package/src/auth/UsersManager.js +149 -160
- package/src/auth/idToken.js +22 -19
- package/src/auth/index.js +510 -581
- package/src/errors.js +23 -23
- package/src/index.js +3 -2
- package/src/management/ActionsManager.js +503 -585
- package/src/management/BlacklistedTokensManager.js +77 -84
- package/src/management/BrandingManager.js +141 -163
- package/src/management/ClientGrantsManager.js +132 -145
- package/src/management/ClientsManager.js +145 -161
- package/src/management/ConnectionsManager.js +215 -204
- package/src/management/CustomDomainsManager.js +140 -157
- package/src/management/DeviceCredentialsManager.js +95 -111
- package/src/management/EmailProviderManager.js +110 -128
- package/src/management/EmailTemplatesManager.js +96 -112
- package/src/management/GrantsManager.js +94 -101
- package/src/management/GuardianManager.js +381 -455
- package/src/management/HooksManager.js +283 -325
- package/src/management/JobsManager.js +310 -343
- package/src/management/LogStreamsManager.js +142 -158
- package/src/management/LogsManager.js +92 -99
- package/src/management/ManagementTokenProvider.js +112 -120
- package/src/management/MigrationsManager.js +81 -90
- package/src/management/OrganizationsManager.js +686 -761
- package/src/management/PromptsManager.js +160 -182
- package/src/management/ResourceServersManager.js +143 -160
- package/src/management/RolesManager.js +323 -369
- package/src/management/RulesConfigsManager.js +94 -110
- package/src/management/RulesManager.js +154 -176
- package/src/management/StatsManager.js +87 -103
- package/src/management/TenantManager.js +81 -97
- package/src/management/TicketsManager.js +107 -115
- package/src/management/UserBlocksManager.js +135 -162
- package/src/management/UsersManager.js +729 -852
- package/src/management/index.js +3094 -3619
- package/src/utils.js +31 -60
|
@@ -1,411 +1,365 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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 RolesManager
|
|
14
6
|
* The role class provides a simple abstraction for performing CRUD operations
|
|
15
7
|
* on Auth0 RolesManager.
|
|
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
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
9
|
+
class RolesManager {
|
|
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
|
-
|
|
30
|
-
|
|
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
|
+
};
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Provides an abstraction layer for performing CRUD operations on
|
|
41
|
+
* {@link https://auth0.com/docs/api/v2#!/RolesManager Auth0 RolesManagers}.
|
|
42
|
+
*
|
|
43
|
+
* @type {external:RestClient}
|
|
44
|
+
*/
|
|
45
|
+
const auth0RestClient = new Auth0RestClient(
|
|
46
|
+
`${options.baseUrl}/roles/:id`,
|
|
47
|
+
clientOptions,
|
|
48
|
+
options.tokenProvider
|
|
49
|
+
);
|
|
50
|
+
this.resource = new RetryRestClient(auth0RestClient, options.retry);
|
|
51
|
+
|
|
52
|
+
const permissionsInRoleClient = new Auth0RestClient(
|
|
53
|
+
`${options.baseUrl}/roles/:id/permissions`,
|
|
54
|
+
clientOptions,
|
|
55
|
+
options.tokenProvider
|
|
56
|
+
);
|
|
57
|
+
this.permissions = new RetryRestClient(permissionsInRoleClient, options.retry);
|
|
32
58
|
|
|
33
|
-
|
|
34
|
-
|
|
59
|
+
const usersInRoleClient = new Auth0RestClient(
|
|
60
|
+
`${options.baseUrl}/roles/:id/users`,
|
|
61
|
+
clientOptions,
|
|
62
|
+
options.tokenProvider
|
|
63
|
+
);
|
|
64
|
+
this.users = new RetryRestClient(usersInRoleClient, options.retry);
|
|
35
65
|
}
|
|
36
66
|
|
|
37
67
|
/**
|
|
38
|
-
*
|
|
68
|
+
* Create a new role.
|
|
39
69
|
*
|
|
40
|
-
* @
|
|
70
|
+
* @example
|
|
71
|
+
* management.roles.create(data, function (err) {
|
|
72
|
+
* if (err) {
|
|
73
|
+
* // Handle error.
|
|
74
|
+
* }
|
|
75
|
+
*
|
|
76
|
+
* // Role created.
|
|
77
|
+
* });
|
|
78
|
+
* @param {object} data Role data object.
|
|
79
|
+
* @param {Function} [cb] Callback function.
|
|
80
|
+
* @returns {Promise|undefined}
|
|
41
81
|
*/
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
};
|
|
82
|
+
create(...args) {
|
|
83
|
+
return this.resource.create(...args);
|
|
84
|
+
}
|
|
46
85
|
|
|
47
86
|
/**
|
|
48
|
-
*
|
|
49
|
-
*
|
|
87
|
+
* Get all roles.
|
|
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>
|
|
50
94
|
*
|
|
51
|
-
*
|
|
95
|
+
* // Pagination settings.
|
|
96
|
+
* var params = {
|
|
97
|
+
* per_page: 10,
|
|
98
|
+
* page: 0
|
|
99
|
+
* };
|
|
100
|
+
*
|
|
101
|
+
* management.roles.getAll(params, function (err, roles) {
|
|
102
|
+
* console.log(roles.length);
|
|
103
|
+
* });
|
|
104
|
+
* @param {object} [params] Roles parameters.
|
|
105
|
+
* @param {number} [params.per_page] Number of results per page.
|
|
106
|
+
* @param {number} [params.page] Page number, zero indexed.
|
|
107
|
+
* @param {Function} [cb] Callback function.
|
|
108
|
+
* @returns {Promise|undefined}
|
|
52
109
|
*/
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
options.tokenProvider
|
|
57
|
-
);
|
|
58
|
-
this.resource = new RetryRestClient(auth0RestClient, options.retry);
|
|
59
|
-
|
|
60
|
-
var permissionsInRoleClient = new Auth0RestClient(
|
|
61
|
-
options.baseUrl + '/roles/:id/permissions',
|
|
62
|
-
clientOptions,
|
|
63
|
-
options.tokenProvider
|
|
64
|
-
);
|
|
65
|
-
this.permissions = new RetryRestClient(permissionsInRoleClient, options.retry);
|
|
66
|
-
|
|
67
|
-
var usersInRoleClient = new Auth0RestClient(
|
|
68
|
-
options.baseUrl + '/roles/:id/users',
|
|
69
|
-
clientOptions,
|
|
70
|
-
options.tokenProvider
|
|
71
|
-
);
|
|
72
|
-
this.users = new RetryRestClient(usersInRoleClient, options.retry);
|
|
73
|
-
};
|
|
110
|
+
getAll(...args) {
|
|
111
|
+
return this.resource.getAll(...args);
|
|
112
|
+
}
|
|
74
113
|
|
|
75
|
-
/**
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
*/
|
|
95
|
-
utils.wrapPropertyMethod(RolesManager, 'create', 'resource.create');
|
|
114
|
+
/**
|
|
115
|
+
* Get an Auth0 role.
|
|
116
|
+
*
|
|
117
|
+
* @example
|
|
118
|
+
* management.roles.get({ id: ROLE_ID }, function (err, role) {
|
|
119
|
+
* if (err) {
|
|
120
|
+
* // Handle error.
|
|
121
|
+
* }
|
|
122
|
+
*
|
|
123
|
+
* console.log(role);
|
|
124
|
+
* });
|
|
125
|
+
* @param {object} params Role parameters.
|
|
126
|
+
* @param {string} params.id Role ID.
|
|
127
|
+
* @param {Function} [cb] Callback function.
|
|
128
|
+
* @returns {Promise|undefined}
|
|
129
|
+
*/
|
|
130
|
+
get(...args) {
|
|
131
|
+
return this.resource.get(...args);
|
|
132
|
+
}
|
|
96
133
|
|
|
97
|
-
/**
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
134
|
+
/**
|
|
135
|
+
* Update an existing role.
|
|
136
|
+
*
|
|
137
|
+
* @example
|
|
138
|
+
* var data = { name: 'New name' };
|
|
139
|
+
* var params = { id: ROLE_ID };
|
|
140
|
+
*
|
|
141
|
+
* // Using auth0 instance.
|
|
142
|
+
* management.updateRole(params, data, function (err, role) {
|
|
143
|
+
* if (err) {
|
|
144
|
+
* // Handle error.
|
|
145
|
+
* }
|
|
146
|
+
*
|
|
147
|
+
* console.log(role.name); // 'New name'
|
|
148
|
+
* });
|
|
149
|
+
*
|
|
150
|
+
* // Using the roles manager directly.
|
|
151
|
+
* management.roles.update(params, data, function (err, role) {
|
|
152
|
+
* if (err) {
|
|
153
|
+
* // Handle error.
|
|
154
|
+
* }
|
|
155
|
+
*
|
|
156
|
+
* console.log(role.name); // 'New name'
|
|
157
|
+
* });
|
|
158
|
+
* @param {object} params Role parameters.
|
|
159
|
+
* @param {string} params.id Role ID.
|
|
160
|
+
* @param {object} data Updated role data.
|
|
161
|
+
* @param {Function} [cb] Callback function.
|
|
162
|
+
* @returns {Promise|undefined}
|
|
163
|
+
*/
|
|
164
|
+
update(...args) {
|
|
165
|
+
return this.resource.patch(...args);
|
|
166
|
+
}
|
|
127
167
|
|
|
128
|
-
/**
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
* @return {Promise|undefined}
|
|
148
|
-
*/
|
|
149
|
-
utils.wrapPropertyMethod(RolesManager, 'get', 'resource.get');
|
|
168
|
+
/**
|
|
169
|
+
* Delete an existing role.
|
|
170
|
+
*
|
|
171
|
+
* @example
|
|
172
|
+
* management.roles.delete({ id: ROLE_ID }, function (err) {
|
|
173
|
+
* if (err) {
|
|
174
|
+
* // Handle error.
|
|
175
|
+
* }
|
|
176
|
+
*
|
|
177
|
+
* // Role deleted.
|
|
178
|
+
* });
|
|
179
|
+
* @param {object} params Role parameters.
|
|
180
|
+
* @param {string} params.id Role ID.
|
|
181
|
+
* @param {Function} [cb] Callback function.
|
|
182
|
+
* @returns {Promise|undefined}
|
|
183
|
+
*/
|
|
184
|
+
delete(...args) {
|
|
185
|
+
return this.resource.delete(...args);
|
|
186
|
+
}
|
|
150
187
|
|
|
151
|
-
/**
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
* if (err) {
|
|
173
|
-
* // Handle error.
|
|
174
|
-
* }
|
|
175
|
-
*
|
|
176
|
-
* console.log(role.name); // 'New name'
|
|
177
|
-
* });
|
|
178
|
-
*
|
|
179
|
-
* @param {Object} params Role parameters.
|
|
180
|
-
* @param {String} params.id Role ID.
|
|
181
|
-
* @param {Object} data Updated role data.
|
|
182
|
-
* @param {Function} [cb] Callback function.
|
|
183
|
-
*
|
|
184
|
-
* @return {Promise|undefined}
|
|
185
|
-
*/
|
|
186
|
-
utils.wrapPropertyMethod(RolesManager, 'update', 'resource.patch');
|
|
188
|
+
/**
|
|
189
|
+
* Get Permissions in a Role
|
|
190
|
+
*
|
|
191
|
+
* @param params
|
|
192
|
+
* @param callback
|
|
193
|
+
* @example
|
|
194
|
+
* var params = {id : 'ROLE_ID'}
|
|
195
|
+
* @example <caption>
|
|
196
|
+
* This method takes a first argument as the roleId and returns the permissions within that role
|
|
197
|
+
* </caption>
|
|
198
|
+
*
|
|
199
|
+
* management.roles.getPermissions( {id : 'ROLE_ID'}, function (err, permissions) {
|
|
200
|
+
* console.log(permissions);
|
|
201
|
+
* });
|
|
202
|
+
* @param {string} [email] Email address of user(s) to find
|
|
203
|
+
* @param {Function} [cb] Callback function.
|
|
204
|
+
* @returns {Promise|undefined}
|
|
205
|
+
*/
|
|
206
|
+
getPermissions(params, callback) {
|
|
207
|
+
return this.permissions.getAll(params, callback);
|
|
208
|
+
}
|
|
187
209
|
|
|
188
|
-
/**
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
+
/**
|
|
211
|
+
* Add permissions in a role
|
|
212
|
+
*
|
|
213
|
+
* @example
|
|
214
|
+
* var params = { id :'ROLE_ID'};
|
|
215
|
+
* var data = { "permissions" : [{"permission_name" :"do:something" ,"resource_server_identifier" :"test123" }]};
|
|
216
|
+
*
|
|
217
|
+
* management.roles.addPermissions(params, data, function (err, user) {
|
|
218
|
+
* if (err) {
|
|
219
|
+
* // Handle error.
|
|
220
|
+
* }
|
|
221
|
+
*
|
|
222
|
+
* // permissions added.
|
|
223
|
+
* });
|
|
224
|
+
* @param {string} params.id ID of the Role.
|
|
225
|
+
* @param {object} data permissions data
|
|
226
|
+
* @param {string} data.permissions Array of permissions
|
|
227
|
+
* @param {string} data.permissions.permission_name Name of a permission
|
|
228
|
+
* @param {string} data.permissions.resource_server_identifier Identifier for a resource
|
|
229
|
+
* @param {Function} [cb] Callback function.
|
|
230
|
+
* @returns {Promise|undefined}
|
|
231
|
+
*/
|
|
210
232
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
* @method getPermissionsInRole
|
|
215
|
-
* @memberOf module:management.RolesManager.prototype
|
|
216
|
-
*
|
|
217
|
-
* @example
|
|
218
|
-
* var params = {id : 'ROLE_ID'}
|
|
219
|
-
* @example <caption>
|
|
220
|
-
* This method takes a first argument as the roleId and returns the permissions within that role
|
|
221
|
-
* </caption>
|
|
222
|
-
*
|
|
223
|
-
* management.roles.getPermissions( {id : 'ROLE_ID'}, function (err, permissions) {
|
|
224
|
-
* console.log(permissions);
|
|
225
|
-
* });
|
|
226
|
-
*
|
|
227
|
-
* @param {String} [email] Email address of user(s) to find
|
|
228
|
-
* @param {Function} [cb] Callback function.
|
|
229
|
-
*
|
|
230
|
-
* @return {Promise|undefined}
|
|
231
|
-
*/
|
|
232
|
-
RolesManager.prototype.getPermissions = function(params, callback) {
|
|
233
|
-
return this.permissions.getAll(params, callback);
|
|
234
|
-
};
|
|
233
|
+
addPermissions(params, data, cb) {
|
|
234
|
+
data = data || {};
|
|
235
|
+
params = params || {};
|
|
235
236
|
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
* var params = { id :'ROLE_ID'};
|
|
244
|
-
* var data = { "permissions" : [{"permission_name" :"do:something" ,"resource_server_identifier" :"test123" }]};
|
|
245
|
-
*
|
|
246
|
-
* management.roles.addPermissions(params, data, function (err, user) {
|
|
247
|
-
* if (err) {
|
|
248
|
-
* // Handle error.
|
|
249
|
-
* }
|
|
250
|
-
*
|
|
251
|
-
* // permissions added.
|
|
252
|
-
* });
|
|
253
|
-
*
|
|
254
|
-
* @param {String} params.id ID of the Role.
|
|
255
|
-
* @param {Object} data permissions data
|
|
256
|
-
* @param {String} data.permissions Array of permissions
|
|
257
|
-
* @param {String} data.permissions.permission_name Name of a permission
|
|
258
|
-
* @param {String} data.permissions.resource_server_identifier Identifier for a resource
|
|
259
|
-
* @param {Function} [cb] Callback function.
|
|
260
|
-
*
|
|
261
|
-
* @return {Promise|undefined}
|
|
262
|
-
*/
|
|
237
|
+
// Require a user ID.
|
|
238
|
+
if (!params.id) {
|
|
239
|
+
throw new ArgumentError('The roleId passed in params cannot be null or undefined');
|
|
240
|
+
}
|
|
241
|
+
if (typeof params.id !== 'string') {
|
|
242
|
+
throw new ArgumentError('The role Id has to be a string');
|
|
243
|
+
}
|
|
263
244
|
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
245
|
+
if (cb && cb instanceof Function) {
|
|
246
|
+
return this.permissions.create(params, data, cb);
|
|
247
|
+
}
|
|
267
248
|
|
|
268
|
-
|
|
269
|
-
if (!params.id) {
|
|
270
|
-
throw new ArgumentError('The roleId passed in params cannot be null or undefined');
|
|
271
|
-
}
|
|
272
|
-
if (typeof params.id !== 'string') {
|
|
273
|
-
throw new ArgumentError('The role Id has to be a string');
|
|
249
|
+
return this.permissions.create(params, data);
|
|
274
250
|
}
|
|
275
251
|
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
252
|
+
/**
|
|
253
|
+
* Remove permissions from a role
|
|
254
|
+
*
|
|
255
|
+
* @example
|
|
256
|
+
* var params = { id :'ROLE_ID'};
|
|
257
|
+
* var data = { "permissions" : [{"permission_name" :"do:something" ,"resource_server_identifier" :"test123" }]};
|
|
258
|
+
*
|
|
259
|
+
* management.roles.removePermissions(params, data, function (err, user) {
|
|
260
|
+
* if (err) {
|
|
261
|
+
* // Handle error.
|
|
262
|
+
* }
|
|
263
|
+
*
|
|
264
|
+
* // permissions added.
|
|
265
|
+
* });
|
|
266
|
+
* @param {string} params.id ID of the Role.
|
|
267
|
+
* @param {object} data permissions data
|
|
268
|
+
* @param {string} data.permissions Array of permissions
|
|
269
|
+
* @param {string} data.permissions.permission_name Name of a permission
|
|
270
|
+
* @param {string} data.permissions.resource_server_identifier Identifier for a resource
|
|
271
|
+
* @param {Function} [cb] Callback function.
|
|
272
|
+
* @returns {Promise|undefined}
|
|
273
|
+
*/
|
|
279
274
|
|
|
280
|
-
|
|
281
|
-
};
|
|
275
|
+
removePermissions(params, data, cb) {
|
|
276
|
+
data = data || {};
|
|
277
|
+
params = params || {};
|
|
282
278
|
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
* var params = { id :'ROLE_ID'};
|
|
291
|
-
* var data = { "permissions" : [{"permission_name" :"do:something" ,"resource_server_identifier" :"test123" }]};
|
|
292
|
-
*
|
|
293
|
-
* management.roles.removePermissions(params, data, function (err, user) {
|
|
294
|
-
* if (err) {
|
|
295
|
-
* // Handle error.
|
|
296
|
-
* }
|
|
297
|
-
*
|
|
298
|
-
* // permissions added.
|
|
299
|
-
* });
|
|
300
|
-
*
|
|
301
|
-
* @param {String} params.id ID of the Role.
|
|
302
|
-
* @param {Object} data permissions data
|
|
303
|
-
* @param {String} data.permissions Array of permissions
|
|
304
|
-
* @param {String} data.permissions.permission_name Name of a permission
|
|
305
|
-
* @param {String} data.permissions.resource_server_identifier Identifier for a resource
|
|
306
|
-
* @param {Function} [cb] Callback function.
|
|
307
|
-
*
|
|
308
|
-
* @return {Promise|undefined}
|
|
309
|
-
*/
|
|
279
|
+
// Require a user ID.
|
|
280
|
+
if (!params.id) {
|
|
281
|
+
throw new ArgumentError('The roleId passed in params cannot be null or undefined');
|
|
282
|
+
}
|
|
283
|
+
if (typeof params.id !== 'string') {
|
|
284
|
+
throw new ArgumentError('The role Id has to be a string');
|
|
285
|
+
}
|
|
310
286
|
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
287
|
+
if (cb && cb instanceof Function) {
|
|
288
|
+
return this.permissions.delete(params, data, cb);
|
|
289
|
+
}
|
|
314
290
|
|
|
315
|
-
|
|
316
|
-
if (!params.id) {
|
|
317
|
-
throw new ArgumentError('The roleId passed in params cannot be null or undefined');
|
|
318
|
-
}
|
|
319
|
-
if (typeof params.id !== 'string') {
|
|
320
|
-
throw new ArgumentError('The role Id has to be a string');
|
|
291
|
+
return this.permissions.delete(params, data);
|
|
321
292
|
}
|
|
322
293
|
|
|
323
|
-
|
|
324
|
-
|
|
294
|
+
/**
|
|
295
|
+
* Get Users in a Role
|
|
296
|
+
*
|
|
297
|
+
* @example
|
|
298
|
+
* var params = {
|
|
299
|
+
* roleId: 'ROLE_ID',
|
|
300
|
+
* per_page: 50,
|
|
301
|
+
* page: 0
|
|
302
|
+
* };
|
|
303
|
+
* @example <caption>
|
|
304
|
+
* This method takes a roleId and returns all users within that role. Supports offset (page, per_page) and checkpoint pagination (from, take). You must use checkpoint pagination to retrieve beyond the first 1000 records.
|
|
305
|
+
* </caption>
|
|
306
|
+
*
|
|
307
|
+
* management.roles.getUsers(params, function (err, users) {
|
|
308
|
+
* console.log(users);
|
|
309
|
+
* });
|
|
310
|
+
* @param {string} [roleId] Id of the role
|
|
311
|
+
* @param {number} [params.per_page] Number of results per page.
|
|
312
|
+
* @param {number} [params.page] Page number, zero indexed.
|
|
313
|
+
* @param {string} [params.from] For checkpoint pagination, the Id from which to start selection from.
|
|
314
|
+
* @param {number} [params.take] For checkpoint pagination, the number of entries to retrieve. Default 50.
|
|
315
|
+
* @param {Function} [cb] Callback function.
|
|
316
|
+
* @returns {Promise|undefined}
|
|
317
|
+
*/
|
|
318
|
+
getUsers(params, callback) {
|
|
319
|
+
return this.users.getAll(params, callback);
|
|
325
320
|
}
|
|
326
321
|
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
* });
|
|
350
|
-
*
|
|
351
|
-
* @param {String} [roleId] Id of the role
|
|
352
|
-
* @param {Number} [params.per_page] Number of results per page.
|
|
353
|
-
* @param {Number} [params.page] Page number, zero indexed.
|
|
354
|
-
* @param {String} [params.from] For checkpoint pagination, the Id from which to start selection from.
|
|
355
|
-
* @param {Number} [params.take] For checkpoint pagination, the number of entries to retrieve. Default 50.
|
|
356
|
-
* @param {Function} [cb] Callback function.
|
|
357
|
-
*
|
|
358
|
-
* @return {Promise|undefined}
|
|
359
|
-
*/
|
|
360
|
-
RolesManager.prototype.getUsers = function(params, callback) {
|
|
361
|
-
return this.users.getAll(params, callback);
|
|
362
|
-
};
|
|
322
|
+
/**
|
|
323
|
+
* Assign users to a role
|
|
324
|
+
*
|
|
325
|
+
* @example
|
|
326
|
+
* var params = { id :'ROLE_ID'};
|
|
327
|
+
* var data = { "users" : ["userId1","userId2"]};
|
|
328
|
+
*
|
|
329
|
+
* management.roles.assignUsers(params, data, function (err, user) {
|
|
330
|
+
* if (err) {
|
|
331
|
+
* // Handle error.
|
|
332
|
+
* }
|
|
333
|
+
*
|
|
334
|
+
* // permissions added.
|
|
335
|
+
* });
|
|
336
|
+
* @param {string} params.id ID of the Role.
|
|
337
|
+
* @param {object} data permissions data
|
|
338
|
+
* @param {string} data.permissions Array of permissions
|
|
339
|
+
* @param {string} data.permissions.permission_name Name of a permission
|
|
340
|
+
* @param {string} data.permissions.resource_server_identifier Identifier for a resource
|
|
341
|
+
* @param {Function} [cb] Callback function.
|
|
342
|
+
* @returns {Promise|undefined}
|
|
343
|
+
*/
|
|
363
344
|
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
* @method assignUsers
|
|
368
|
-
* @memberOf module:management.RolesManager.prototype
|
|
369
|
-
*
|
|
370
|
-
* @example
|
|
371
|
-
* var params = { id :'ROLE_ID'};
|
|
372
|
-
* var data = { "users" : ["userId1","userId2"]};
|
|
373
|
-
*
|
|
374
|
-
* management.roles.assignUsers(params, data, function (err, user) {
|
|
375
|
-
* if (err) {
|
|
376
|
-
* // Handle error.
|
|
377
|
-
* }
|
|
378
|
-
*
|
|
379
|
-
* // permissions added.
|
|
380
|
-
* });
|
|
381
|
-
*
|
|
382
|
-
* @param {String} params.id ID of the Role.
|
|
383
|
-
* @param {Object} data permissions data
|
|
384
|
-
* @param {String} data.permissions Array of permissions
|
|
385
|
-
* @param {String} data.permissions.permission_name Name of a permission
|
|
386
|
-
* @param {String} data.permissions.resource_server_identifier Identifier for a resource
|
|
387
|
-
* @param {Function} [cb] Callback function.
|
|
388
|
-
*
|
|
389
|
-
* @return {Promise|undefined}
|
|
390
|
-
*/
|
|
345
|
+
assignUsers(params, data, cb) {
|
|
346
|
+
data = data || {};
|
|
347
|
+
params = params || {};
|
|
391
348
|
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
349
|
+
// Require a user ID.
|
|
350
|
+
if (!params.id) {
|
|
351
|
+
throw new ArgumentError('The roleId passed in params cannot be null or undefined');
|
|
352
|
+
}
|
|
353
|
+
if (typeof params.id !== 'string') {
|
|
354
|
+
throw new ArgumentError('The role Id has to be a string');
|
|
355
|
+
}
|
|
395
356
|
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
}
|
|
400
|
-
if (typeof params.id !== 'string') {
|
|
401
|
-
throw new ArgumentError('The role Id has to be a string');
|
|
402
|
-
}
|
|
357
|
+
if (cb && cb instanceof Function) {
|
|
358
|
+
return this.users.create(params, data, cb);
|
|
359
|
+
}
|
|
403
360
|
|
|
404
|
-
|
|
405
|
-
return this.permissions.create(params, data, cb);
|
|
361
|
+
return this.users.create(params, data);
|
|
406
362
|
}
|
|
407
|
-
|
|
408
|
-
return this.users.create(params, data);
|
|
409
|
-
};
|
|
363
|
+
}
|
|
410
364
|
|
|
411
365
|
module.exports = RolesManager;
|