scimgateway 4.1.5 → 4.1.7

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
@@ -1,6 +1,6 @@
1
1
  # SCIM Gateway
2
2
 
3
- [![Build Status](https://app.travis-ci.com/jelhub/scimgateway.svg?branch=master)](https://app.travis-ci.com/github/jelhub/scimgateway) [![npm Version](https://img.shields.io/npm/v/scimgateway.svg?style=flat-square&label=latest)](https://www.npmjs.com/package/scimgateway)[![npm Downloads](https://img.shields.io/npm/dt/scimgateway.svg?style=flat-square)](https://www.npmjs.com/package/scimgateway) [![chat disqus](https://jelhub.github.io/images/chat.svg)](https://elshaug.xyz/docs/scimgateway#disqus_thread) [![GitHub forks](https://img.shields.io/github/forks/jelhub/scimgateway.svg?style=social&label=Fork)](https://github.com/jelhub/scimgateway)
3
+ [![Build Status](https://app.travis-ci.com/jelhub/scimgateway.svg?branch=master)](https://app.travis-ci.com/github/jelhub/scimgateway) [![npm Version](https://img.shields.io/npm/v/scimgateway.svg?style=flat-square&label=latest)](https://www.npmjs.com/package/scimgateway)[![npm Downloads](https://img.shields.io/npm/dm/scimgateway.svg?style=flat-square)](https://www.npmjs.com/package/scimgateway) [![chat disqus](https://jelhub.github.io/images/chat.svg)](https://elshaug.xyz/docs/scimgateway#disqus_thread) [![GitHub forks](https://img.shields.io/github/forks/jelhub/scimgateway.svg?style=social&label=Fork)](https://github.com/jelhub/scimgateway)
4
4
 
5
5
  ---
6
6
  Author: Jarle Elshaug
@@ -53,7 +53,7 @@ Setting `{"persistence": true}` gives persistence file store (no test users)
53
53
  Example of a fully functional SCIM Gateway plugin
54
54
 
55
55
  * **MongoDB** (NoSQL Document-Oriented Database)
56
- Same as plugin "Loki" but using external MongoDB
56
+ Same as plugin "Loki", but using external MongoDB
57
57
  Shows how to implement a highly configurable multi tenant or multi endpoint solution through `baseEntity` in URL
58
58
 
59
59
  * **SCIM** (REST Webservice)
@@ -104,7 +104,7 @@ Node.js is a prerequisite and have to be installed on the server.
104
104
  #### Install SCIM Gateway
105
105
 
106
106
  Open a command window (run as administrator)
107
- Create your own package directory e.g. C:\my-scimgateway and install SCIM Gateway within this package.
107
+ Create your own package directory e.g. c:\my-scimgateway and install SCIM Gateway within this package.
108
108
 
109
109
  mkdir c:\my-scimgateway
110
110
  cd c:\my-scimgateway
@@ -128,22 +128,22 @@ If internet connection is blocked, we could install on another machine and copy
128
128
  => Health check with a "hello" response
129
129
 
130
130
  http://localhost:8880/Users
131
- http://localhost:8880/Groups
132
- or
133
- http://localhost:8880/Users?attributes=userName
134
- http://localhost:8880/Groups?attributes=displayName
131
+ http://localhost:8880/Groups
135
132
  => Logon using gwadmin/password and two users and groups should be listed
136
133
 
137
134
  http://localhost:8880/Users/bjensen
138
135
  http://localhost:8880/Groups/Admins
136
+ or
137
+ http://localhost:8880/Users?filter=userName eq "bjensen"
138
+ http://localhost:8880/Groups?filter=displayName eq "Admins"
139
139
  => Lists all attributes for specified user/group
140
140
 
141
141
  http://localhost:8880/Groups?filter=displayName eq "Admins"&excludedAttributes=members
142
+ http://localhost:8880/Groups?filter=members.value eq "bjensen"&attributes=id,displayName,members.value
142
143
  http://localhost:8880/Users?filter=userName eq "bjensen"&attributes=userName,id,name.givenName
143
144
  http://localhost:8880/Users?filter=meta.created ge "2010-01-01T00:00:00Z"&attributes=userName,name.familyName,meta.created
144
145
  http://localhost:8880/Users?filter=emails.value co "@example.com"&attributes=userName,name.familyName,emails&sortBy=name.familyName&sortOrder=descending
145
- => Filtering examples
146
-
146
+ => Filtering and attribute examples
147
147
 
148
148
  "Ctrl + c" to stop the SCIM Gateway
149
149
 
@@ -172,7 +172,7 @@ Upgrade to latest minor version:
172
172
  cd c:\my-scimgateway
173
173
  npm install scimgateway
174
174
 
175
- Note, always backup/copy C:\\my-scimgateway before upgrading. Custom plugins and corresponding configuration files will not be affected.
175
+ Note, always backup/copy c:\\my-scimgateway before upgrading. Custom plugins and corresponding configuration files will not be affected.
176
176
 
177
177
  To force a major upgrade (version x.\*.\* => y.\*.\*) that will brake compability with any existing custom plugins, we have to include the `@latest` suffix in the install command: `npm install scimgateway@latest`
178
178
 
@@ -1143,6 +1143,20 @@ MIT © [Jarle Elshaug](https://www.elshaug.xyz)
1143
1143
 
1144
1144
  ## Change log
1145
1145
 
1146
+ ### v4.1.7
1147
+
1148
+ **Note, this version breaks compability with previous versions of plugin-azure-ad**
1149
+
1150
+ [Added]
1151
+
1152
+ - endpointMap moved from scimgateway to plugin-azure-ad
1153
+ - plugin-azure-ad.json configuration file now includes attribute mapping giving flexibility to add or customize AAD-SCIM attribute mappings
1154
+ - Symantec/Broadcom/CA ConnectorXpress configuration file `config\resources\Azure - ScimGateway.xml` for defining the Azure endpoint, have been updated with some new attributes according to plugin-azure-ad.json attribute mappings
1155
+
1156
+ ### v4.1.6
1157
+ [Added]
1158
+ - Dependencies bump
1159
+
1146
1160
  ### v4.1.5
1147
1161
  [Added]
1148
1162
 
@@ -95,6 +95,160 @@
95
95
  "password": null
96
96
  }
97
97
  }
98
+ },
99
+ "map": {
100
+ "user": {
101
+ "id": {
102
+ "mapTo": "id",
103
+ "type": "string"
104
+ },
105
+ "userPrincipalName": {
106
+ "mapTo": "userName,externalId",
107
+ "type": "string"
108
+ },
109
+ "userType": {
110
+ "mapTo": "userType",
111
+ "type": "string"
112
+ },
113
+ "accountEnabled": {
114
+ "mapTo": "active",
115
+ "type": "boolean"
116
+ },
117
+ "givenName": {
118
+ "mapTo": "name.givenName",
119
+ "type": "string"
120
+ },
121
+ "surname": {
122
+ "mapTo": "name.familyName",
123
+ "type": "string"
124
+ },
125
+ "displayName": {
126
+ "mapTo": "displayName",
127
+ "type": "string"
128
+ },
129
+ "jobTitle": {
130
+ "mapTo": "jobTitle",
131
+ "type": "string"
132
+ },
133
+ "employeeId": {
134
+ "mapTo": "employeeId",
135
+ "type": "string"
136
+ },
137
+ "employeeType": {
138
+ "mapTo": "employeeType",
139
+ "type": "string"
140
+ },
141
+ "companyName": {
142
+ "mapTo": "companyName",
143
+ "type": "string"
144
+ },
145
+ "employeeOrgData.costCenter": {
146
+ "mapTo": "employeeOrgData.costCenter",
147
+ "type": "string"
148
+ },
149
+ "employeeOrgData.division": {
150
+ "mapTo": "employeeOrgData.division",
151
+ "type": "string"
152
+ },
153
+ "officeLocation": {
154
+ "mapTo": "officeLocation",
155
+ "type": "string"
156
+ },
157
+ "department": {
158
+ "mapTo": "department",
159
+ "type": "string"
160
+ },
161
+ "manager": {
162
+ "mapTo": "manager.managerId",
163
+ "type": "string"
164
+ },
165
+ "mail": {
166
+ "mapTo": "mail",
167
+ "type": "string"
168
+ },
169
+ "mailNickname": {
170
+ "mapTo": "mailNickname",
171
+ "type": "string"
172
+ },
173
+ "proxyAddresses": {
174
+ "mapTo": "proxyAddresses.value",
175
+ "type": "array",
176
+ "items": {
177
+ "type": "string"
178
+ }
179
+ },
180
+ "mobilePhone": {
181
+ "mapTo": "mobilePhone",
182
+ "type": "string"
183
+ },
184
+ "businessPhones": {
185
+ "mapTo": "businessPhones",
186
+ "type": "array",
187
+ "typeInbound": "string"
188
+ },
189
+ "country": {
190
+ "mapTo": "country",
191
+ "type": "string"
192
+ },
193
+ "city": {
194
+ "mapTo": "city",
195
+ "type": "string"
196
+ },
197
+ "streetAddress": {
198
+ "mapTo": "streetAddress",
199
+ "type": "string"
200
+ },
201
+ "postalCode": {
202
+ "mapTo": "postalCode",
203
+ "type": "string"
204
+ },
205
+ "state": {
206
+ "mapTo": "state",
207
+ "type": "string"
208
+ },
209
+ "passwordPolicies": {
210
+ "mapTo": "passwordPolicies",
211
+ "type": "string"
212
+ },
213
+ "servicePlan": {
214
+ "mapTo": "servicePlan.value",
215
+ "type": "array"
216
+ },
217
+ "usageLocation": {
218
+ "mapTo": "usageLocation",
219
+ "type": "string"
220
+ },
221
+ "preferredLanguage": {
222
+ "mapTo": "preferredLanguage",
223
+ "type": "string"
224
+ },
225
+ "onPremisesSyncEnabled": {
226
+ "mapTo": "onPremisesSyncEnabled",
227
+ "type": "boolean"
228
+ },
229
+ "onPremisesImmutableId": {
230
+ "mapTo": "onPremisesImmutableId",
231
+ "type": "string"
232
+ }
233
+ },
234
+ "group": {
235
+ "id": {
236
+ "mapTo": "id",
237
+ "type": "string"
238
+ },
239
+ "displayName": {
240
+ "mapTo": "displayName,externalId",
241
+ "type": "string"
242
+ },
243
+ "securityEnabled": {
244
+ "mapTo": "securityEnabled",
245
+ "type": "boolean"
246
+ },
247
+ "mailEnabled": {
248
+ "mapTo": "mailEnabled",
249
+ "type": "boolean"
250
+ }
251
+ }
98
252
  }
99
253
  }
100
254
  }