@villedemontreal/jwt-validator 5.10.1 → 5.10.3
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/dist/src/models/identities.d.ts +33 -11
- package/dist/src/utils/createIdentityFromJwt.js +47 -34
- package/dist/src/utils/createIdentityFromJwt.js.map +1 -1
- package/dist/src/utils/createIdentityFromJwt.test.js +138 -1
- package/dist/src/utils/createIdentityFromJwt.test.js.map +1 -1
- package/package.json +3 -3
- package/src/models/identities.ts +34 -12
- package/src/utils/createIdentityFromJwt.test.ts +152 -1
- package/src/utils/createIdentityFromJwt.ts +55 -42
|
@@ -108,6 +108,9 @@ export type CitizenAttributes = CommonUserAttributes & {
|
|
|
108
108
|
/**
|
|
109
109
|
* The attributes of an employee: a user on the payroll of the city of Montreal.
|
|
110
110
|
*
|
|
111
|
+
* Note that a generic user that has all the required attributes of an employee would be detected as such,
|
|
112
|
+
* for testing purposes.
|
|
113
|
+
*
|
|
111
114
|
* The ID is mapped to the username.
|
|
112
115
|
*/
|
|
113
116
|
export type EmployeeAttributes = CommonUserAttributes & {
|
|
@@ -151,12 +154,19 @@ export type EmployeeAttributes = CommonUserAttributes & {
|
|
|
151
154
|
* The account profile that was selected upon logon.
|
|
152
155
|
*/
|
|
153
156
|
accountProfile: AccountProfile;
|
|
157
|
+
/**
|
|
158
|
+
* Specifies if the account presented as an external user is a generic account, used for testing purposes.
|
|
159
|
+
*/
|
|
160
|
+
isGeneric: boolean;
|
|
154
161
|
};
|
|
155
162
|
/**
|
|
156
163
|
* The attributes of an external user: a user that is not on the payroll of the city of Montreal but actively collaborates
|
|
157
164
|
* with the city and has his own internal email and short code (starting with the letter x).
|
|
158
|
-
|
|
159
|
-
*
|
|
165
|
+
*
|
|
166
|
+
* Note that a generic user that has all the required attributes of an external user would be detected as such,
|
|
167
|
+
* for testing purposes.
|
|
168
|
+
*
|
|
169
|
+
* The ID is mapped to the username.
|
|
160
170
|
*/
|
|
161
171
|
export type ExternalUserAttributes = CommonUserAttributes & {
|
|
162
172
|
type: 'external';
|
|
@@ -191,11 +201,19 @@ export type ExternalUserAttributes = CommonUserAttributes & {
|
|
|
191
201
|
* The account profile that was selected upon logon.
|
|
192
202
|
*/
|
|
193
203
|
accountProfile: AccountProfile;
|
|
204
|
+
/**
|
|
205
|
+
* Specifies if the account presented as an external user is a generic account, used for testing purposes.
|
|
206
|
+
*/
|
|
207
|
+
isGeneric: boolean;
|
|
194
208
|
};
|
|
195
209
|
/**
|
|
196
210
|
* The attributes of a generic user: a fake user used for testing only, that has the right profile or role to perform specific tasks.
|
|
197
|
-
|
|
198
|
-
*
|
|
211
|
+
*
|
|
212
|
+
* Note that if a generic user has all the required attributes of an employee or an external user, then it will be detected
|
|
213
|
+
* as such an employee or external user, for testing purposes, and not as a generic user.
|
|
214
|
+
* However, citizens and guest users cannot be generic.
|
|
215
|
+
*
|
|
216
|
+
* The ID is mapped to the username.
|
|
199
217
|
*/
|
|
200
218
|
export type GenericUserAttributes = CommonUserAttributes & {
|
|
201
219
|
type: 'generic';
|
|
@@ -331,16 +349,20 @@ export type ServiceAccountAttributes = ClientServiceAccountAttributes | UserServ
|
|
|
331
349
|
*/
|
|
332
350
|
export type IdentitySource = {
|
|
333
351
|
/**
|
|
334
|
-
* The audience of the JWT, which is usually the clientID our appId.
|
|
352
|
+
* The audience of the JWT, which is usually the clientID of our appId.
|
|
335
353
|
*/
|
|
336
354
|
aud: string;
|
|
337
355
|
/**
|
|
338
|
-
*
|
|
356
|
+
* The display name of the audience of the JWT, which is usually the name of our app.
|
|
357
|
+
*/
|
|
358
|
+
audDisplayName?: string;
|
|
359
|
+
/**
|
|
360
|
+
* Specifies which service issued the JWT that we parsed into an identity.
|
|
339
361
|
* Usually, this would be 'security-identity-token-api'.
|
|
340
362
|
*/
|
|
341
363
|
issuer: string;
|
|
342
364
|
/**
|
|
343
|
-
*
|
|
365
|
+
* Specifies which IDP produced the access token that was submitted to TokenAPI.
|
|
344
366
|
* For EntraID, this would be https://login.microsoftonline.com/9f15d2dc-8753-4f83-aac2-a58288d3a4bc/v2.0,
|
|
345
367
|
* for Azure AD B2C https://connexion.montreal.ca,
|
|
346
368
|
* for Gluu employee https://idp.montreal.ca,
|
|
@@ -349,22 +371,22 @@ export type IdentitySource = {
|
|
|
349
371
|
*/
|
|
350
372
|
accessTokenIssuer?: string;
|
|
351
373
|
/**
|
|
352
|
-
*
|
|
374
|
+
* Specifies which claim was used for the unique ID of the identity.
|
|
353
375
|
* This could be: userName, email, mtlIdentityId, aud, sub
|
|
354
376
|
*/
|
|
355
377
|
claim: string;
|
|
356
378
|
/**
|
|
357
|
-
*
|
|
379
|
+
* Specifies the internal ID that would provide access to the user object in the IDP itself.
|
|
358
380
|
* For Azure, this would be the 'oid' (or objectID) and for Gluu this would be the inum (or sub).
|
|
359
381
|
*/
|
|
360
382
|
internalId: string;
|
|
361
383
|
/**
|
|
362
|
-
*
|
|
384
|
+
* Specifies the realm that produced the access token.
|
|
363
385
|
* This could be: employees, citizens, anonymous
|
|
364
386
|
*/
|
|
365
387
|
realm: string;
|
|
366
388
|
/**
|
|
367
|
-
*
|
|
389
|
+
* Specifies the name of the environment that produced the JWT.
|
|
368
390
|
* This could be: lab, dev, accept, prod
|
|
369
391
|
*/
|
|
370
392
|
env?: string;
|
|
@@ -47,11 +47,12 @@ function createIdentityFromJwt(jwt) {
|
|
|
47
47
|
const realm = getStringClaim(jwt, 'realm');
|
|
48
48
|
const aud = getStringClaim(jwt, 'aud');
|
|
49
49
|
const sub = getStringClaim(jwt, 'sub');
|
|
50
|
+
const audDisplayName = getOptionalStringClaim(jwt, 'displayName');
|
|
50
51
|
const oid = getOptionalStringClaim(jwt, 'oid');
|
|
51
52
|
const env = getOptionalStringClaim(jwt, 'env');
|
|
52
53
|
const userType = getOptionalStringClaim(jwt, 'userType') ?? 'citizen';
|
|
53
54
|
const accessTokenIssuer = getOptionalStringClaim(jwt, 'accessTokenIssuer');
|
|
54
|
-
const isGenericUser = jwt.isGenericAccount;
|
|
55
|
+
const isGenericUser = jwt.isGenericAccount === true;
|
|
55
56
|
//----------< Anonymous user >-----------------------------------------
|
|
56
57
|
if (userType === 'anonymous') {
|
|
57
58
|
const type = 'anonymous';
|
|
@@ -69,6 +70,7 @@ function createIdentityFromJwt(jwt) {
|
|
|
69
70
|
},
|
|
70
71
|
source: {
|
|
71
72
|
aud,
|
|
73
|
+
audDisplayName,
|
|
72
74
|
issuer,
|
|
73
75
|
accessTokenIssuer,
|
|
74
76
|
env,
|
|
@@ -95,6 +97,7 @@ function createIdentityFromJwt(jwt) {
|
|
|
95
97
|
},
|
|
96
98
|
source: {
|
|
97
99
|
aud,
|
|
100
|
+
audDisplayName,
|
|
98
101
|
issuer,
|
|
99
102
|
accessTokenIssuer,
|
|
100
103
|
env,
|
|
@@ -123,6 +126,7 @@ function createIdentityFromJwt(jwt) {
|
|
|
123
126
|
},
|
|
124
127
|
source: {
|
|
125
128
|
aud,
|
|
129
|
+
audDisplayName,
|
|
126
130
|
issuer,
|
|
127
131
|
accessTokenIssuer,
|
|
128
132
|
env,
|
|
@@ -156,6 +160,7 @@ function createIdentityFromJwt(jwt) {
|
|
|
156
160
|
},
|
|
157
161
|
source: {
|
|
158
162
|
aud,
|
|
163
|
+
audDisplayName,
|
|
159
164
|
issuer,
|
|
160
165
|
accessTokenIssuer,
|
|
161
166
|
env,
|
|
@@ -169,39 +174,6 @@ function createIdentityFromJwt(jwt) {
|
|
|
169
174
|
};
|
|
170
175
|
return result;
|
|
171
176
|
}
|
|
172
|
-
//----------< Generic user >-----------------------------------------
|
|
173
|
-
if (isGenericUser === true) {
|
|
174
|
-
const type = 'user';
|
|
175
|
-
const subType = 'generic-user';
|
|
176
|
-
const username = getStringClaim(jwt, usernameClaimName, type, subType);
|
|
177
|
-
const result = {
|
|
178
|
-
type,
|
|
179
|
-
id: username,
|
|
180
|
-
displayName: getStringClaim(jwt, 'name', type, subType),
|
|
181
|
-
attributes: {
|
|
182
|
-
type: 'generic',
|
|
183
|
-
username,
|
|
184
|
-
email: getOptionalStringClaim(jwt, 'email'),
|
|
185
|
-
department: getOptionalStringClaim(jwt, 'department'),
|
|
186
|
-
firstName: getStringClaim(jwt, 'givenName', type, subType),
|
|
187
|
-
lastName: getStringClaim(jwt, 'familyName', type, subType),
|
|
188
|
-
accountProfile: getAccountProfile(jwt),
|
|
189
|
-
},
|
|
190
|
-
source: {
|
|
191
|
-
aud,
|
|
192
|
-
issuer,
|
|
193
|
-
accessTokenIssuer,
|
|
194
|
-
env,
|
|
195
|
-
realm,
|
|
196
|
-
claim: usernameClaimName,
|
|
197
|
-
internalId: oid ?? sub,
|
|
198
|
-
},
|
|
199
|
-
toString() {
|
|
200
|
-
return encodeComponents(this.type, this.attributes.type, this.id, this.displayName, this.attributes.email, this.attributes.department, this.attributes.accountProfile);
|
|
201
|
-
},
|
|
202
|
-
};
|
|
203
|
-
return result;
|
|
204
|
-
}
|
|
205
177
|
//----------< Employee >-----------------------------------------
|
|
206
178
|
if (userType === 'employee' && isEmployee(jwt)) {
|
|
207
179
|
const type = 'user';
|
|
@@ -223,9 +195,11 @@ function createIdentityFromJwt(jwt) {
|
|
|
223
195
|
firstName: getStringClaim(jwt, 'givenName', type, subType),
|
|
224
196
|
lastName: getStringClaim(jwt, 'familyName', type, subType),
|
|
225
197
|
accountProfile: getAccountProfile(jwt),
|
|
198
|
+
isGeneric: isGenericUser,
|
|
226
199
|
},
|
|
227
200
|
source: {
|
|
228
201
|
aud,
|
|
202
|
+
audDisplayName,
|
|
229
203
|
issuer,
|
|
230
204
|
accessTokenIssuer,
|
|
231
205
|
env,
|
|
@@ -259,9 +233,11 @@ function createIdentityFromJwt(jwt) {
|
|
|
259
233
|
firstName: getStringClaim(jwt, 'givenName', type, subType),
|
|
260
234
|
lastName: getStringClaim(jwt, 'familyName', type, subType),
|
|
261
235
|
accountProfile: getAccountProfile(jwt),
|
|
236
|
+
isGeneric: isGenericUser,
|
|
262
237
|
},
|
|
263
238
|
source: {
|
|
264
239
|
aud,
|
|
240
|
+
audDisplayName,
|
|
265
241
|
issuer,
|
|
266
242
|
accessTokenIssuer,
|
|
267
243
|
env,
|
|
@@ -295,6 +271,7 @@ function createIdentityFromJwt(jwt) {
|
|
|
295
271
|
},
|
|
296
272
|
source: {
|
|
297
273
|
aud,
|
|
274
|
+
audDisplayName,
|
|
298
275
|
issuer,
|
|
299
276
|
accessTokenIssuer,
|
|
300
277
|
env,
|
|
@@ -308,6 +285,40 @@ function createIdentityFromJwt(jwt) {
|
|
|
308
285
|
};
|
|
309
286
|
return result;
|
|
310
287
|
}
|
|
288
|
+
//----------< Generic user >-----------------------------------------
|
|
289
|
+
if (isGenericUser) {
|
|
290
|
+
const type = 'user';
|
|
291
|
+
const subType = 'generic-user';
|
|
292
|
+
const username = getStringClaim(jwt, usernameClaimName, type, subType);
|
|
293
|
+
const result = {
|
|
294
|
+
type,
|
|
295
|
+
id: username,
|
|
296
|
+
displayName: getStringClaim(jwt, 'name', type, subType),
|
|
297
|
+
attributes: {
|
|
298
|
+
type: 'generic',
|
|
299
|
+
username,
|
|
300
|
+
email: getOptionalStringClaim(jwt, 'email'),
|
|
301
|
+
department: getOptionalStringClaim(jwt, 'department'),
|
|
302
|
+
firstName: getStringClaim(jwt, 'givenName', type, subType),
|
|
303
|
+
lastName: getStringClaim(jwt, 'familyName', type, subType),
|
|
304
|
+
accountProfile: getAccountProfile(jwt),
|
|
305
|
+
},
|
|
306
|
+
source: {
|
|
307
|
+
aud,
|
|
308
|
+
audDisplayName,
|
|
309
|
+
issuer,
|
|
310
|
+
accessTokenIssuer,
|
|
311
|
+
env,
|
|
312
|
+
realm,
|
|
313
|
+
claim: usernameClaimName,
|
|
314
|
+
internalId: oid ?? sub,
|
|
315
|
+
},
|
|
316
|
+
toString() {
|
|
317
|
+
return encodeComponents(this.type, this.attributes.type, this.id, this.displayName, this.attributes.email, this.attributes.department, this.attributes.accountProfile);
|
|
318
|
+
},
|
|
319
|
+
};
|
|
320
|
+
return result;
|
|
321
|
+
}
|
|
311
322
|
//----------< Unknown user type >-----------------------------------------
|
|
312
323
|
const username = getOptionalStringClaim(jwt, usernameClaimName);
|
|
313
324
|
const email = getOptionalStringClaim(jwt, 'email');
|
|
@@ -331,6 +342,7 @@ function createIdentityFromJwt(jwt) {
|
|
|
331
342
|
},
|
|
332
343
|
source: {
|
|
333
344
|
aud,
|
|
345
|
+
audDisplayName,
|
|
334
346
|
issuer,
|
|
335
347
|
accessTokenIssuer,
|
|
336
348
|
env,
|
|
@@ -354,6 +366,7 @@ function createIdentityFromJwt(jwt) {
|
|
|
354
366
|
},
|
|
355
367
|
source: {
|
|
356
368
|
aud,
|
|
369
|
+
audDisplayName,
|
|
357
370
|
issuer,
|
|
358
371
|
accessTokenIssuer,
|
|
359
372
|
env,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createIdentityFromJwt.js","sourceRoot":"","sources":["../../../src/utils/createIdentityFromJwt.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createIdentityFromJwt.js","sourceRoot":"","sources":["../../../src/utils/createIdentityFromJwt.ts"],"names":[],"mappings":"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"}
|