@mongodb-js/oidc-plugin 0.1.0-alpha.1 → 0.1.0-alpha.2

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/api.d.ts CHANGED
@@ -99,6 +99,28 @@ export interface MongoDBOIDCPluginOptions {
99
99
  * The default handler serves simple text/plain messages.
100
100
  */
101
101
  redirectServerRequestHandler?: RedirectServerRequestHandler;
102
+ /**
103
+ * A serialized representation of a previous plugin instance's state
104
+ * as returned by `.serialize()`.
105
+ *
106
+ * This option should only be passed if it comes from a trusted source,
107
+ * since it contains access tokens that will be sent to MongoDB servers.
108
+ */
109
+ serializedState?: string;
110
+ /**
111
+ * If set to true, creating the plugin will throw an exception when
112
+ * `serializedState` is provided but cannot be deserialized.
113
+ * If set to false, invalid serialized state will result in a log
114
+ * message being emitted but otherwise be ignored.
115
+ */
116
+ throwOnIncompatibleSerializedState?: boolean;
117
+ }
118
+ /** @public */
119
+ export interface MongoDBOIDCPluginMongoClientOptions {
120
+ readonly authMechanismProperties: {
121
+ readonly REQUEST_TOKEN_CALLBACK: OIDCRequestFunction;
122
+ readonly REFRESH_TOKEN_CALLBACK: OIDCRefreshFunction;
123
+ };
102
124
  }
103
125
  /** @public */
104
126
  export interface MongoDBOIDCPlugin {
@@ -108,17 +130,23 @@ export interface MongoDBOIDCPlugin {
108
130
  *
109
131
  * This object should be deep-merged with other, pre-existing
110
132
  * MongoClient driver options.
133
+ *
134
+ * @public
111
135
  */
112
- readonly mongoClientOptions: {
113
- readonly authMechanismProperties: {
114
- readonly REQUEST_TOKEN_CALLBACK: OIDCRequestFunction;
115
- readonly REFRESH_TOKEN_CALLBACK: OIDCRefreshFunction;
116
- };
117
- };
136
+ readonly mongoClientOptions: MongoDBOIDCPluginMongoClientOptions;
118
137
  /**
119
138
  * The logger instance passed in the options, or a default one otherwise.
120
139
  */
121
140
  readonly logger: TypedEventEmitter<MongoDBOIDCLogEventsMap>;
141
+ /**
142
+ * Create a serialized representation of this plugin's state. The result
143
+ * can be stored and be later passed to new plugin instances to make
144
+ * that instance behave as a resumed version of this instance.
145
+ *
146
+ * Be aware that this string contains OIDC tokens in plaintext! Do not
147
+ * store it without appropriate security mechanisms in place.
148
+ */
149
+ serialize(): Promise<string>;
122
150
  }
123
151
  /** @internal */
124
152
  export declare const publicPluginToInternalPluginMap_DoNotUseOutsideOfTests: WeakMap<MongoDBOIDCPlugin, MongoDBOIDCPluginImpl>;
@@ -127,9 +155,14 @@ export declare const publicPluginToInternalPluginMap_DoNotUseOutsideOfTests: Wea
127
155
  * driver's MongoClientOptions struct.
128
156
  *
129
157
  * This plugin instance can be passed to multiple MongoClient instances.
130
- * It caches credentials based on cluster ID and username. If no username is
131
- * provided when connecting to the MongoDB instance, the cache will be shared
132
- * across all MongoClients that use this plugin instance.
158
+ * It caches credentials based on cluster OIDC metadata.
159
+ * Do *not* pass the plugin instance to multiple MongoClient instances when the
160
+ * MongoDB deployments they are connecting to do not share a trust relationship
161
+ * since an untrusted server may be able to advertise malicious OIDC metadata
162
+ * (this restriction may be lifted in a future version of this library).
163
+ * Do *not* pass the plugin instance to multiple MongoClient instances when they
164
+ * are being used with different usernames (user principals), in the connection
165
+ * string or in the MongoClient options.
133
166
  *
134
167
  * @public
135
168
  */
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 CHANGED
@@ -9,9 +9,14 @@ exports.publicPluginToInternalPluginMap_DoNotUseOutsideOfTests = new WeakMap();
9
9
  * driver's MongoClientOptions struct.
10
10
  *
11
11
  * This plugin instance can be passed to multiple MongoClient instances.
12
- * It caches credentials based on cluster ID and username. If no username is
13
- * provided when connecting to the MongoDB instance, the cache will be shared
14
- * across all MongoClients that use this plugin instance.
12
+ * It caches credentials based on cluster OIDC metadata.
13
+ * Do *not* pass the plugin instance to multiple MongoClient instances when the
14
+ * MongoDB deployments they are connecting to do not share a trust relationship
15
+ * since an untrusted server may be able to advertise malicious OIDC metadata
16
+ * (this restriction may be lifted in a future version of this library).
17
+ * Do *not* pass the plugin instance to multiple MongoClient instances when they
18
+ * are being used with different usernames (user principals), in the connection
19
+ * string or in the MongoClient options.
15
20
  *
16
21
  * @public
17
22
  */
@@ -20,6 +25,7 @@ function createMongoDBOIDCPlugin(options) {
20
25
  const publicPlugin = {
21
26
  mongoClientOptions: plugin.mongoClientOptions,
22
27
  logger: plugin.logger,
28
+ serialize: plugin.serialize.bind(plugin),
23
29
  };
24
30
  exports.publicPluginToInternalPluginMap_DoNotUseOutsideOfTests.set(publicPlugin, plugin);
25
31
  return publicPlugin;
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":";;;AAIA,qCAAiD;AAmJjD,gBAAgB;AACH,QAAA,sDAAsD,GACjE,IAAI,OAAO,EAA4C,CAAC;AAE1D;;;;;;;;;;GAUG;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;KACtB,CAAC;IACF,8DAAsD,CAAC,GAAG,CACxD,YAAY,EACZ,MAAM,CACP,CAAC;IACF,OAAO,YAAY,CAAC;AACtB,CAAC;AAbD,0DAaC;AAED,gBAAgB;AACH,QAAA,0BAA0B,GAAG,KAAM,CAAC"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":";;;AAIA,qCAAiD;AAmLjD,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/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { createMongoDBOIDCPlugin } from './api';
2
- export type { MongoDBOIDCPlugin, MongoDBOIDCPluginOptions, AuthFlowType, DeviceFlowInformation, OpenBrowserOptions, OpenBrowserReturnType, RedirectServerRequestHandler, RedirectServerRequestInfo, } from './api';
3
- export type { TypedEventEmitter, OIDCRefreshFunction, OIDCRequestFunction, OIDCMechanismServerStep1, OIDCRequestTokenResult, OIDCAbortSignal, MongoDBOIDCError, MongoDBOIDCLogEventsMap, } from './types';
2
+ export type { MongoDBOIDCPlugin, MongoDBOIDCPluginOptions, AuthFlowType, DeviceFlowInformation, OpenBrowserOptions, OpenBrowserReturnType, RedirectServerRequestHandler, RedirectServerRequestInfo, MongoDBOIDCPluginMongoClientOptions, } from './api';
3
+ export type { TypedEventEmitter, OIDCCallbackContext, OIDCRefreshFunction, OIDCRequestFunction, IdPServerInfo, IdPServerResponse, OIDCAbortSignal, MongoDBOIDCError, MongoDBOIDCLogEventsMap, } from './types';
4
4
  export { hookLoggerToMongoLogWriter, MongoLogWriter } from './log-hook';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,OAAO,CAAC;AAChD,YAAY,EACV,iBAAiB,EACjB,wBAAwB,EACxB,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,OAAO,CAAC;AAEf,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,0BAA0B,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,OAAO,CAAC;AAChD,YAAY,EACV,iBAAiB,EACjB,wBAAwB,EACxB,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,4BAA4B,EAC5B,yBAAyB,EACzB,mCAAmC,GACpC,MAAM,OAAO,CAAC;AAEf,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,0BAA0B,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,6BAAgD;AAAvC,8GAAA,uBAAuB,OAAA;AAuBhC,uCAAwE;AAA/D,sHAAA,0BAA0B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,6BAAgD;AAAvC,8GAAA,uBAAuB,OAAA;AAyBhC,uCAAwE;AAA/D,sHAAA,0BAA0B,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"log-hook.d.ts","sourceRoot":"","sources":["../src/log-hook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE1E,cAAc;AACd,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7E,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7E,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9E,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7C;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,iBAAiB,CAAC,uBAAuB,CAAC,EACnD,GAAG,EAAE,cAAc,EACnB,aAAa,EAAE,MAAM,GACpB,IAAI,CA4NN"}
1
+ {"version":3,"file":"log-hook.d.ts","sourceRoot":"","sources":["../src/log-hook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE1E,cAAc;AACd,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7E,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7E,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9E,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7C;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,iBAAiB,CAAC,uBAAuB,CAAC,EACnD,GAAG,EAAE,cAAc,EACnB,aAAa,EAAE,MAAM,GACpB,IAAI,CAwON"}
package/dist/log-hook.js CHANGED
@@ -99,6 +99,11 @@ function hookLoggerToMongoLogWriter(emitter, log, contextPrefix) {
99
99
  emitter.on('mongodb-oidc-plugin:refresh-succeeded', () => {
100
100
  log.info('OIDC-PLUGIN', mongoLogId(1002000019), `${contextPrefix}-oidc`, 'Token refresh attempt succeeded');
101
101
  });
102
+ emitter.on('mongodb-oidc-plugin:deserialization-failed', (ev) => {
103
+ log.error('OIDC-PLUGIN', mongoLogId(1002000020), `${contextPrefix}-oidc`, 'State deserialization failed', {
104
+ ...ev,
105
+ });
106
+ });
102
107
  }
103
108
  exports.hookLoggerToMongoLogWriter = hookLoggerToMongoLogWriter;
104
109
  //# sourceMappingURL=log-hook.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"log-hook.js","sourceRoot":"","sources":["../src/log-hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log-hook.js","sourceRoot":"","sources":["../src/log-hook.ts"],"names":[],"mappings":"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"}
package/dist/plugin.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import type { MongoDBOIDCLogEventsMap, OIDCAbortSignal, OIDCMechanismServerStep1, OIDCRequestTokenResult, TypedEventEmitter } from './types';
2
- import type { TokenSet } from 'openid-client';
1
+ import type { MongoDBOIDCLogEventsMap, OIDCCallbackContext, IdPServerInfo, IdPServerResponse, TypedEventEmitter } from './types';
2
+ import { TokenSet } from 'openid-client';
3
3
  import type { MongoDBOIDCPlugin, MongoDBOIDCPluginOptions } from './api';
4
4
  /** @internal Exported for testing only */
5
5
  export declare function automaticRefreshTimeoutMS(tokenSet: Pick<TokenSet, 'refresh_token' | 'expires_in'>): number | undefined;
@@ -7,22 +7,24 @@ export declare function automaticRefreshTimeoutMS(tokenSet: Pick<TokenSet, 'refr
7
7
  export declare class MongoDBOIDCPluginImpl implements MongoDBOIDCPlugin {
8
8
  private readonly options;
9
9
  readonly logger: TypedEventEmitter<MongoDBOIDCLogEventsMap>;
10
- private readonly mapUserToAuthState;
10
+ private readonly mapIdpToAuthState;
11
11
  readonly mongoClientOptions: MongoDBOIDCPlugin['mongoClientOptions'];
12
12
  private readonly timers;
13
13
  constructor(options: Readonly<MongoDBOIDCPluginOptions>);
14
+ private _deserialize;
15
+ private _serialize;
16
+ serialize(): Promise<string>;
14
17
  private isFlowAllowed;
15
18
  private getAuthState;
16
19
  private getRedirectURI;
17
- private getInitialOIDCIssuerAndClientParams;
20
+ private getOIDCClient;
18
21
  private openBrowser;
19
22
  private notifyDeviceFlow;
20
- private storeTokenSet;
23
+ private updateStateWithTokenSet;
21
24
  private verifyValidUrl;
22
25
  private authorizationCodeFlow;
23
26
  private deviceAuthorizationFlow;
24
27
  private initiateAuthAttempt;
25
- requestToken(principalName: string | undefined, serverMetadata: OIDCMechanismServerStep1, driverAbortSignal?: OIDCAbortSignal | number): Promise<OIDCRequestTokenResult>;
26
- refreshToken(principalName: string | undefined, serverMetadata: OIDCMechanismServerStep1, previousResult: OIDCRequestTokenResult, driverAbortSignal?: OIDCAbortSignal | number): Promise<OIDCRequestTokenResult>;
28
+ requestToken(serverMetadata: IdPServerInfo, context: OIDCCallbackContext): Promise<IdPServerResponse>;
27
29
  }
28
30
  //# sourceMappingURL=plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,eAAe,EACf,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAUjB,OAAO,KAAK,EAGV,QAAQ,EAET,MAAM,eAAe,CAAC;AAOvB,OAAO,KAAK,EAGV,iBAAiB,EACjB,wBAAwB,EAGzB,MAAM,OAAO,CAAC;AA8Cf,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,kBAAkB,CAAwC;IAC3E,SAAgB,kBAAkB,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;IAC5E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAIrB;gBAEU,OAAO,EAAE,QAAQ,CAAC,wBAAwB,CAAC;IAavD,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,YAAY;IA0BpB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,mCAAmC;YAqC7B,WAAW;YAgCX,gBAAgB;IAW9B,OAAO,CAAC,aAAa;IAwCrB,OAAO,CAAC,cAAc;YAkBR,qBAAqB;YAgIrB,uBAAuB;YAsCvB,mBAAmB;IA0GpB,YAAY,CACvB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,cAAc,EAAE,wBAAwB,EACxC,iBAAiB,CAAC,EAAE,eAAe,GAAG,MAAM,GAC3C,OAAO,CAAC,sBAAsB,CAAC;IAwBrB,YAAY,CACvB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,cAAc,EAAE,wBAAwB,EAExC,cAAc,EAAE,sBAAsB,EACtC,iBAAiB,CAAC,EAAE,eAAe,GAAG,MAAM,GAC3C,OAAO,CAAC,sBAAsB,CAAC;CAOnC"}
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;AAsDf,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;IAUnC,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,cAAc;YAMR,aAAa;YAsCb,WAAW;YAkCX,gBAAgB;IAa9B,OAAO,CAAC,uBAAuB;IAwE/B,OAAO,CAAC,cAAc;YAkBR,qBAAqB;YAwGrB,uBAAuB;YA4BvB,mBAAmB;IA0GpB,YAAY,CACvB,cAAc,EAAE,aAAa,EAC7B,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,iBAAiB,CAAC;CA+B9B"}
package/dist/plugin.js CHANGED
@@ -22,16 +22,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
25
  Object.defineProperty(exports, "__esModule", { value: true });
29
26
  exports.MongoDBOIDCPluginImpl = exports.automaticRefreshTimeoutMS = void 0;
30
27
  const types_1 = require("./types");
31
28
  const util_1 = require("./util");
32
29
  const openid_client_1 = require("openid-client");
30
+ const openid_client_2 = require("openid-client");
33
31
  const rfc_8252_http_server_1 = require("./rfc-8252-http-server");
34
- const open_1 = __importDefault(require("open"));
35
32
  const util_2 = require("util");
36
33
  const crypto_1 = require("crypto");
37
34
  const events_1 = require("events");
@@ -55,7 +52,9 @@ async function getDefaultOpenBrowser() {
55
52
  }
56
53
  // Otherwise, use open() from npm.
57
54
  return async ({ url }) => {
58
- const child = await (0, open_1.default)(url);
55
+ // 'open' 9.x+ is ESM-only.
56
+ const open = (await Promise.resolve().then(() => __importStar(require('open')))).default;
57
+ const child = await open(url);
59
58
  child.unref();
60
59
  return child;
61
60
  };
@@ -89,16 +88,83 @@ function allowFallbackIfFailed(promise) {
89
88
  /** @internal */
90
89
  class MongoDBOIDCPluginImpl {
91
90
  constructor(options) {
92
- this.mapUserToAuthState = new Map();
91
+ this.mapIdpToAuthState = new Map();
93
92
  this.options = options;
94
93
  this.logger = options.logger ?? new events_1.EventEmitter();
95
94
  this.mongoClientOptions = {
96
95
  authMechanismProperties: {
97
96
  REQUEST_TOKEN_CALLBACK: this.requestToken.bind(this),
98
- REFRESH_TOKEN_CALLBACK: this.refreshToken.bind(this),
97
+ REFRESH_TOKEN_CALLBACK: this.requestToken.bind(this),
99
98
  },
100
99
  };
101
100
  this.timers = { setTimeout, clearTimeout };
101
+ if (options.serializedState) {
102
+ this._deserialize(options.serializedState);
103
+ }
104
+ }
105
+ _deserialize(serialized) {
106
+ try {
107
+ let original;
108
+ try {
109
+ original = JSON.parse(Buffer.from(serialized, 'base64').toString('utf8'));
110
+ }
111
+ catch (err) {
112
+ throw new types_1.MongoDBOIDCError(`Stored OIDC data could not be deserialized: ${err.message}`);
113
+ }
114
+ if (original.oidcPluginStateVersion !== 0) {
115
+ throw new types_1.MongoDBOIDCError(`Stored OIDC data could not be deserialized because of a version mismatch (got ${JSON.stringify(original.oidcPluginStateVersion)}, expected 0)`);
116
+ }
117
+ for (const [key, serializedState] of original.state) {
118
+ const state = {
119
+ serverOIDCMetadata: { ...serializedState.serverOIDCMetadata },
120
+ currentAuthAttempt: null,
121
+ currentTokenSet: null,
122
+ lastIdTokenClaims: serializedState.lastIdTokenClaims
123
+ ? { ...serializedState.lastIdTokenClaims }
124
+ : undefined,
125
+ };
126
+ this.updateStateWithTokenSet(state, new openid_client_1.TokenSet(serializedState.currentTokenSet.set));
127
+ this.mapIdpToAuthState.set(key, state);
128
+ }
129
+ }
130
+ catch (err) {
131
+ this.logger.emit('mongodb-oidc-plugin:deserialization-failed', {
132
+ error: err.message,
133
+ });
134
+ // It's not necessary to throw by default here since failure to
135
+ // deserialize previous state means that, at worst, users will have
136
+ // to re-authenticate.
137
+ if (this.options.throwOnIncompatibleSerializedState)
138
+ throw err;
139
+ }
140
+ }
141
+ // Separate method so we can re-use the inferred return type in _deserialize()
142
+ _serialize() {
143
+ return {
144
+ oidcPluginStateVersion: 0,
145
+ state: [...this.mapIdpToAuthState]
146
+ .filter(([, state]) => !!state.currentTokenSet)
147
+ .map(([key, state]) => {
148
+ return [
149
+ key,
150
+ {
151
+ serverOIDCMetadata: { ...state.serverOIDCMetadata },
152
+ currentTokenSet: {
153
+ set: { ...state.currentTokenSet?.set },
154
+ },
155
+ lastIdTokenClaims: state.lastIdTokenClaims
156
+ ? { ...state.lastIdTokenClaims }
157
+ : undefined,
158
+ },
159
+ ];
160
+ }),
161
+ };
162
+ }
163
+ serialize() {
164
+ // Wrap the result using JS-to-JSON-to-UTF8-to-Base64. We could probably
165
+ // omit the base64 encoding, but this makes it clearer that it's an opaque
166
+ // value that's not intended to be inspected or modified.
167
+ return Promise.resolve(Buffer.from(JSON.stringify(this._serialize()), 'utf8').toString('base64'));
102
168
  }
103
169
  // Is this flow supported and allowed?
104
170
  isFlowAllowed(flow) {
@@ -112,16 +178,16 @@ class MongoDBOIDCPluginImpl {
112
178
  }
113
179
  // Return the current state for a given [server, username] configuration,
114
180
  // or create a new one if none exists.
115
- getAuthState(serverMetadata, principalName) {
181
+ getAuthState(serverMetadata) {
116
182
  if (!serverMetadata.clientId) {
117
183
  throw new types_1.MongoDBOIDCError('No clientId passed in server OIDC metadata object');
118
184
  }
119
- principalName ?? (principalName = null);
120
185
  const key = JSON.stringify({
121
- clientId: serverMetadata.clientId,
122
- principalName,
186
+ // If any part of the server metadata changes, we should probably use
187
+ // a new cache entry.
188
+ ...(0, util_1.normalizeObject)(serverMetadata),
123
189
  });
124
- const existing = this.mapUserToAuthState.get(key);
190
+ const existing = this.mapIdpToAuthState.get(key);
125
191
  if (existing)
126
192
  return existing;
127
193
  const newState = {
@@ -129,7 +195,7 @@ class MongoDBOIDCPluginImpl {
129
195
  currentAuthAttempt: null,
130
196
  currentTokenSet: null,
131
197
  };
132
- this.mapUserToAuthState.set(key, newState);
198
+ this.mapIdpToAuthState.set(key, newState);
133
199
  return newState;
134
200
  }
135
201
  getRedirectURI() {
@@ -138,33 +204,34 @@ class MongoDBOIDCPluginImpl {
138
204
  // TODO(MONGOSH-1394): Properly standardize a port
139
205
  return this.options.redirectURI ?? 'http://localhost:27097/redirect';
140
206
  }
141
- getInitialOIDCIssuerAndClientParams(serverMetadata) {
207
+ async getOIDCClient(state) {
208
+ const serverMetadata = state.serverOIDCMetadata;
209
+ const scope = [
210
+ ...new Set([
211
+ 'openid',
212
+ 'offline_access',
213
+ ...(serverMetadata.requestScopes ?? []),
214
+ ]),
215
+ ].join(' ');
216
+ if (state.client) {
217
+ return {
218
+ scope,
219
+ issuer: state.client.issuer,
220
+ client: state.client,
221
+ };
222
+ }
223
+ const issuer = await openid_client_2.Issuer.discover(serverMetadata.issuer);
224
+ const client = new issuer.Client({
225
+ client_id: serverMetadata.clientId,
226
+ redirect_uris: [this.getRedirectURI()],
227
+ response_types: ['code'],
228
+ token_endpoint_auth_method: 'none',
229
+ });
230
+ state.client = client;
142
231
  return {
143
- scope: [
144
- ...new Set([
145
- 'openid',
146
- 'offline_access',
147
- ...(serverMetadata.requestScopes ?? []),
148
- ]),
149
- ].join(' '),
150
- issuerParams: {
151
- authorization_endpoint: serverMetadata.authorizationEndpoint,
152
- token_endpoint: serverMetadata.tokenEndpoint,
153
- device_authorization_endpoint: serverMetadata.deviceAuthorizationEndpoint,
154
- // Required by the TS definitions, but we just don't have this data
155
- // at this point. We re-define it later where necessary.
156
- issuer: '',
157
- },
158
- clientParams: {
159
- client_id: serverMetadata.clientId,
160
- client_secret: serverMetadata.clientSecret,
161
- redirect_uris: [this.getRedirectURI()],
162
- response_types: ['code'],
163
- // At least Okta requires this:
164
- token_endpoint_auth_method: serverMetadata.clientSecret
165
- ? 'client_secret_post'
166
- : 'none',
167
- },
232
+ scope,
233
+ issuer,
234
+ client,
168
235
  };
169
236
  }
170
237
  async openBrowser(options) {
@@ -175,7 +242,7 @@ class MongoDBOIDCPluginImpl {
175
242
  });
176
243
  if (this.options.openBrowser === false) {
177
244
  // We should never really get to this point
178
- throw new Error('Cannot open browser if `openBrowser` is false');
245
+ throw new types_1.MongoDBOIDCError('Cannot open browser if `openBrowser` is false');
179
246
  }
180
247
  if (typeof this.options.openBrowser === 'function') {
181
248
  return await this.options.openBrowser(options);
@@ -194,17 +261,40 @@ class MongoDBOIDCPluginImpl {
194
261
  child.unref();
195
262
  return child;
196
263
  }
197
- throw new Error('Unknown format for `openBrowser`');
264
+ throw new types_1.MongoDBOIDCError('Unknown format for `openBrowser`');
198
265
  }
199
266
  async notifyDeviceFlow(deviceFlowInformation) {
200
267
  if (!this.options.notifyDeviceFlow) {
201
268
  // Should never happen.
202
- throw new Error('notifyDeviceFlow() requested but not provided');
269
+ throw new types_1.MongoDBOIDCError('notifyDeviceFlow() requested but not provided');
203
270
  }
204
271
  this.logger.emit('mongodb-oidc-plugin:notify-device-flow');
205
272
  await this.options.notifyDeviceFlow(deviceFlowInformation);
206
273
  }
207
- storeTokenSet(state, tokenSet, client) {
274
+ updateStateWithTokenSet(state, tokenSet) {
275
+ // We intend to be able to pass plugin instances to multiple MongoClient
276
+ // instances that are connecting to the same MongoDB endpoint.
277
+ // We need to prevent a scenario in which a requestToken callback is called
278
+ // for client A, the token expires before it is requested again by client A,
279
+ // then the plugin is passed to client B which requests a token, and we
280
+ // receive mismatching tokens for different users or different audiences.
281
+ const idTokenClaims = tokenSet.claims();
282
+ if (state.lastIdTokenClaims) {
283
+ for (const claim of ['aud', 'sub']) {
284
+ const normalize = (value) => {
285
+ return JSON.stringify(Array.isArray(value) ? [...value].sort() : value);
286
+ };
287
+ const knownClaim = normalize(state.lastIdTokenClaims[claim]);
288
+ const newClaim = normalize(idTokenClaims[claim]);
289
+ if (knownClaim !== newClaim) {
290
+ throw new types_1.MongoDBOIDCError(`Unexpected '${claim}' field in id token: Expected ${knownClaim}, saw ${newClaim}`);
291
+ }
292
+ }
293
+ }
294
+ state.lastIdTokenClaims = {
295
+ aud: idTokenClaims.aud,
296
+ sub: idTokenClaims.sub,
297
+ };
208
298
  const timerDuration = automaticRefreshTimeoutMS(tokenSet);
209
299
  let timer = timerDuration
210
300
  ? this.timers.setTimeout(() => void tryRefresh(), timerDuration).unref()
@@ -220,11 +310,12 @@ class MongoDBOIDCPluginImpl {
220
310
  return false;
221
311
  try {
222
312
  this.logger.emit('mongodb-oidc-plugin:refresh-started');
313
+ const { client } = await this.getOIDCClient(state);
223
314
  const refreshedTokens = await client.refresh(tokenSet);
224
315
  // Check again to avoid race conditions.
225
316
  if (state.currentTokenSet?.set === tokenSet) {
226
317
  this.logger.emit('mongodb-oidc-plugin:refresh-succeeded');
227
- this.storeTokenSet(state, refreshedTokens, client);
318
+ this.updateStateWithTokenSet(state, refreshedTokens);
228
319
  return true;
229
320
  }
230
321
  }
@@ -239,6 +330,7 @@ class MongoDBOIDCPluginImpl {
239
330
  set: tokenSet,
240
331
  tryRefresh,
241
332
  };
333
+ this.logger.emit('mongodb-oidc-plugin:state-updated');
242
334
  }
243
335
  verifyValidUrl(serverOIDCMetadata, key) {
244
336
  // Verify that `key` refers to a valid URL. This is currently
@@ -257,12 +349,10 @@ class MongoDBOIDCPluginImpl {
257
349
  }
258
350
  }
259
351
  async authorizationCodeFlow(state, signal) {
260
- this.verifyValidUrl(state.serverOIDCMetadata, 'authorizationEndpoint');
261
- const { scope, issuerParams, clientParams } = this.getInitialOIDCIssuerAndClientParams(state.serverOIDCMetadata);
262
- const codeVerifier = openid_client_1.generators.codeVerifier();
263
- const codeChallenge = openid_client_1.generators.codeChallenge(codeVerifier);
264
- let issuer = new openid_client_1.Issuer(issuerParams);
265
- let client = new issuer.Client(clientParams);
352
+ this.verifyValidUrl(state.serverOIDCMetadata, 'issuer');
353
+ const { scope, client } = await this.getOIDCClient(state);
354
+ const codeVerifier = openid_client_2.generators.codeVerifier();
355
+ const codeChallenge = openid_client_2.generators.codeChallenge(codeVerifier);
266
356
  const oidcStateParam = (await (0, util_2.promisify)(crypto_1.randomBytes)(16)).toString('hex');
267
357
  const server = new rfc_8252_http_server_1.RFC8252HTTPServer({
268
358
  redirectUrl: this.getRedirectURI(),
@@ -329,44 +419,19 @@ class MongoDBOIDCPluginImpl {
329
419
  await server.close();
330
420
  }
331
421
  const params = client.callbackParams(paramsUrl);
332
- // The oidc-client library requires `issuer` to be set here; we did not
333
- // set it when we assembled the original `issuerParams` (because it was
334
- // not available as information), but we should have received it from the
335
- // callback parameters and can set it here.
336
- issuerParams.issuer = String(params.iss);
337
- issuer = new openid_client_1.Issuer(issuerParams);
338
- client = new issuer.Client(clientParams);
339
- client.validateIdToken = () => {
340
- // Do not attempt to validate the ID token. The client library would
341
- // do this by default, but we do not have access to the necessary
342
- // JWKS here. This is in direct conflict with the OIDC spec (!!)
343
- // https://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation:
344
- //
345
- // > Clients MUST validate the ID Token in the Token Response in the following manner: [...]
346
- //
347
- // We accept this because for the purposes of this plugin, we do not
348
- // interact with the identity token, nor do we actually consume the
349
- // access token. We leave it to the the server to validate that the token is
350
- // valid, refers to the right identity, and comes from the right source.
351
- };
352
422
  const tokenSet = await client.callback(this.getRedirectURI(), params, {
353
423
  code_verifier: codeVerifier,
354
424
  state: oidcStateParam,
355
425
  });
356
- this.storeTokenSet(state, tokenSet, client);
426
+ this.updateStateWithTokenSet(state, tokenSet);
357
427
  }
358
428
  async deviceAuthorizationFlow(state, signal) {
359
- this.verifyValidUrl(state.serverOIDCMetadata, 'deviceAuthorizationEndpoint');
360
- const { scope, issuerParams, clientParams } = this.getInitialOIDCIssuerAndClientParams(state.serverOIDCMetadata);
361
- const issuer = new openid_client_1.Issuer(issuerParams);
362
- const client = new issuer.Client(clientParams);
363
- client.validateIdToken = () => {
364
- /* see above */
365
- };
429
+ this.verifyValidUrl(state.serverOIDCMetadata, 'issuer');
430
+ const { scope, client } = await this.getOIDCClient(state);
366
431
  await (0, util_1.withAbortCheck)(signal, async ({ signalCheck, signalPromise }) => {
367
432
  const deviceFlowHandle = await Promise.race([
368
433
  client.deviceAuthorization({
369
- client_id: clientParams.client_id,
434
+ client_id: client.metadata.client_id,
370
435
  scope,
371
436
  }),
372
437
  signalPromise,
@@ -377,7 +442,7 @@ class MongoDBOIDCPluginImpl {
377
442
  verificationUrl: deviceFlowHandle.verification_uri,
378
443
  });
379
444
  const tokenSet = await deviceFlowHandle.poll({ signal });
380
- this.storeTokenSet(state, tokenSet, client);
445
+ this.updateStateWithTokenSet(state, tokenSet);
381
446
  });
382
447
  }
383
448
  async initiateAuthAttempt(state, driverAbortSignal) {
@@ -483,8 +548,11 @@ class MongoDBOIDCPluginImpl {
483
548
  expiresInSeconds: 0,
484
549
  };
485
550
  }
486
- async requestToken(principalName, serverMetadata, driverAbortSignal) {
487
- const state = this.getAuthState(serverMetadata, principalName);
551
+ async requestToken(serverMetadata, context) {
552
+ if (context.version !== 0) {
553
+ throw new types_1.MongoDBOIDCError(`OIDC MongoDB driver protocol mismatch: unknown version ${context.version}`);
554
+ }
555
+ const state = this.getAuthState(serverMetadata);
488
556
  if (state.currentAuthAttempt) {
489
557
  return await state.currentAuthAttempt;
490
558
  }
@@ -492,9 +560,10 @@ class MongoDBOIDCPluginImpl {
492
560
  // for Node.js 14.x) to pass in an actual AbortSignal here. For
493
561
  // compatibility with the 5.x driver/AbortSignal-less-Node.js, we accept
494
562
  // a timeout in milliseconds as well.
495
- if (typeof driverAbortSignal === 'number') {
496
- driverAbortSignal = (0, util_1.timeoutSignal)(driverAbortSignal);
497
- }
563
+ const driverAbortSignal = context.timeoutContext ??
564
+ (context.timeoutSeconds
565
+ ? (0, util_1.timeoutSignal)(context.timeoutSeconds * 1000)
566
+ : undefined);
498
567
  const newAuthAttempt = this.initiateAuthAttempt(state, driverAbortSignal);
499
568
  state.currentAuthAttempt = newAuthAttempt;
500
569
  newAuthAttempt.finally(() => {
@@ -503,11 +572,6 @@ class MongoDBOIDCPluginImpl {
503
572
  });
504
573
  return newAuthAttempt;
505
574
  }
506
- async refreshToken(principalName, serverMetadata,
507
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
508
- previousResult, driverAbortSignal) {
509
- return await this.requestToken(principalName, serverMetadata, driverAbortSignal);
510
- }
511
575
  }
512
576
  exports.MongoDBOIDCPluginImpl = MongoDBOIDCPluginImpl;
513
577
  //# sourceMappingURL=plugin.js.map
@@ -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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"}
package/dist/types.d.ts CHANGED
@@ -1,5 +1,9 @@
1
1
  /** @public */
2
2
  export interface MongoDBOIDCLogEventsMap {
3
+ 'mongodb-oidc-plugin:deserialization-failed': (event: {
4
+ error: string;
5
+ }) => void;
6
+ 'mongodb-oidc-plugin:state-updated': () => void;
3
7
  'mongodb-oidc-plugin:local-redirect-accessed': (event: {
4
8
  id: string;
5
9
  }) => void;
@@ -65,36 +69,43 @@ export interface TypedEventEmitter<EventMap extends object> {
65
69
  emit<K extends keyof EventMap>(event: K, ...args: EventMap[K] extends (...args: infer P) => any ? P : never): unknown;
66
70
  }
67
71
  /**
68
- * A copy of the Node.js driver's `OIDCMechanismServerStep1`
72
+ * A copy of the Node.js driver's `IdPServerInfo`
69
73
  * @public
70
74
  */
71
- export interface OIDCMechanismServerStep1 {
72
- authorizationEndpoint?: string;
73
- tokenEndpoint?: string;
74
- deviceAuthorizationEndpoint?: string;
75
+ export interface IdPServerInfo {
76
+ issuer: string;
75
77
  clientId: string;
76
- clientSecret?: string;
77
78
  requestScopes?: string[];
78
79
  }
79
80
  /**
80
- * A copy of the Node.js driver's `OIDCRequestTokenResult`
81
+ * A copy of the Node.js driver's `IdPServerResponse`
81
82
  * @public
82
83
  */
83
- export interface OIDCRequestTokenResult {
84
+ export interface IdPServerResponse {
84
85
  accessToken: string;
85
86
  expiresInSeconds?: number;
86
87
  refreshToken?: string;
87
88
  }
89
+ /**
90
+ * A copy of the Node.js driver's `OIDCCallbackContext`
91
+ * @public
92
+ */
93
+ export interface OIDCCallbackContext {
94
+ refreshToken?: string;
95
+ timeoutSeconds?: number;
96
+ timeoutContext?: OIDCAbortSignal;
97
+ version: number;
98
+ }
88
99
  /**
89
100
  * A copy of the Node.js driver's `OIDCRequestFunction`
90
101
  * @public
91
102
  */
92
- export type OIDCRequestFunction = (principalName: string | undefined, idl: OIDCMechanismServerStep1, abortSignal?: OIDCAbortSignal | number) => Promise<OIDCRequestTokenResult>;
103
+ export type OIDCRequestFunction = (info: IdPServerInfo, context: OIDCCallbackContext) => Promise<IdPServerResponse>;
93
104
  /**
94
105
  * A copy of the Node.js driver's `OIDCRefreshFunction`
95
106
  * @public
96
107
  */
97
- export type OIDCRefreshFunction = (principalName: string | undefined, idl: OIDCMechanismServerStep1, result: OIDCRequestTokenResult, abortSignal?: OIDCAbortSignal | number) => Promise<OIDCRequestTokenResult>;
108
+ export type OIDCRefreshFunction = (info: IdPServerInfo, context: OIDCCallbackContext) => Promise<IdPServerResponse>;
98
109
  /** @public */
99
110
  export type OIDCAbortSignal = {
100
111
  aborted: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;;AAwHA,gBAAgB;AAChB,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;AAC/E,cAAc;AACd,MAAa,gBAAiB,SAAQ,KAAK;IAIzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QAJjB,gBAAgB;QACR,QAAqB,GAAG,IAAI,CAAC;IAIrC,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,KAAc;QACtC,OAAO;QACL,8DAA8D;QAC9D,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAK,KAAa,CAAC,mBAAmB,CAAC,CAC1E,CAAC;IACJ,CAAC;CACF;AAdD,4CAcC;KAZU,mBAAmB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;;AAiIA,gBAAgB;AAChB,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;AAC/E,cAAc;AACd,MAAa,gBAAiB,SAAQ,KAAK;IAIzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QAJjB,gBAAgB;QACR,QAAqB,GAAG,IAAI,CAAC;IAIrC,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,KAAc;QACtC,OAAO;QACL,8DAA8D;QAC9D,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAK,KAAa,CAAC,mBAAmB,CAAC,CAC1E,CAAC;IACJ,CAAC;CACF;AAdD,4CAcC;KAZU,mBAAmB"}
package/dist/util.d.ts CHANGED
@@ -19,5 +19,6 @@ export declare const AbortSignal: {
19
19
  };
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
+ export declare function normalizeObject<T extends object>(obj: T): T;
22
23
  export {};
23
24
  //# 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"}
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"}
package/dist/util.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.withLock = exports.timeoutSignal = exports.AbortSignal = exports.AbortController = exports.errorString = exports.withAbortCheck = exports.throwIfAborted = void 0;
3
+ 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');
@@ -68,4 +68,9 @@ function withLock(fn) {
68
68
  };
69
69
  }
70
70
  exports.withLock = withLock;
71
+ // Normalize JS objects by sorting keys so that {a:1,b:2} and {b:2,a:1} are equivalent.
72
+ function normalizeObject(obj) {
73
+ return Object.fromEntries(Object.entries(obj).sort());
74
+ }
75
+ exports.normalizeObject = normalizeObject;
71
76
  //# 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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -11,9 +11,14 @@ export declare type AuthFlowType = 'auth-code' | 'device-auth';
11
11
  * driver's MongoClientOptions struct.
12
12
  *
13
13
  * This plugin instance can be passed to multiple MongoClient instances.
14
- * It caches credentials based on cluster ID and username. If no username is
15
- * provided when connecting to the MongoDB instance, the cache will be shared
16
- * across all MongoClients that use this plugin instance.
14
+ * It caches credentials based on cluster OIDC metadata.
15
+ * Do *not* pass the plugin instance to multiple MongoClient instances when the
16
+ * MongoDB deployments they are connecting to do not share a trust relationship
17
+ * since an untrusted server may be able to advertise malicious OIDC metadata
18
+ * (this restriction may be lifted in a future version of this library).
19
+ * Do *not* pass the plugin instance to multiple MongoClient instances when they
20
+ * are being used with different usernames (user principals), in the connection
21
+ * string or in the MongoClient options.
17
22
  *
18
23
  * @public
19
24
  */
@@ -39,6 +44,26 @@ export declare interface DeviceFlowInformation {
39
44
  */
40
45
  export declare function hookLoggerToMongoLogWriter(emitter: TypedEventEmitter<MongoDBOIDCLogEventsMap>, log: MongoLogWriter, contextPrefix: string): void;
41
46
 
47
+ /**
48
+ * A copy of the Node.js driver's `IdPServerInfo`
49
+ * @public
50
+ */
51
+ export declare interface IdPServerInfo {
52
+ issuer: string;
53
+ clientId: string;
54
+ requestScopes?: string[];
55
+ }
56
+
57
+ /**
58
+ * A copy of the Node.js driver's `IdPServerResponse`
59
+ * @public
60
+ */
61
+ export declare interface IdPServerResponse {
62
+ accessToken: string;
63
+ expiresInSeconds?: number;
64
+ refreshToken?: string;
65
+ }
66
+
42
67
  /** @public */
43
68
  export declare class MongoDBOIDCError extends Error {
44
69
  /* Excluded from this release type: [MongoDBOIDCErrorTag] */
@@ -50,6 +75,10 @@ export declare class MongoDBOIDCError extends Error {
50
75
 
51
76
  /** @public */
52
77
  export declare interface MongoDBOIDCLogEventsMap {
78
+ 'mongodb-oidc-plugin:deserialization-failed': (event: {
79
+ error: string;
80
+ }) => void;
81
+ 'mongodb-oidc-plugin:state-updated': () => void;
53
82
  'mongodb-oidc-plugin:local-redirect-accessed': (event: {
54
83
  id: string;
55
84
  }) => void;
@@ -117,17 +146,31 @@ export declare interface MongoDBOIDCPlugin {
117
146
  *
118
147
  * This object should be deep-merged with other, pre-existing
119
148
  * MongoClient driver options.
149
+ *
150
+ * @public
120
151
  */
121
- readonly mongoClientOptions: {
122
- readonly authMechanismProperties: {
123
- readonly REQUEST_TOKEN_CALLBACK: OIDCRequestFunction;
124
- readonly REFRESH_TOKEN_CALLBACK: OIDCRefreshFunction;
125
- };
126
- };
152
+ readonly mongoClientOptions: MongoDBOIDCPluginMongoClientOptions;
127
153
  /**
128
154
  * The logger instance passed in the options, or a default one otherwise.
129
155
  */
130
156
  readonly logger: TypedEventEmitter<MongoDBOIDCLogEventsMap>;
157
+ /**
158
+ * Create a serialized representation of this plugin's state. The result
159
+ * can be stored and be later passed to new plugin instances to make
160
+ * that instance behave as a resumed version of this instance.
161
+ *
162
+ * Be aware that this string contains OIDC tokens in plaintext! Do not
163
+ * store it without appropriate security mechanisms in place.
164
+ */
165
+ serialize(): Promise<string>;
166
+ }
167
+
168
+ /** @public */
169
+ export declare interface MongoDBOIDCPluginMongoClientOptions {
170
+ readonly authMechanismProperties: {
171
+ readonly REQUEST_TOKEN_CALLBACK: OIDCRequestFunction;
172
+ readonly REFRESH_TOKEN_CALLBACK: OIDCRefreshFunction;
173
+ };
131
174
  }
132
175
 
133
176
  /** @public */
@@ -197,6 +240,21 @@ export declare interface MongoDBOIDCPluginOptions {
197
240
  * The default handler serves simple text/plain messages.
198
241
  */
199
242
  redirectServerRequestHandler?: RedirectServerRequestHandler;
243
+ /**
244
+ * A serialized representation of a previous plugin instance's state
245
+ * as returned by `.serialize()`.
246
+ *
247
+ * This option should only be passed if it comes from a trusted source,
248
+ * since it contains access tokens that will be sent to MongoDB servers.
249
+ */
250
+ serializedState?: string;
251
+ /**
252
+ * If set to true, creating the plugin will throw an exception when
253
+ * `serializedState` is provided but cannot be deserialized.
254
+ * If set to false, invalid serialized state will result in a log
255
+ * message being emitted but otherwise be ignored.
256
+ */
257
+ throwOnIncompatibleSerializedState?: boolean;
200
258
  }
201
259
 
202
260
  /** @public */
@@ -218,39 +276,27 @@ export declare type OIDCAbortSignal = {
218
276
  };
219
277
 
220
278
  /**
221
- * A copy of the Node.js driver's `OIDCMechanismServerStep1`
279
+ * A copy of the Node.js driver's `OIDCCallbackContext`
222
280
  * @public
223
281
  */
224
- export declare interface OIDCMechanismServerStep1 {
225
- authorizationEndpoint?: string;
226
- tokenEndpoint?: string;
227
- deviceAuthorizationEndpoint?: string;
228
- clientId: string;
229
- clientSecret?: string;
230
- requestScopes?: string[];
282
+ export declare interface OIDCCallbackContext {
283
+ refreshToken?: string;
284
+ timeoutSeconds?: number;
285
+ timeoutContext?: OIDCAbortSignal;
286
+ version: number;
231
287
  }
232
288
 
233
289
  /**
234
290
  * A copy of the Node.js driver's `OIDCRefreshFunction`
235
291
  * @public
236
292
  */
237
- export declare type OIDCRefreshFunction = (principalName: string | undefined, idl: OIDCMechanismServerStep1, result: OIDCRequestTokenResult, abortSignal?: OIDCAbortSignal | number) => Promise<OIDCRequestTokenResult>;
293
+ export declare type OIDCRefreshFunction = (info: IdPServerInfo, context: OIDCCallbackContext) => Promise<IdPServerResponse>;
238
294
 
239
295
  /**
240
296
  * A copy of the Node.js driver's `OIDCRequestFunction`
241
297
  * @public
242
298
  */
243
- export declare type OIDCRequestFunction = (principalName: string | undefined, idl: OIDCMechanismServerStep1, abortSignal?: OIDCAbortSignal | number) => Promise<OIDCRequestTokenResult>;
244
-
245
- /**
246
- * A copy of the Node.js driver's `OIDCRequestTokenResult`
247
- * @public
248
- */
249
- export declare interface OIDCRequestTokenResult {
250
- accessToken: string;
251
- expiresInSeconds?: number;
252
- refreshToken?: string;
253
- }
299
+ export declare type OIDCRequestFunction = (info: IdPServerInfo, context: OIDCCallbackContext) => Promise<IdPServerResponse>;
254
300
 
255
301
  /** @public */
256
302
  export declare interface OpenBrowserOptions {
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.0-alpha.1",
16
+ "version": "0.1.0-alpha.2",
17
17
  "repository": {
18
18
  "type": "git",
19
19
  "url": "https://github.com/mongodb-js/oidc-plugin.git"
@@ -34,10 +34,9 @@
34
34
  },
35
35
  "types": "./index.d.ts",
36
36
  "scripts": {
37
- "bootstrap": "npm run compile",
38
37
  "prepublishOnly": "npm run compile",
39
38
  "compile": "tsc -p tsconfig.json && api-extractor run && rimraf 'dist/**/*.d.ts*' && gen-esm-wrapper . ./dist/.esm-wrapper.mjs",
40
- "typecheck": "tsc --noEmit",
39
+ "typecheck": "tsc -p tsconfig-lint.json --noEmit",
41
40
  "eslint": "eslint",
42
41
  "prettier": "prettier",
43
42
  "lint": "npm run eslint . && npm run prettier -- --check .",
@@ -54,32 +53,39 @@
54
53
  "devDependencies": {
55
54
  "@microsoft/api-extractor": "^7.34.4",
56
55
  "@mongodb-js/mocha-config-compass": "^0.10.0",
56
+ "@mongodb-js/oidc-mock-provider": "^0.3.0",
57
57
  "@mongodb-js/prettier-config-compass": "^0.5.0",
58
- "@mongodb-js/tsconfig-compass": "^0.6.0",
58
+ "@mongodb-js/tsconfig-compass": "^1.0.1",
59
59
  "@types/chai": "^4.2.21",
60
+ "@types/download": "^8.0.2",
60
61
  "@types/express": "^4.17.17",
61
62
  "@types/mocha": "^9.0.0",
62
63
  "@types/node": "^18.13.0",
63
64
  "@types/oidc-provider": "^8.1.1",
64
65
  "@types/sinon-chai": "^3.2.5",
66
+ "@types/tar": "^6.1.4",
65
67
  "@typescript-eslint/eslint-plugin": "^5.52.0",
66
68
  "@typescript-eslint/parser": "^5.54.1",
67
69
  "chai": "^4.3.6",
68
70
  "depcheck": "^1.4.1",
71
+ "download": "^8.0.0",
69
72
  "electron": "^23.1.2",
70
73
  "electron-mocha": "^11.0.2",
71
- "eslint": "^7.25.0",
74
+ "eslint": "^8.39.0",
72
75
  "eslint-config-prettier": "^8.7.0",
73
76
  "eslint-plugin-mocha": "^10.1.0",
74
77
  "gen-esm-wrapper": "^1.1.0",
75
78
  "mocha": "^10.2.0",
79
+ "mongodb": "github:addaleax/node-mongodb-native#NODE-5191-gitdep",
80
+ "mongodb-download-url": "^1.3.0",
76
81
  "mongodb-log-writer": "^1.1.5",
77
82
  "node-fetch": "^3.3.1",
78
83
  "nyc": "^15.1.0",
79
84
  "oidc-provider": "https://github.com/panva/node-oidc-provider/archive/refs/tags/v7.14.3.tar.gz",
80
85
  "prettier": "2.3.2",
81
- "rimraf": "^4.4.0",
82
- "sinon": "^9.2.3",
86
+ "rimraf": "^5.0.0",
87
+ "sinon": "^15.0.3",
88
+ "tar": "^6.1.13",
83
89
  "typescript": "^4.9.5",
84
90
  "webdriverio": "^8.5.9",
85
91
  "xvfb-maybe": "^0.2.1"
@@ -87,7 +93,7 @@
87
93
  "dependencies": {
88
94
  "abort-controller": "^3.0.0",
89
95
  "express": "^4.18.2",
90
- "open": "^8.4.1",
96
+ "open": "^9.1.0",
91
97
  "openid-client": "^5.4.0"
92
98
  }
93
99
  }