@mongodb-js/oidc-plugin 0.1.5 → 0.2.0

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
@@ -17,6 +17,7 @@ const config = {
17
17
  openBrowser: {
18
18
  command: 'open -a "Firefox"',
19
19
  },
20
+ // allowedFlows: ['auth-code', 'device-auth'], // if Device Auth Grant flow is required
20
21
  };
21
22
 
22
23
  const client = await MongoClient.connect(
package/dist/api.d.ts CHANGED
@@ -79,6 +79,12 @@ export interface MongoDBOIDCPluginOptions {
79
79
  /**
80
80
  * Restrict possible OIDC authorization flows to a subset.
81
81
  *
82
+ * The default value is `['auth-code']`, i.e. the Device Authorization Grant
83
+ * flow is not enabled by default and needs to be enabled explicitly.
84
+ *
85
+ * Order of the entries is not relevant. The Authorization Code Flow always
86
+ * takes precedence over the Device Authorization Grant flow.
87
+ *
82
88
  * This can either be a static list of supported flows or a function which
83
89
  * returns such a list. In the latter case, the function will be called
84
90
  * for each authentication attempt. The AbortSignal argument can be used
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":";;;AAIA,qCAAiD;AAWjD,cAAc;AACD,QAAA,mBAAmB,GAA4B,MAAM,CAAC,MAAM,CAAC;IACxE,WAAW;IACX,aAAa;CACd,CAAC,CAAC;AAuLH,gBAAgB;AACH,QAAA,sDAAsD,GACjE,IAAI,OAAO,EAA4C,CAAC;AAE1D;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,uBAAuB,CACrC,OAA2C;IAE3C,MAAM,MAAM,GAAG,IAAI,8BAAqB,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACzD,MAAM,YAAY,GAAsB;QACtC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;QAC7C,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;KACzC,CAAC;IACF,8DAAsD,CAAC,GAAG,CACxD,YAAY,EACZ,MAAM,CACP,CAAC;IACF,OAAO,YAAY,CAAC;AACtB,CAAC;AAdD,0DAcC;AAED,gBAAgB;AACH,QAAA,0BAA0B,GAAG,KAAM,CAAC"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":";;;AAIA,qCAAiD;AAWjD,cAAc;AACD,QAAA,mBAAmB,GAA4B,MAAM,CAAC,MAAM,CAAC;IACxE,WAAW;IACX,aAAa;CACd,CAAC,CAAC;AA6LH,gBAAgB;AACH,QAAA,sDAAsD,GACjE,IAAI,OAAO,EAA4C,CAAC;AAE1D;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,uBAAuB,CACrC,OAA2C;IAE3C,MAAM,MAAM,GAAG,IAAI,8BAAqB,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACzD,MAAM,YAAY,GAAsB;QACtC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;QAC7C,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;KACzC,CAAC;IACF,8DAAsD,CAAC,GAAG,CACxD,YAAY,EACZ,MAAM,CACP,CAAC;IACF,OAAO,YAAY,CAAC;AACtB,CAAC;AAdD,0DAcC;AAED,gBAAgB;AACH,QAAA,0BAA0B,GAAG,KAAM,CAAC"}
package/dist/plugin.d.ts CHANGED
@@ -20,7 +20,6 @@ export declare class MongoDBOIDCPluginImpl implements MongoDBOIDCPlugin {
20
20
  private openBrowser;
21
21
  private notifyDeviceFlow;
22
22
  private updateStateWithTokenSet;
23
- private verifyValidUrl;
24
23
  static readonly defaultRedirectURI = "http://localhost:27097/redirect";
25
24
  private authorizationCodeFlow;
26
25
  private deviceAuthorizationFlow;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EAEvB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAYjB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAMzC,OAAO,KAAK,EAGV,iBAAiB,EACjB,wBAAwB,EAGzB,MAAM,OAAO,CAAC;AA+Ef,0CAA0C;AAC1C,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,eAAe,GAAG,YAAY,CAAC,GACvD,MAAM,GAAG,SAAS,CAmBpB;AAeD,gBAAgB;AAChB,qBAAa,qBAAsB,YAAW,iBAAiB;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqC;IAC7D,SAAgB,MAAM,EAAE,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;IACnE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAwC;IAC1E,SAAgB,kBAAkB,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;IAC5E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAIrB;gBAEU,OAAO,EAAE,QAAQ,CAAC,wBAAwB,CAAC;IAevD,OAAO,CAAC,YAAY;IAkDpB,OAAO,CAAC,UAAU;IAsBX,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;YAUrB,eAAe;IAkB7B,OAAO,CAAC,YAAY;YAuBN,aAAa;YA8Cb,WAAW;YAkCX,gBAAgB;IAa9B,OAAO,CAAC,uBAAuB;IA4E/B,OAAO,CAAC,cAAc;IAkBtB,MAAM,CAAC,QAAQ,CAAC,kBAAkB,qCAAqC;YAEzD,qBAAqB;YA+HrB,uBAAuB;YA4BvB,mBAAmB;IA4GpB,YAAY,CACvB,cAAc,EAAE,aAAa,EAC7B,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,iBAAiB,CAAC;CA+B9B"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EAEvB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAajB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAMzC,OAAO,KAAK,EAGV,iBAAiB,EACjB,wBAAwB,EAGzB,MAAM,OAAO,CAAC;AA8Ef,0CAA0C;AAC1C,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,eAAe,GAAG,YAAY,CAAC,GACvD,MAAM,GAAG,SAAS,CAmBpB;AAeD,gBAAgB;AAChB,qBAAa,qBAAsB,YAAW,iBAAiB;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqC;IAC7D,SAAgB,MAAM,EAAE,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;IACnE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAwC;IAC1E,SAAgB,kBAAkB,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;IAC5E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAIrB;gBAEU,OAAO,EAAE,QAAQ,CAAC,wBAAwB,CAAC;IAevD,OAAO,CAAC,YAAY;IAkDpB,OAAO,CAAC,UAAU;IAsBX,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;YAUrB,eAAe;IAkB7B,OAAO,CAAC,YAAY;YA4BN,aAAa;YAyDb,WAAW;YAkCX,gBAAgB;IAiB9B,OAAO,CAAC,uBAAuB;IA4E/B,MAAM,CAAC,QAAQ,CAAC,kBAAkB,qCAAqC;YAEzD,qBAAqB;YA+HrB,uBAAuB;YA0BvB,mBAAmB;IA4GpB,YAAY,CACvB,cAAc,EAAE,aAAa,EAC7B,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,iBAAiB,CAAC;CA+B9B"}
package/dist/plugin.js CHANGED
@@ -33,7 +33,6 @@ const util_2 = require("util");
33
33
  const crypto_1 = require("crypto");
34
34
  const events_1 = require("events");
35
35
  const api_1 = require("./api");
36
- const api_2 = require("./api");
37
36
  const child_process_1 = require("child_process");
38
37
  // eslint-disable-next-line @typescript-eslint/consistent-type-imports
39
38
  let _electron = undefined;
@@ -195,7 +194,7 @@ class MongoDBOIDCPluginImpl {
195
194
  async getAllowedFlows({ signal, }) {
196
195
  const flowList = new Set(typeof this.options.allowedFlows === 'function'
197
196
  ? await this.options.allowedFlows({ signal })
198
- : this.options.allowedFlows ?? api_1.ALL_AUTH_FLOW_TYPES);
197
+ : this.options.allowedFlows ?? ['auth-code']);
199
198
  // Remove flows from the set whose prerequisites aren't fulfilled.
200
199
  if (this.options.openBrowser === false)
201
200
  flowList.delete('auth-code');
@@ -206,6 +205,10 @@ class MongoDBOIDCPluginImpl {
206
205
  // Return the current state for a given [server, username] configuration,
207
206
  // or create a new one if none exists.
208
207
  getAuthState(serverMetadata) {
208
+ if (!serverMetadata.issuer || typeof serverMetadata.issuer !== 'string') {
209
+ throw new types_1.MongoDBOIDCError(`'issuer' is missing`);
210
+ }
211
+ (0, util_1.validateSecureHTTPUrl)(serverMetadata.issuer, 'issuer');
209
212
  if (!serverMetadata.clientId) {
210
213
  throw new types_1.MongoDBOIDCError('No clientId passed in server OIDC metadata object');
211
214
  }
@@ -246,7 +249,12 @@ class MongoDBOIDCPluginImpl {
246
249
  }),
247
250
  };
248
251
  }
252
+ (0, util_1.validateSecureHTTPUrl)(serverMetadata.issuer, 'issuer');
249
253
  const issuer = await openid_client_2.Issuer.discover(serverMetadata.issuer);
254
+ (0, util_1.validateSecureHTTPUrl)(issuer.metadata.authorization_endpoint, 'authorization_endpoint');
255
+ (0, util_1.validateSecureHTTPUrl)(issuer.metadata.device_authorization_endpoint, 'device_authorization_endpoint');
256
+ (0, util_1.validateSecureHTTPUrl)(issuer.metadata.token_endpoint, 'token_endpoint');
257
+ (0, util_1.validateSecureHTTPUrl)(issuer.metadata.jwks_uri, 'jwks_uri');
250
258
  const client = new issuer.Client({
251
259
  client_id: serverMetadata.clientId,
252
260
  redirect_uris: redirectURIs,
@@ -290,6 +298,7 @@ class MongoDBOIDCPluginImpl {
290
298
  throw new types_1.MongoDBOIDCError('Unknown format for `openBrowser`');
291
299
  }
292
300
  async notifyDeviceFlow(deviceFlowInformation) {
301
+ (0, util_1.validateSecureHTTPUrl)(deviceFlowInformation.verificationUrl, 'verificationUrl');
293
302
  if (!this.options.notifyDeviceFlow) {
294
303
  // Should never happen.
295
304
  throw new types_1.MongoDBOIDCError('notifyDeviceFlow() requested but not provided');
@@ -362,24 +371,7 @@ class MongoDBOIDCPluginImpl {
362
371
  };
363
372
  this.logger.emit('mongodb-oidc-plugin:state-updated');
364
373
  }
365
- verifyValidUrl(serverOIDCMetadata, key) {
366
- // Verify that `key` refers to a valid URL. This is currently
367
- // *not* an error that we allow to fall back from.
368
- const value = serverOIDCMetadata[key];
369
- if (!value || typeof value !== 'string') {
370
- throw new types_1.MongoDBOIDCError(`'${key}' is missing`);
371
- }
372
- else {
373
- try {
374
- new URL(value);
375
- }
376
- catch {
377
- throw new types_1.MongoDBOIDCError(`'${key}' is invalid: ${value}}`);
378
- }
379
- }
380
- }
381
374
  async authorizationCodeFlow(state, signal) {
382
- this.verifyValidUrl(state.serverOIDCMetadata, 'issuer');
383
375
  const configuredRedirectURI = this.options.redirectURI ?? MongoDBOIDCPluginImpl.defaultRedirectURI;
384
376
  const codeVerifier = openid_client_2.generators.codeVerifier();
385
377
  const codeChallenge = openid_client_2.generators.codeChallenge(codeVerifier);
@@ -416,6 +408,7 @@ class MongoDBOIDCPluginImpl {
416
408
  code_challenge_method: 'S256',
417
409
  state: oidcStateParam,
418
410
  });
411
+ (0, util_1.validateSecureHTTPUrl)(authCodeFlowUrl, 'authCodeFlowUrl');
419
412
  const { localUrl, onAccessed: onLocalUrlAccessed } = await server.addRedirect(authCodeFlowUrl);
420
413
  signalCheck();
421
414
  // Handle errors from opening a browser but do not await the Promise
@@ -439,7 +432,7 @@ class MongoDBOIDCPluginImpl {
439
432
  }));
440
433
  const timeout = allowFallbackIfFailed(new Promise((resolve, reject) => {
441
434
  if (this.options.openBrowserTimeout !== 0) {
442
- setTimeout(reject, this.options.openBrowserTimeout ?? api_2.kDefaultOpenBrowserTimeout, new types_1.MongoDBOIDCError('Opening browser timed out')).unref();
435
+ setTimeout(reject, this.options.openBrowserTimeout ?? api_1.kDefaultOpenBrowserTimeout, new types_1.MongoDBOIDCError('Opening browser timed out')).unref();
443
436
  }
444
437
  }));
445
438
  browserStatePromise.catch(() => {
@@ -468,7 +461,6 @@ class MongoDBOIDCPluginImpl {
468
461
  this.updateStateWithTokenSet(state, tokenSet);
469
462
  }
470
463
  async deviceAuthorizationFlow(state, signal) {
471
- this.verifyValidUrl(state.serverOIDCMetadata, 'issuer');
472
464
  const { scope, client } = await this.getOIDCClient(state);
473
465
  await (0, util_1.withAbortCheck)(signal, async ({ signalCheck, signalPromise }) => {
474
466
  const deviceFlowHandle = await Promise.race([
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ export declare class RFC8252HTTPServer {
13
13
  private readonly redirectServerHandler;
14
14
  private readonly logger;
15
15
  private servers;
16
+ private clientConnections;
16
17
  private readonly expressApp;
17
18
  private readonly redirects;
18
19
  private readonly oidcParamsPromise;
@@ -1 +1 @@
1
- {"version":3,"file":"rfc-8252-http-server.d.ts","sourceRoot":"","sources":["../src/rfc-8252-http-server.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAIjB,OAAO,KAAK,EACV,4BAA4B,EAE7B,MAAM,OAAO,CAAC;AAIf,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;IACpD,4BAA4B,CAAC,EAAE,4BAA4B,CAAC;CAC7D;AAED,gBAAgB;AAChB,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAM;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA+B;IACrE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;IACpE,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAGtB;IAIJ,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkB;IACpD,OAAO,CAAC,iBAAiB,CAAC,CAA2B;IACrD,OAAO,CAAC,gBAAgB,CAAC,CAAoC;IAG7D,OAAO,CAAC,UAAU,CAAqB;gBAE3B,OAAO,EAAE,wBAAwB;IAyC7C,OAAO,CAAC,cAAc,CAcpB;IAEF,OAAO,CAAC,yBAAyB,CAiB/B;IAEF,OAAO,CAAC,mBAAmB,CAmHzB;IAEF,OAAO,CAAC,gBAAgB,CAYtB;IAEF;;OAEG;IACU,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QACnD,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;KAC3B,CAAC;IAgBF;;;OAGG;IACH,IAAW,aAAa,IAAI,MAAM,GAAG,SAAS,CAa7C;IAED;;;;OAIG;IACH,IAAW,oBAAoB,IAAI,MAAM,GAAG,SAAS,CAMpD;IAED;;;OAGG;IACU,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IA6GpC,OAAO,CAAC,qBAAqB;IAoB7B;;;OAGG;IACU,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIjD;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAcnC;;;OAGG;IACU,yBAAyB,CAAC,EACrC,MAAM,GACP,GAAE;QACD,MAAM,CAAC,EAAE,eAAe,CAAC;KACrB,GAAG,OAAO,CAAC,MAAM,CAAC;CASzB"}
1
+ {"version":3,"file":"rfc-8252-http-server.d.ts","sourceRoot":"","sources":["../src/rfc-8252-http-server.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAIjB,OAAO,KAAK,EACV,4BAA4B,EAE7B,MAAM,OAAO,CAAC;AAIf,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;IACpD,4BAA4B,CAAC,EAAE,4BAA4B,CAAC;CAC7D;AAED,gBAAgB;AAChB,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAM;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA+B;IACrE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;IACpE,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,iBAAiB,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAGtB;IAIJ,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkB;IACpD,OAAO,CAAC,iBAAiB,CAAC,CAA2B;IACrD,OAAO,CAAC,gBAAgB,CAAC,CAAoC;IAG7D,OAAO,CAAC,UAAU,CAAqB;gBAE3B,OAAO,EAAE,wBAAwB;IAyC7C,OAAO,CAAC,cAAc,CAcpB;IAEF,OAAO,CAAC,yBAAyB,CAiB/B;IAEF,OAAO,CAAC,mBAAmB,CAmHzB;IAEF,OAAO,CAAC,gBAAgB,CAYtB;IAEF;;OAEG;IACU,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QACnD,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;KAC3B,CAAC;IAgBF;;;OAGG;IACH,IAAW,aAAa,IAAI,MAAM,GAAG,SAAS,CAa7C;IAED;;;;OAIG;IACH,IAAW,oBAAoB,IAAI,MAAM,GAAG,SAAS,CAMpD;IAED;;;OAGG;IACU,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IA6GpC,OAAO,CAAC,qBAAqB;IA2B7B;;;OAGG;IACU,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIjD;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2BnC;;;OAGG;IACU,yBAAyB,CAAC,EACrC,MAAM,GACP,GAAE;QACD,MAAM,CAAC,EAAE,eAAe,CAAC;KACrB,GAAG,OAAO,CAAC,MAAM,CAAC;CASzB"}
@@ -16,6 +16,7 @@ const util_2 = require("./util");
16
16
  class RFC8252HTTPServer {
17
17
  constructor(options) {
18
18
  this.servers = [];
19
+ this.clientConnections = [];
19
20
  this.redirects = new Map();
20
21
  this._handleSuccess = (req, res, next) => {
21
22
  const { oidcParams } = this;
@@ -343,6 +344,14 @@ class RFC8252HTTPServer {
343
344
  // this is the correct thing to do.
344
345
  ipv6Only: family === 6 ? true : undefined,
345
346
  });
347
+ server.on('connection', (socket) => {
348
+ this.clientConnections.push(socket);
349
+ socket.on('close', () => {
350
+ const index = this.clientConnections.indexOf(socket);
351
+ if (index !== -1)
352
+ this.clientConnections.splice(index, 1);
353
+ });
354
+ });
346
355
  return server;
347
356
  }
348
357
  /**
@@ -359,12 +368,28 @@ class RFC8252HTTPServer {
359
368
  this.logger.emit('mongodb-oidc-plugin:local-server-close', {
360
369
  url: this.redirectUrl.toString(),
361
370
  });
362
- const servers = this.servers;
363
- this.servers = [];
364
- await Promise.all(servers.map(async (server) => {
371
+ // Node.js servers emit 'close' events in response to .close(),
372
+ // but we are not waiting for that here, because:
373
+ // - Those events are not actually correlated to the server closing, Node.js
374
+ // just closes the underlying handle and ignores that that is an async operation
375
+ // (https://github.com/nodejs/node/blob/38b82b0604d6515b281c6586d6999d2c67248e7f/lib/net.js#L2178)
376
+ // - Node.js does, however, wait for all incoming connections to be closed
377
+ // before emitting the event. That can be convenient sometimes, but browsers
378
+ // can keep idle connections open for a while as a sort of 'connection cache',
379
+ // so waiting for the 'close' event would potentially delay this event indefinitely.
380
+ for (const server of this.servers)
365
381
  server.close();
366
- await (0, events_1.once)(server, 'close');
367
- }));
382
+ this.servers = [];
383
+ for (const socket of this.clientConnections) {
384
+ // Close the open sockets. Not much point in waiting for a 'close'
385
+ // event here.
386
+ socket.on('error', () => {
387
+ /* ignore */
388
+ });
389
+ socket.destroy();
390
+ }
391
+ this.clientConnections = [];
392
+ return Promise.resolve(); // Keeping this async in case we ever need it to be.
368
393
  }
369
394
  /**
370
395
  * Convenience method to wait until a single successful OIDC parameter
@@ -1 +1 @@
1
- {"version":3,"file":"rfc-8252-http-server.js","sourceRoot":"","sources":["../src/rfc-8252-http-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rfc-8252-http-server.js","sourceRoot":"","sources":["../src/rfc-8252-http-server.ts"],"names":[],"mappings":"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"}
package/dist/util.d.ts CHANGED
@@ -20,5 +20,6 @@ export declare const AbortSignal: {
20
20
  export declare function timeoutSignal(ms: number): AbortSignal;
21
21
  export declare function withLock<T extends (...args: any[]) => Promise<any>>(fn: T): (...args: Parameters<T>) => ReturnType<T>;
22
22
  export declare function normalizeObject<T extends object>(obj: T): T;
23
+ export declare function validateSecureHTTPUrl(url: unknown, diagnosticId: string): void;
23
24
  export {};
24
25
  //# sourceMappingURL=util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAQ/C,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,IAAI,CAE7D;AAED,UAAU,cAAc;IACtB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;CAC/B;AACD,wBAAsB,cAAc,CAElC,CAAC,SAAS,CAAC,UAAU,EAAE,cAAc,KAAK,OAAO,CAAC,GAAG,CAAC,EACtD,MAAM,EAAE,eAAe,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAoBpE;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAIhD;AAED,eAAO,MAAM,eAAe;;;CAE+C,CAAC;AAC5E,eAAO,MAAM,WAAW;;;;;CAE2C,CAAC;AAGpE,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,CAIrD;AAID,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,EACjE,EAAE,EAAE,CAAC,GACJ,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAc3C;AAGD,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAE3D"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAQ/C,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,IAAI,CAE7D;AAED,UAAU,cAAc;IACtB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;CAC/B;AACD,wBAAsB,cAAc,CAElC,CAAC,SAAS,CAAC,UAAU,EAAE,cAAc,KAAK,OAAO,CAAC,GAAG,CAAC,EACtD,MAAM,EAAE,eAAe,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAoBpE;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAIhD;AAED,eAAO,MAAM,eAAe;;;CAE+C,CAAC;AAC5E,eAAO,MAAM,WAAW;;;;;CAE2C,CAAC;AAGpE,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,CAIrD;AAID,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,EACjE,EAAE,EAAE,CAAC,GACJ,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAc3C;AAGD,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAE3D;AAGD,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,OAAO,EACZ,YAAY,EAAE,MAAM,GACnB,IAAI,CA2BN"}
package/dist/util.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.normalizeObject = exports.withLock = exports.timeoutSignal = exports.AbortSignal = exports.AbortController = exports.errorString = exports.withAbortCheck = exports.throwIfAborted = void 0;
3
+ exports.validateSecureHTTPUrl = exports.normalizeObject = exports.withLock = exports.timeoutSignal = exports.AbortSignal = exports.AbortController = exports.errorString = exports.withAbortCheck = exports.throwIfAborted = void 0;
4
4
  class AbortError extends Error {
5
5
  constructor() {
6
6
  super('The operation was aborted');
@@ -73,4 +73,33 @@ function normalizeObject(obj) {
73
73
  return Object.fromEntries(Object.entries(obj).sort());
74
74
  }
75
75
  exports.normalizeObject = normalizeObject;
76
+ // Throws if the url does not refer to an https: endpoint or a local endpoint, or null or undefined.
77
+ function validateSecureHTTPUrl(url, diagnosticId) {
78
+ try {
79
+ if (url == null)
80
+ return;
81
+ if (typeof url !== 'string')
82
+ throw new Error(`Expected string, got ${typeof url} instead`);
83
+ const parsed = new URL(url);
84
+ if (parsed.protocol === 'https:')
85
+ return;
86
+ if (parsed.protocol !== 'http:') {
87
+ throw new Error(`Unknown protocol '${parsed.protocol}' '${url}'`);
88
+ }
89
+ if (!/^(\[::1\]|127(\.\d+){3}|localhost)$/.test(parsed.hostname)) {
90
+ throw new Error(`Need to specify https: when accessing non-local URL '${url}'`);
91
+ }
92
+ }
93
+ catch (err) {
94
+ if (!err ||
95
+ typeof err !== 'object' ||
96
+ !('message' in err) ||
97
+ typeof err.message !== 'string') {
98
+ throw err;
99
+ }
100
+ err.message += ` (validating: ${diagnosticId})`;
101
+ throw err;
102
+ }
103
+ }
104
+ exports.validateSecureHTTPUrl = validateSecureHTTPUrl;
76
105
  //# sourceMappingURL=util.js.map
package/dist/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;AAEA,MAAM,UAAW,SAAQ,KAAK;IAC5B;QACE,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACrC,CAAC;CACF;AAED,SAAgB,cAAc,CAAC,MAAwB;IACrD,IAAI,MAAM,EAAE,OAAO;QAAE,MAAM,MAAM,CAAC,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;AAC/D,CAAC;AAFD,wCAEC;AAMM,KAAK,UAAU,cAAc,CAGlC,MAAmC,EAAE,EAAK;IAC1C,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,MAA8B,CAAC;IACnC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;QACxD,MAAM,GAAG,GAAG,CAAC;IACf,CAAC,CAAC,CAAC;IACH,SAAS,QAAQ;QACf,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE;QACvB,8CAA8C;IAChD,CAAC,CAAC,CAAC;IAEH,WAAW,EAAE,CAAC;IACd,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,IAAI;QACF,OAAO,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC;KACjD;YAAS;QACR,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;KAChD;AACH,CAAC;AAvBD,wCAuBC;AAED,SAAgB,WAAW,CAAC,GAAY;IACtC,OAAO,MAAM,CACX,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CACvE,CAAC;AACJ,CAAC;AAJD,kCAIC;AAEY,QAAA,eAAe;AAC1B,8DAA8D;AAC9D,UAAU,CAAC,eAAe,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC;AAC/D,QAAA,WAAW;AACtB,8DAA8D;AAC9D,UAAU,CAAC,WAAW,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC;AAEpE,mDAAmD;AACnD,SAAgB,aAAa,CAAC,EAAU;IACtC,MAAM,UAAU,GAAG,IAAI,uBAAe,EAAE,CAAC;IACzC,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IACjD,OAAO,UAAU,CAAC,MAAM,CAAC;AAC3B,CAAC;AAJD,sCAIC;AAED,oEAAoE;AACpE,8DAA8D;AAC9D,SAAgB,QAAQ,CACtB,EAAK;IAEL,wEAAwE;IACxE,IAAI,IAAI,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAC5C,OAAO,CAAC,GAAG,IAAmB,EAAE,EAAE;QAChC,MAAM,MAAM,GAAG,IAAI;aAChB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;aACvB,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC,CAAkB,CAAC;QACtB,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;YACvB,uBAAuB;QACzB,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAhBD,4BAgBC;AAED,uFAAuF;AACvF,SAAgB,eAAe,CAAmB,GAAM;IACtD,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAM,CAAC;AAC7D,CAAC;AAFD,0CAEC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -219,6 +219,12 @@ export declare interface MongoDBOIDCPluginOptions {
219
219
  /**
220
220
  * Restrict possible OIDC authorization flows to a subset.
221
221
  *
222
+ * The default value is `['auth-code']`, i.e. the Device Authorization Grant
223
+ * flow is not enabled by default and needs to be enabled explicitly.
224
+ *
225
+ * Order of the entries is not relevant. The Authorization Code Flow always
226
+ * takes precedence over the Device Authorization Grant flow.
227
+ *
222
228
  * This can either be a static list of supported flows or a function which
223
229
  * returns such a list. In the latter case, the function will be called
224
230
  * for each authentication attempt. The AbortSignal argument can be used
package/package.json CHANGED
@@ -13,7 +13,7 @@
13
13
  "email": "compass@mongodb.com"
14
14
  },
15
15
  "homepage": "https://github.com/mongodb-js/oidc-plugin",
16
- "version": "0.1.5",
16
+ "version": "0.2.0",
17
17
  "repository": {
18
18
  "type": "git",
19
19
  "url": "https://github.com/mongodb-js/oidc-plugin.git"