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 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
- - Setting environment variable `SEED` will override default password seeding logic.
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 set based on corresponding JSON-content (dot notation) in external file using plugin name as parent JSON object. Syntax will then be `"process.file.<path>"` where `<path>` is the file used. E.g. endpoint.password could have value "process.file./var/run/vault/secrets.json"
456
- - Also, individual secret file may be used for a plain text secret per file. Syntax will then be `"process.text.<path>"` where `<path>` is the file which contains raw (`UTF-8`) character value. E.g. endpoint.password could have value "process.text./var/run/vault/endpoint.password". This enables that the config file itself be loaded from a ConfigMap while specific values are mounted either from `secrets.json` style files as mentioned above OR from traditional secrets files mounted in the file system, one value per file.
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
- secrets.json for plugin-soap - example (dot notation):
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
- [Added]
1178
+ [Improved]
1150
1179
 
1151
1180
  - Dependencies bump
1152
1181
 
1153
1182
  ### v4.4.2
1154
1183
 
1155
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
1230
+ [Improved]
1202
1231
 
1203
1232
  - Dependencies bump
1204
1233
 
1205
1234
  ### v4.2.15
1206
1235
 
1207
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
1438
+ [Improved]
1410
1439
 
1411
1440
  - Dependencies bump
1412
1441
 
1413
1442
  ### v4.1.5
1414
1443
 
1415
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
2115
+ [Improved]
2087
2116
 
2088
2117
  - Cosmetics, changed emailOnError logic - now emitted by logger
2089
2118
 
2090
2119
  ### v1.0.8
2091
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
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
- [Added]
2315
+ [Improved]
2287
2316
 
2288
2317
  - PFX / PKCS#12 certificate bundle is supported
2289
2318
 
2290
2319
  ### v0.3.6
2291
- [Added]
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
- [Added]
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
- [Added]
2364
+ [Improved]
2336
2365
 
2337
2366
  - REST Webservices example plugin: `plugin-restful`
2338
2367
 
2339
2368
  ### v0.3.0
2340
- [Added]
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
@@ -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
- "http://fakerestapi.azurewebsites.net"
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
- "usePutSoftSync": false
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": {
@@ -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
  },
@@ -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
  },
@@ -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
  },
@@ -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
  },
@@ -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
  },