scimgateway 4.4.3 → 4.4.5
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/README.md +93 -64
- package/config/plugin-api.json +8 -7
- package/config/plugin-entra-id.json +5 -7
- package/config/plugin-ldap.json +1 -1
- package/config/plugin-loki.json +1 -1
- package/config/plugin-mongodb.json +1 -1
- package/config/plugin-mssql.json +1 -1
- package/config/plugin-saphana.json +1 -1
- package/config/plugin-scim.json +5 -11
- package/config/plugin-soap.json +1 -1
- package/lib/plugin-api.js +118 -111
- package/lib/plugin-entra-id.js +88 -61
- package/lib/plugin-ldap.js +5 -6
- package/lib/plugin-loki.js +3 -3
- package/lib/plugin-mongodb.js +4 -5
- package/lib/plugin-mssql.js +3 -4
- package/lib/plugin-saphana.js +3 -4
- package/lib/plugin-scim.js +88 -61
- package/lib/plugin-soap.js +4 -3
- package/lib/scim-stream.js +1 -1
- package/lib/scimgateway.js +287 -216
- package/lib/utils.js +1 -1
- package/package.json +1 -1
- package/test/lib/plugin-api.js +25 -30
package/README.md
CHANGED
|
@@ -207,8 +207,8 @@ Below shows an example of config\plugin-saphana.json
|
|
|
207
207
|
"payloadSize": null,
|
|
208
208
|
"scim": {
|
|
209
209
|
"version": "2.0",
|
|
210
|
-
"customSchema": null,
|
|
211
210
|
"skipTypeConvert" : false,
|
|
211
|
+
"skipMetaLocation" false,
|
|
212
212
|
"usePutSoftSync" : false,
|
|
213
213
|
"usePutGroupMemberOfUser": false
|
|
214
214
|
},
|
|
@@ -345,9 +345,6 @@ Definitions in `endpoint` object are customized according to our plugin code. Pl
|
|
|
345
345
|
|
|
346
346
|
- **scim.version** - "1.1" or "2.0". Default is "2.0".
|
|
347
347
|
|
|
348
|
-
- **scim.customSchema** - filename of JSON file located in `<package-root>\config\schemas` containing custom schema attributes, see configuration notes
|
|
349
|
-
**Note, scim.customSchema is obsolete, instead use:**: Schemas, ServiceProviderConfig and ResourceType can be customized if `lib/scimdef-v2.js (or scimdef-v1.js)` exists. Original scimdef-v2.js/scimdef-v1.js can be copied from node_modules/scimgateway/lib to your plugin/lib and customized.
|
|
350
|
-
|
|
351
348
|
- **scim.skipTypeConvert** - true or false, default false. Multivalue attributes supporting types e.g. emails, phoneNumbers, ims, photos, addresses, entitlements and x509Certificates (but not roles, groups and members) will be become "type converted objects" when sent to modifyUser and createUser. This for simplicity of checking attributes included and also for the endpointMapper method (used by plugin-ldap and plugin-entra-id), e.g.:
|
|
352
349
|
|
|
353
350
|
"emails": {
|
|
@@ -364,6 +361,7 @@ Definitions in `endpoint` object are customized according to our plugin code. Pl
|
|
|
364
361
|
{"value": "jsmith@hotmail.com"}
|
|
365
362
|
]
|
|
366
363
|
|
|
364
|
+
- **scim.skipMetaLocation** - true or false, default false. If set to true, `meta.location` which contains protocol and hostname from request-url, will be excluded from response e.g. `"{...,meta":{"location":"https://my-company.com/<...>"}}`. If using reverse proxy and not including headers `X-Forwarded-Proto` and `X-Forwarded-Host`, originator will be the proxy and we might not want to expose internal protocol and hostname being used by the proxy request.
|
|
367
365
|
|
|
368
366
|
- **scim.usePutSoftSync** - true or false, default false. `PUT /Users/bjensen` will replace the user bjensen with body content. If set to `true`, only PUT body content will be replaced. Any additional existing user attributes and groups supported by plugin will remain as-is.
|
|
369
367
|
|
|
@@ -450,10 +448,12 @@ Definitions in `endpoint` object are customized according to our plugin code. Pl
|
|
|
450
448
|
|
|
451
449
|
#### Configuration notes
|
|
452
450
|
|
|
453
|
-
-
|
|
451
|
+
- Custom Schemas, ServiceProviderConfig and ResourceType can be used if `./lib/scimdef-v2.js or scimdef-v1.js` exists. Original scimdef-v2.js/scimdef-v1.js can be copied from node_modules/scimgateway/lib to your plugin/lib and customized.
|
|
452
|
+
- Using reverse proxy and we want ipAllowList and correct meta.location response, following headers must be set by proxy: `X-Forwarded-For`, `X-Forwarded-Proto` and `X-Forwarded-Host`
|
|
453
|
+
- Setting environment variable `SEED` with some random characters will override default password seeding logic. This also allow copying configuration file with encrypted secrets from one machine to another.
|
|
454
454
|
- All configuration can be set based on environment variables. Syntax will then be `"process.env.<ENVIRONMENT>"` where `<ENVIRONMENT>` is the environment variable used. E.g. scimgateway.port could have value "process.env.PORT", then using environment variable PORT.
|
|
455
|
-
- All configuration can be
|
|
456
|
-
-
|
|
455
|
+
- All configuration values can be moved to a single external file having JSON dot notation content with plugin name as parent JSON object. Syntax in original configuration file used by the gateway will then be `"process.file.<path>"` where `<path>` is the file used. E.g. key endpoint.password could have value "process.file./var/run/vault/secrets.json"
|
|
456
|
+
- All configuration values can be moved to multiple external files, each file containing one single value. Syntax in original configuration file used by the gateway will then be `"process.text.<path>"` where `<path>` is the file which contains raw (`UTF-8`) character value. E.g. key endpoint.password could have value "process.text./var/run/vault/endpoint.password".
|
|
457
457
|
|
|
458
458
|
Example:
|
|
459
459
|
|
|
@@ -489,7 +489,11 @@ Definitions in `endpoint` object are customized according to our plugin code. Pl
|
|
|
489
489
|
}
|
|
490
490
|
|
|
491
491
|
|
|
492
|
-
|
|
492
|
+
jwt.secret file content example:
|
|
493
|
+
|
|
494
|
+
thisIsSecret
|
|
495
|
+
|
|
496
|
+
secrets.json file content example for plugin-soap:
|
|
493
497
|
|
|
494
498
|
{
|
|
495
499
|
"plugin-soap.scimgateway.auth.basic[0].username": "gwadmin",
|
|
@@ -498,7 +502,6 @@ Definitions in `endpoint` object are customized according to our plugin code. Pl
|
|
|
498
502
|
"plugin-soap.endpoint.password": "secret"
|
|
499
503
|
}
|
|
500
504
|
|
|
501
|
-
- Custom Schemas, ServiceProviderConfig and ResourceType will be used if `lib/scimdef-v2.js or scimdef-v1.js` exists. Original scimdef-v2.js/scimdef-v1.js can be copied from node_modules/scimgateway/lib to your plugin/lib and customized.
|
|
502
505
|
|
|
503
506
|
|
|
504
507
|
## Manual startup
|
|
@@ -1144,15 +1147,41 @@ MIT © [Jarle Elshaug](https://www.elshaug.xyz)
|
|
|
1144
1147
|
|
|
1145
1148
|
## Change log
|
|
1146
1149
|
|
|
1150
|
+
|
|
1151
|
+
### v4.4.5
|
|
1152
|
+
|
|
1153
|
+
[Fixed]
|
|
1154
|
+
|
|
1155
|
+
- PATCH group members=[] should remove all members
|
|
1156
|
+
- scim-stream modify user fix
|
|
1157
|
+
|
|
1158
|
+
[Improved]
|
|
1159
|
+
|
|
1160
|
+
- plugin-entra-id, plugin-scim and plugin-api having updated `REST endpoint helpers-template` that includes `tokenAuth` (now used by plugin-api). Auth PassTrhough also supported for oauth/tokenAuth endpoint
|
|
1161
|
+
- PUT improvements
|
|
1162
|
+
|
|
1163
|
+
### v4.4.4
|
|
1164
|
+
|
|
1165
|
+
[Improved]
|
|
1166
|
+
|
|
1167
|
+
- New configuration: **scim.skipMetaLocation**
|
|
1168
|
+
true or false, default false. If set to true, `meta.location` which contains protocol and hostname from request-url, will be excluded from response e.g. `"{...,meta":{"location":"https://my-company.com/<...>"}}`. If using reverse proxy and not including headers `X-Forwarded-Proto` and `X-Forwarded-Host`, originator will be the proxy and we might not want to expose internal protocol and hostname being used by the proxy request.
|
|
1169
|
+
|
|
1170
|
+
Below is an example of nginx reverse proxy configuration supporting SCIM Gateway ipAllowList and correct meta.location response:
|
|
1171
|
+
|
|
1172
|
+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
1173
|
+
proxy_set_header X-Forwarded-Proto $scheme;
|
|
1174
|
+
proxy_set_header X-Forwarded-Host $http_host;
|
|
1175
|
+
|
|
1147
1176
|
### v4.4.3
|
|
1148
1177
|
|
|
1149
|
-
[
|
|
1178
|
+
[Improved]
|
|
1150
1179
|
|
|
1151
1180
|
- Dependencies bump
|
|
1152
1181
|
|
|
1153
1182
|
### v4.4.2
|
|
1154
1183
|
|
|
1155
|
-
[
|
|
1184
|
+
[Improved]
|
|
1156
1185
|
|
|
1157
1186
|
- scim-stream subscriber configuration have been changed:
|
|
1158
1187
|
old: `"convertRolesToGroups": false`
|
|
@@ -1161,7 +1190,7 @@ MIT © [Jarle Elshaug](https://www.elshaug.xyz)
|
|
|
1161
1190
|
|
|
1162
1191
|
### v4.4.1
|
|
1163
1192
|
|
|
1164
|
-
[
|
|
1193
|
+
[Improved]
|
|
1165
1194
|
|
|
1166
1195
|
- scim-stream subscriber using latest api and some additional recovery logic
|
|
1167
1196
|
Prerequisite: [SCIM Stream](https://elshaug.xyz/docs/scim-stream) version > v1.0.0
|
|
@@ -1172,7 +1201,7 @@ MIT © [Jarle Elshaug](https://www.elshaug.xyz)
|
|
|
1172
1201
|
|
|
1173
1202
|
### v4.4.0
|
|
1174
1203
|
|
|
1175
|
-
[
|
|
1204
|
+
[Improved]
|
|
1176
1205
|
|
|
1177
1206
|
- SCIM Gateway now offers enhanced functionality with support for message subscription and automated provisioning using [SCIM Stream](https://elshaug.xyz/docs/scim-stream)
|
|
1178
1207
|
- plugin-entra-id, plugin-scim and plugin-api having updated `REST endpoint helpers-template` to address and resolve endpoint throttling
|
|
@@ -1181,7 +1210,7 @@ Note, module soap is not default included anymore. SOAP based plugins e.g., plug
|
|
|
1181
1210
|
|
|
1182
1211
|
### v4.3.0
|
|
1183
1212
|
|
|
1184
|
-
[
|
|
1213
|
+
[Improved]
|
|
1185
1214
|
|
|
1186
1215
|
- configuration `scimgateway.scim.port` can now be set to 0 or removed for deactivating listener
|
|
1187
1216
|
- configuration `cimgateway.scim.usePutSoftSync` set to `true` now includes additional logic that do not change existing user attributes not included in PUT body content
|
|
@@ -1198,13 +1227,13 @@ Note, module soap is not default included anymore. SOAP based plugins e.g., plug
|
|
|
1198
1227
|
|
|
1199
1228
|
- plugin-loki incorrect unique filtering
|
|
1200
1229
|
|
|
1201
|
-
[
|
|
1230
|
+
[Improved]
|
|
1202
1231
|
|
|
1203
1232
|
- Dependencies bump
|
|
1204
1233
|
|
|
1205
1234
|
### v4.2.15
|
|
1206
1235
|
|
|
1207
|
-
[
|
|
1236
|
+
[Improved]
|
|
1208
1237
|
|
|
1209
1238
|
- Plugin can set error statusCode returned by scimgateway through error object key `err.name`. This can be done by adding suffix `#code` to err.name where code is HTTP status code e.g., `err.name += '#401'`. This can be useful for auth.PassThrough and other scenarios like createUser where user already exist (409) and modifyUser where user does not exist (404)
|
|
1210
1239
|
|
|
@@ -1224,13 +1253,13 @@ Note, module soap is not default included anymore. SOAP based plugins e.g., plug
|
|
|
1224
1253
|
|
|
1225
1254
|
### v4.2.12
|
|
1226
1255
|
|
|
1227
|
-
[
|
|
1256
|
+
[Improved]
|
|
1228
1257
|
|
|
1229
1258
|
- Schemas, ServiceProviderConfig and ResourceType can be customized if `lib/scimdef-v2.js (or scimdef-v1.js)` exists. Original scimdef-v2.js/scimdef-v1.js can be copied from node_modules/scimgateway/lib to your plugin/lib and customized.
|
|
1230
1259
|
|
|
1231
1260
|
### v4.2.11
|
|
1232
1261
|
|
|
1233
|
-
[
|
|
1262
|
+
[Improved]
|
|
1234
1263
|
|
|
1235
1264
|
Note, obsolete - see v4.2.15 comments
|
|
1236
1265
|
|
|
@@ -1256,7 +1285,7 @@ Note, obsolete - see v4.2.15 comments
|
|
|
1256
1285
|
|
|
1257
1286
|
### v4.2.7
|
|
1258
1287
|
|
|
1259
|
-
[
|
|
1288
|
+
[Improved]
|
|
1260
1289
|
|
|
1261
1290
|
- new plugin configuration **scim.usePutGroupMemberOfUser** can be set to true or false, default false. `PUT /Users/<user>` will replace user with body content. If body contains groups and usePutGroupMemberOfUser=true, groups will be set on user object (groups are member of user) instead of default user member of groups
|
|
1262
1291
|
- plugin-forwardinc renamed to plugin-soap
|
|
@@ -1281,7 +1310,7 @@ Note, obsolete - see v4.2.15 comments
|
|
|
1281
1310
|
|
|
1282
1311
|
### v4.2.4
|
|
1283
1312
|
|
|
1284
|
-
[
|
|
1313
|
+
[Improved]
|
|
1285
1314
|
|
|
1286
1315
|
- provided plugins now supports Auth PassThrough. See helpers methods like getClientIdentifier(), getCtxAuth() and changes in doRequest() and getServiceClient(). In general, PassThrough is supported for both basic and bearer auth. Password/secret/client_secret are then not needed in configuration file. Username may still be needed in configuration file depended on how logic is implemented (ref. mongodb/mssql) and what auth beeing used (basic/bearer). Plugin scim, api and azure-ad are all REST plugins having the same helpers (but, some minor differences to azure-ad using OAuth and the getAccessToken() method)
|
|
1287
1316
|
|
|
@@ -1307,7 +1336,7 @@ Note, obsolete - see v4.2.15 comments
|
|
|
1307
1336
|
|
|
1308
1337
|
### v4.2.0
|
|
1309
1338
|
|
|
1310
|
-
[
|
|
1339
|
+
[Improved]
|
|
1311
1340
|
|
|
1312
1341
|
- Kubernetes health checks and shutdown handler support
|
|
1313
1342
|
|
|
@@ -1323,7 +1352,7 @@ Note, obsolete - see v4.2.15 comments
|
|
|
1323
1352
|
|
|
1324
1353
|
### v4.1.15
|
|
1325
1354
|
|
|
1326
|
-
[
|
|
1355
|
+
[Improved]
|
|
1327
1356
|
|
|
1328
1357
|
- Authentication PassThrough for passing the authentication directly to plugin without being processed by scimgateway. Plugin can then pass this authentication to endpoint for avoid maintaining secrets at the gateway.
|
|
1329
1358
|
|
|
@@ -1360,7 +1389,7 @@ Note, obsolete - see v4.2.15 comments
|
|
|
1360
1389
|
|
|
1361
1390
|
### v4.1.12
|
|
1362
1391
|
|
|
1363
|
-
[
|
|
1392
|
+
[Improved]
|
|
1364
1393
|
|
|
1365
1394
|
- Dependencies bump
|
|
1366
1395
|
|
|
@@ -1372,7 +1401,7 @@ Note, obsolete - see v4.2.15 comments
|
|
|
1372
1401
|
|
|
1373
1402
|
### v4.1.10
|
|
1374
1403
|
|
|
1375
|
-
[
|
|
1404
|
+
[Improved]
|
|
1376
1405
|
|
|
1377
1406
|
- new plugin configuration `payloadSize`. If not defined, default "1mb" will be used. There are cases which large groups could exceed default size and you may want to increase by setting your own size e.g. "5mb"
|
|
1378
1407
|
**Thanks to Sam Murphy**
|
|
@@ -1398,7 +1427,7 @@ Note, obsolete - see v4.2.15 comments
|
|
|
1398
1427
|
|
|
1399
1428
|
**Note, this version breaks compability with previous versions of plugin-azure-ad**
|
|
1400
1429
|
|
|
1401
|
-
[
|
|
1430
|
+
[Improved]
|
|
1402
1431
|
|
|
1403
1432
|
- endpointMap moved from scimgateway to plugin-azure-ad
|
|
1404
1433
|
- plugin-azure-ad.json configuration file now includes attribute mapping giving flexibility to add or customize AAD-SCIM attribute mappings
|
|
@@ -1406,13 +1435,13 @@ Note, obsolete - see v4.2.15 comments
|
|
|
1406
1435
|
|
|
1407
1436
|
### v4.1.6
|
|
1408
1437
|
|
|
1409
|
-
[
|
|
1438
|
+
[Improved]
|
|
1410
1439
|
|
|
1411
1440
|
- Dependencies bump
|
|
1412
1441
|
|
|
1413
1442
|
### v4.1.5
|
|
1414
1443
|
|
|
1415
|
-
[
|
|
1444
|
+
[Improved]
|
|
1416
1445
|
|
|
1417
1446
|
SCIM Gateway related news:
|
|
1418
1447
|
|
|
@@ -1430,7 +1459,7 @@ SCIM Gateway related news:
|
|
|
1430
1459
|
|
|
1431
1460
|
- createUser response did not include the id that was returned by plugin
|
|
1432
1461
|
|
|
1433
|
-
[
|
|
1462
|
+
[Improved]
|
|
1434
1463
|
|
|
1435
1464
|
- PUT (Replace User) now includes group handling. Using configuration `scim.usePutSoftsync=true` will prevent removing any existing groups that are not included in body.groups
|
|
1436
1465
|
|
|
@@ -1450,7 +1479,7 @@ SCIM Gateway related news:
|
|
|
1450
1479
|
|
|
1451
1480
|
|
|
1452
1481
|
### v4.1.2
|
|
1453
|
-
[
|
|
1482
|
+
[Improved]
|
|
1454
1483
|
|
|
1455
1484
|
- endpointMapper supporting one to many mappings using a comma separated list of attributes in the `mapTo`
|
|
1456
1485
|
|
|
@@ -1468,7 +1497,7 @@ SCIM Gateway related news:
|
|
|
1468
1497
|
|
|
1469
1498
|
|
|
1470
1499
|
### v4.1.1
|
|
1471
|
-
[
|
|
1500
|
+
[Improved]
|
|
1472
1501
|
|
|
1473
1502
|
- plugin-ldap support userFilter/groupFilter configuration for restricting scope
|
|
1474
1503
|
|
|
@@ -1482,7 +1511,7 @@ SCIM Gateway related news:
|
|
|
1482
1511
|
}
|
|
1483
1512
|
|
|
1484
1513
|
### v4.1.0
|
|
1485
|
-
[
|
|
1514
|
+
[Improved]
|
|
1486
1515
|
|
|
1487
1516
|
- Supporting OAuth Client Credentials authentication
|
|
1488
1517
|
|
|
@@ -1506,7 +1535,7 @@ SCIM Gateway related news:
|
|
|
1506
1535
|
|
|
1507
1536
|
|
|
1508
1537
|
### v4.0.1
|
|
1509
|
-
[
|
|
1538
|
+
[Improved]
|
|
1510
1539
|
|
|
1511
1540
|
- create user/group supporting externalId
|
|
1512
1541
|
- plugin-restful renamed to plugin-scim
|
|
@@ -1612,7 +1641,7 @@ We also need to add logic from existing getGroup() and getGroupMembers()
|
|
|
1612
1641
|
|
|
1613
1642
|
- for SCIM 2.0 exploreUsers/exploreGroups now includes schemas/resourceType on each object in the Resources response. This may be required by som IdP's.
|
|
1614
1643
|
|
|
1615
|
-
[
|
|
1644
|
+
[Improved]
|
|
1616
1645
|
- Dependencies bump
|
|
1617
1646
|
|
|
1618
1647
|
### v3.2.9
|
|
@@ -1626,7 +1655,7 @@ We also need to add logic from existing getGroup() and getGroupMembers()
|
|
|
1626
1655
|
- plugin-ldap `objectGUID` introduced in v.3.2.7 had some missing logic
|
|
1627
1656
|
|
|
1628
1657
|
### v3.2.7
|
|
1629
|
-
[
|
|
1658
|
+
[Improved]
|
|
1630
1659
|
|
|
1631
1660
|
- plugin-ldap supports using Active Directory `objectGUID` instead of `dn` mapped to `id`
|
|
1632
1661
|
configuration example:
|
|
@@ -1654,7 +1683,7 @@ We also need to add logic from existing getGroup() and getGroupMembers()
|
|
|
1654
1683
|
- default "type converted object" logic may fail on requests that includes a mix of type and blank type. Now blank type will be converted to type "undefined", and all types must be unique within the same request. "type converted object" logic can be turned off by configuration `scim.skipTypeConvert = true`
|
|
1655
1684
|
- plugin-loki supporting type = "undefined"
|
|
1656
1685
|
|
|
1657
|
-
[
|
|
1686
|
+
[Improved]
|
|
1658
1687
|
|
|
1659
1688
|
- new configuration `scim.skipTypeConvert` allowing overriding the default behaviour "type converted object" when set to true. See attribute list for details
|
|
1660
1689
|
- `scimgateway.isMultivalue` used by plugin-loki have been changed, and **custom plugins using this method must be updated**
|
|
@@ -1683,7 +1712,7 @@ We also need to add logic from existing getGroup() and getGroupMembers()
|
|
|
1683
1712
|
- plugins missing logic for handling the virtual readOnly user attribute `groups` (when `"user member of groups"`) e.g. GET /Users/bjensen should return all user attributes including the virtual `groups` attribute. Now this user attribute will be automatically handled by scimgateway if not included in the plugin response.
|
|
1684
1713
|
- Pre and post actions onAddGroups/onRemoveGroups introduced in v.3.2.0 has been withdrawn
|
|
1685
1714
|
|
|
1686
|
-
[
|
|
1715
|
+
[Improved]
|
|
1687
1716
|
|
|
1688
1717
|
- scimgateway will do plugin response filtering according to requested attributes/excludedAttributes
|
|
1689
1718
|
|
|
@@ -1696,12 +1725,12 @@ We also need to add logic from existing getGroup() and getGroupMembers()
|
|
|
1696
1725
|
- SCIM v2.0 none core schema attributes handling
|
|
1697
1726
|
- response not always including correct schemas
|
|
1698
1727
|
|
|
1699
|
-
[
|
|
1728
|
+
[Improved]
|
|
1700
1729
|
|
|
1701
1730
|
- roles now using array instead of objects based on type. **Note, this may break your custom plugins if roles logic are in use**
|
|
1702
1731
|
|
|
1703
1732
|
### v3.2.0
|
|
1704
|
-
[
|
|
1733
|
+
[Improved]
|
|
1705
1734
|
|
|
1706
1735
|
- ipAllowList for restricting access to allowlisted IP addresses or subnets e.g. Azure AD IP-range
|
|
1707
1736
|
Configuration example:
|
|
@@ -1730,7 +1759,7 @@ We also need to add logic from existing getGroup() and getGroupMembers()
|
|
|
1730
1759
|
|
|
1731
1760
|
|
|
1732
1761
|
### v3.1.0
|
|
1733
|
-
[
|
|
1762
|
+
[Improved]
|
|
1734
1763
|
|
|
1735
1764
|
- plugin-ldap a general LDAP plugin pre-configured for Microsoft Active Directory. Using endpointMapper logic (like plugin-azure-ad) for attribute flexibility
|
|
1736
1765
|
- Pre and post actions onAddGroups/onRemoveGroups can be configured and needed logic to be defined in plugin method `pre_post_Action`
|
|
@@ -1752,7 +1781,7 @@ We also need to add logic from existing getGroup() and getGroupMembers()
|
|
|
1752
1781
|
- Dependencies bump
|
|
1753
1782
|
|
|
1754
1783
|
### v3.0.4
|
|
1755
|
-
[
|
|
1784
|
+
[Improved]
|
|
1756
1785
|
|
|
1757
1786
|
- Pagination request having startIndex but no count, now sets count to default 200 and may be overridden by plugin.
|
|
1758
1787
|
|
|
@@ -1767,7 +1796,7 @@ We also need to add logic from existing getGroup() and getGroupMembers()
|
|
|
1767
1796
|
- SCIM v2.0 PUT did not work.
|
|
1768
1797
|
|
|
1769
1798
|
### v3.0.1
|
|
1770
|
-
[
|
|
1799
|
+
[Improved]
|
|
1771
1800
|
|
|
1772
1801
|
- getApi supports body (apiObj).
|
|
1773
1802
|
|
|
@@ -1877,7 +1906,7 @@ New syntax is:
|
|
|
1877
1906
|
|
|
1878
1907
|
|
|
1879
1908
|
### v2.1.10
|
|
1880
|
-
[
|
|
1909
|
+
[Improved]
|
|
1881
1910
|
|
|
1882
1911
|
- Log masking of custom defined attributes.
|
|
1883
1912
|
customMasking may include an array of attributes to be masked
|
|
@@ -1928,7 +1957,7 @@ New syntax is:
|
|
|
1928
1957
|
|
|
1929
1958
|
- plugin-azure-ad did not return correct error code (`err.name = 'DuplicateKeyError'`) when failing on creating a duplicate user
|
|
1930
1959
|
|
|
1931
|
-
[
|
|
1960
|
+
[Improved]
|
|
1932
1961
|
|
|
1933
1962
|
- Includes latest versions of module dependencies
|
|
1934
1963
|
|
|
@@ -1950,7 +1979,7 @@ New syntax is:
|
|
|
1950
1979
|
|
|
1951
1980
|
- SCIM 2.0 may use Operations.value as array and none array (issue #16)
|
|
1952
1981
|
|
|
1953
|
-
[
|
|
1982
|
+
[Improved]
|
|
1954
1983
|
|
|
1955
1984
|
- Option for replacing mandatory userName/displayName attribute by configuring customUniqueAttrMapping
|
|
1956
1985
|
- Includes latest versions of module dependencies
|
|
@@ -1962,7 +1991,7 @@ New syntax is:
|
|
|
1962
1991
|
- plugin-loki failed to modify a none existing object, e.g name object not included in Create User
|
|
1963
1992
|
|
|
1964
1993
|
### v2.1.0
|
|
1965
|
-
[
|
|
1994
|
+
[Improved]
|
|
1966
1995
|
|
|
1967
1996
|
- Custom schema attributes can be added by plugin configuration `scim.customSchema` having value set to filename of a JSON schema-file located in `<package-root>/config/schemas`
|
|
1968
1997
|
|
|
@@ -2030,7 +2059,7 @@ Custom plugins needs some changes (please see included example plugins)
|
|
|
2030
2059
|
- Fix related to external configuration (ref. v1.0.18) when running multiple plugins
|
|
2031
2060
|
|
|
2032
2061
|
### v1.0.18
|
|
2033
|
-
[
|
|
2062
|
+
[Improved]
|
|
2034
2063
|
|
|
2035
2064
|
- Includes latest versions of module dependencies
|
|
2036
2065
|
- Loglevel configuration for file and console now separated
|
|
@@ -2083,12 +2112,12 @@ Custom plugins needs some changes (please see included example plugins)
|
|
|
2083
2112
|
- An issue with pagination fixed
|
|
2084
2113
|
|
|
2085
2114
|
### v1.0.9
|
|
2086
|
-
[
|
|
2115
|
+
[Improved]
|
|
2087
2116
|
|
|
2088
2117
|
- Cosmetics, changed emailOnError logic - now emitted by logger
|
|
2089
2118
|
|
|
2090
2119
|
### v1.0.8
|
|
2091
|
-
[
|
|
2120
|
+
[Improved]
|
|
2092
2121
|
|
|
2093
2122
|
- Support health monitoring using the "/ping" URL with a "hello" response, e.g. http://localhost:8880/ping. Useful for frontend load balancing/failover functionality
|
|
2094
2123
|
- Option for error notifications by email
|
|
@@ -2099,7 +2128,7 @@ Custom plugins needs some changes (please see included example plugins)
|
|
|
2099
2128
|
|
|
2100
2129
|
|
|
2101
2130
|
### v1.0.7
|
|
2102
|
-
[
|
|
2131
|
+
[Improved]
|
|
2103
2132
|
|
|
2104
2133
|
- Docker now using node v.9.10.0 instead of v.6.9.2
|
|
2105
2134
|
- Minor log cosmetics
|
|
@@ -2110,7 +2139,7 @@ Custom plugins needs some changes (please see included example plugins)
|
|
|
2110
2139
|
- Azure AD plugin, failed to create user when licenses (app Service plans) was included
|
|
2111
2140
|
|
|
2112
2141
|
### v1.0.5
|
|
2113
|
-
[
|
|
2142
|
+
[Improved]
|
|
2114
2143
|
|
|
2115
2144
|
- Supporting GET /Users, GET /Groups, PUT method and delete groups
|
|
2116
2145
|
- After more than 3 invalid auth attempts, response will be delayed to prevent brute force
|
|
@@ -2122,7 +2151,7 @@ Custom plugins needs some changes (please see included example plugins)
|
|
|
2122
2151
|
**Thanks to ywchuang**
|
|
2123
2152
|
|
|
2124
2153
|
### v1.0.4
|
|
2125
|
-
[
|
|
2154
|
+
[Improved]
|
|
2126
2155
|
|
|
2127
2156
|
- Plugin for Azure AD now supports paging for retrieving users and groups. Any existing metafile used by CA ConnectorXpress ("Azure - ScimGateway.xml") must be re-deployed.
|
|
2128
2157
|
|
|
@@ -2146,7 +2175,7 @@ Custom plugins needs some changes (please see included example plugins)
|
|
|
2146
2175
|
- Mocha test script did not terminate after upgrading from 3.x to 4.x of Mocha
|
|
2147
2176
|
|
|
2148
2177
|
### v1.0.0
|
|
2149
|
-
[
|
|
2178
|
+
[Improved]
|
|
2150
2179
|
|
|
2151
2180
|
- New plugin-azure-ad.js for Azure AD user provisioning including Azure license management e.g. Office 365
|
|
2152
2181
|
- Includes latest versions of module dependencies
|
|
@@ -2180,7 +2209,7 @@ With:
|
|
|
2180
2209
|
callback(null, arrRet)
|
|
2181
2210
|
|
|
2182
2211
|
### v0.5.3
|
|
2183
|
-
[
|
|
2212
|
+
[Improved]
|
|
2184
2213
|
|
|
2185
2214
|
- Includes api gateway/plugin for general none provisioning
|
|
2186
2215
|
- GET /api
|
|
@@ -2194,7 +2223,7 @@ With:
|
|
|
2194
2223
|
|
|
2195
2224
|
|
|
2196
2225
|
### v0.5.2
|
|
2197
|
-
[
|
|
2226
|
+
[Improved]
|
|
2198
2227
|
|
|
2199
2228
|
- One or more of following authentication/authorization methods are accepted:
|
|
2200
2229
|
- Basic Authentication
|
|
@@ -2215,7 +2244,7 @@ With:
|
|
|
2215
2244
|
|
|
2216
2245
|
|
|
2217
2246
|
### v0.4.6
|
|
2218
|
-
[
|
|
2247
|
+
[Improved]
|
|
2219
2248
|
|
|
2220
2249
|
- Document updated on how to run SCIM Gateway as a Docker container
|
|
2221
2250
|
- `config\docker` includes docker configuration examples
|
|
@@ -2223,7 +2252,7 @@ With:
|
|
|
2223
2252
|
|
|
2224
2253
|
|
|
2225
2254
|
### v0.4.5
|
|
2226
|
-
[
|
|
2255
|
+
[Improved]
|
|
2227
2256
|
|
|
2228
2257
|
- Environment variable `SEED` overrides default password seeding
|
|
2229
2258
|
- Setting SCIM Gateway port to `"process.env.XXX"` lets environment variable XXX define the port
|
|
@@ -2236,7 +2265,7 @@ With:
|
|
|
2236
2265
|
- Start SCIM Gateway and passwords will become encrypted
|
|
2237
2266
|
|
|
2238
2267
|
### v0.4.4
|
|
2239
|
-
[
|
|
2268
|
+
[Improved]
|
|
2240
2269
|
|
|
2241
2270
|
- NoSQL Document-Oriented Database plugin: `plugin-loki`
|
|
2242
2271
|
This plugin now replace previous `plugin-testmode`
|
|
@@ -2255,7 +2284,7 @@ This plugin now replace previous `plugin-testmode`
|
|
|
2255
2284
|
- plugin-restful minor adjustments to multivalue and cleared attributes logic introduced in v0.4.0
|
|
2256
2285
|
|
|
2257
2286
|
### v0.4.1
|
|
2258
|
-
[
|
|
2287
|
+
[Improved]
|
|
2259
2288
|
|
|
2260
2289
|
- Mocha test scripts for automated testing of plugin-testmode
|
|
2261
2290
|
- Automated tests run on Travis-ci.org (click on build badge)
|
|
@@ -2268,7 +2297,7 @@ This plugin now replace previous `plugin-testmode`
|
|
|
2268
2297
|
- Minor adjustments to multi-value logic introduced in v0.4.0
|
|
2269
2298
|
|
|
2270
2299
|
### v0.4.0
|
|
2271
|
-
[
|
|
2300
|
+
[Improved]
|
|
2272
2301
|
|
|
2273
2302
|
- Not using the SCIM standard for handling multivalue attributes and cleared attributes. Changed from array to object based on type. This simplifies plugin-coding for multivalue attributes like emails, phoneNumbers, entitlements, ...
|
|
2274
2303
|
- Module dependencies updated to latest versions
|
|
@@ -2283,12 +2312,12 @@ This plugin now replace previous `plugin-testmode`
|
|
|
2283
2312
|
- Minor changes related to SCIM specification
|
|
2284
2313
|
|
|
2285
2314
|
### v0.3.7
|
|
2286
|
-
[
|
|
2315
|
+
[Improved]
|
|
2287
2316
|
|
|
2288
2317
|
- PFX / PKCS#12 certificate bundle is supported
|
|
2289
2318
|
|
|
2290
2319
|
### v0.3.6
|
|
2291
|
-
[
|
|
2320
|
+
[Improved]
|
|
2292
2321
|
|
|
2293
2322
|
- SCIM Gateway used by Microsoft Azure Active Directory is supported
|
|
2294
2323
|
- SCIM version 2.0 is supported
|
|
@@ -2306,7 +2335,7 @@ This plugin now replace previous `plugin-testmode`
|
|
|
2306
2335
|
- plugin-mssql not included in postinstall
|
|
2307
2336
|
|
|
2308
2337
|
### v0.3.4
|
|
2309
|
-
[
|
|
2338
|
+
[Improved]
|
|
2310
2339
|
|
|
2311
2340
|
- MSSQL example plugin: `plugin-mssql`
|
|
2312
2341
|
- Changed multivalue logic in example plugins, now using `scimgateway.getArrayObject`
|
|
@@ -2332,12 +2361,12 @@ This plugin now replace previous `plugin-testmode`
|
|
|
2332
2361
|
- Minor changes related to SCIM specification
|
|
2333
2362
|
|
|
2334
2363
|
### v0.3.1
|
|
2335
|
-
[
|
|
2364
|
+
[Improved]
|
|
2336
2365
|
|
|
2337
2366
|
- REST Webservices example plugin: `plugin-restful`
|
|
2338
2367
|
|
|
2339
2368
|
### v0.3.0
|
|
2340
|
-
[
|
|
2369
|
+
[Improved]
|
|
2341
2370
|
|
|
2342
2371
|
- Preferred installation method changed from "global" to "local"
|
|
2343
2372
|
- `<Base URL>/[baseEntity]` for multi tenant or multi endpoint flexibility
|
package/config/plugin-api.json
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
"payloadSize": null,
|
|
6
6
|
"scim": {
|
|
7
7
|
"version": "2.0",
|
|
8
|
-
"customSchema": null,
|
|
9
8
|
"skipTypeConvert": false,
|
|
9
|
+
"skipMetaLocation": false,
|
|
10
10
|
"usePutSoftSync": false,
|
|
11
11
|
"usePutGroupMemberOfUser": false
|
|
12
12
|
},
|
|
@@ -123,16 +123,17 @@
|
|
|
123
123
|
"entity": {
|
|
124
124
|
"undefined": {
|
|
125
125
|
"baseUrls": [
|
|
126
|
-
"
|
|
126
|
+
"https://dummyjson.com"
|
|
127
127
|
],
|
|
128
128
|
"oauth": null,
|
|
129
|
+
"tokenAuth": {
|
|
130
|
+
"tokenUrl": "https://dummyjson.com/auth/login",
|
|
131
|
+
"username": "jissetts",
|
|
132
|
+
"password": "ePawWgrnZR8L"
|
|
133
|
+
},
|
|
129
134
|
"bearerAuth": null,
|
|
130
135
|
"basicAuth": null,
|
|
131
|
-
"proxy":
|
|
132
|
-
"host": null,
|
|
133
|
-
"username": null,
|
|
134
|
-
"password": null
|
|
135
|
-
}
|
|
136
|
+
"proxy": null
|
|
136
137
|
}
|
|
137
138
|
}
|
|
138
139
|
}
|
|
@@ -5,9 +5,10 @@
|
|
|
5
5
|
"payloadSize": null,
|
|
6
6
|
"scim": {
|
|
7
7
|
"version": "2.0",
|
|
8
|
-
"customSchema": null,
|
|
9
8
|
"skipTypeConvert": false,
|
|
10
|
-
"
|
|
9
|
+
"skipMetaLocation": false,
|
|
10
|
+
"usePutSoftSync": false,
|
|
11
|
+
"usePutGroupMemberOfUser": false
|
|
11
12
|
},
|
|
12
13
|
"log": {
|
|
13
14
|
"loglevel": {
|
|
@@ -128,13 +129,10 @@
|
|
|
128
129
|
"clientId": "Application ID",
|
|
129
130
|
"clientSecret": "Generated application secret value"
|
|
130
131
|
},
|
|
132
|
+
"tokenAuth": null,
|
|
131
133
|
"bearerAuth": null,
|
|
132
134
|
"basicAuth": null,
|
|
133
|
-
"proxy":
|
|
134
|
-
"host": null,
|
|
135
|
-
"username": null,
|
|
136
|
-
"password": null
|
|
137
|
-
}
|
|
135
|
+
"proxy": null
|
|
138
136
|
}
|
|
139
137
|
},
|
|
140
138
|
"map": {
|
package/config/plugin-ldap.json
CHANGED
package/config/plugin-loki.json
CHANGED
package/config/plugin-mssql.json
CHANGED