@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.
@@ -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
- * The ID is mapped to the username.
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
- * The ID is mapped to the username.
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
- * Which service issued the JWT that we parsed into an identity.
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
- * Which IDP produced the access token that was submitted to TokenAPI.
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
- * Which claim was used for the unique ID of the identity.
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
- * The internal ID that would provide access to the user object in the IDP itself.
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
- * The realm that produced the access token.
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
- * The name of the environment that produced the JWT.
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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"}