Skip to content

Commit 6eb6dd8

Browse files
committed
fix: always include nonce in oidc flow
1 parent 5a47229 commit 6eb6dd8

File tree

5 files changed

+24
-4
lines changed

5 files changed

+24
-4
lines changed

package-lock.json

Lines changed: 4 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/arg-parser/src/arg-mapper.spec.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -450,6 +450,22 @@ describe('arg-mapper.mapCliToDriver', function () {
450450
});
451451
});
452452

453+
context('when cli args have oidcNoNonce', function () {
454+
const cliOptions: CliOptions = {
455+
oidcNoNonce: true,
456+
};
457+
458+
it('maps to oidc skipNonceInAuthCodeRequest', function () {
459+
expect(optionsTest(cliOptions)).to.deep.equal({
460+
driver: {
461+
oidc: {
462+
skipNonceInAuthCodeRequest: true,
463+
},
464+
},
465+
});
466+
});
467+
});
468+
453469
context('when cli args have browser', function () {
454470
it('maps to oidc command', function () {
455471
expect(optionsTest({ browser: '/usr/bin/browser' })).to.deep.equal({

packages/arg-parser/src/arg-mapper.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ function setServerApi<Key extends keyof ServerApi>(
2929
const serverApi =
3030
typeof previousServerApi === 'string'
3131
? { version: previousServerApi }
32-
: { ...previousServerApi } ?? {};
32+
: { ...previousServerApi };
3333
serverApi[key] = value;
3434
return setDriver(i, 'serverApi', serverApi as Required<ServerApi>);
3535
}
@@ -237,6 +237,7 @@ const MAPPINGS: {
237237
v.split(',').filter(Boolean) as OIDCOptions['allowedFlows']
238238
),
239239
oidcIdTokenAsAccessToken: (i, v) => setOIDC(i, 'passIdTokenAsAccessToken', v),
240+
oidcNoNonce: (i, v) => setOIDC(i, 'skipNonceInAuthCodeRequest', v),
240241
browser: (i, v) =>
241242
setOIDC(i, 'openBrowser', typeof v === 'string' ? { command: v } : v),
242243
};

packages/arg-parser/src/cli-options.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,5 +56,6 @@ export interface CliOptions {
5656
oidcTrustedEndpoint?: boolean;
5757
oidcIdTokenAsAccessToken?: boolean;
5858
oidcDumpTokens?: boolean | 'redacted' | 'include-secrets';
59+
oidcNoNonce?: boolean;
5960
browser?: string | false;
6061
}

packages/service-provider-node-driver/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
},
4949
"dependencies": {
5050
"@mongodb-js/devtools-connect": "^3.3.3",
51-
"@mongodb-js/oidc-plugin": "^1.1.1",
51+
"@mongodb-js/oidc-plugin": "^1.1.2",
5252
"@mongosh/errors": "0.0.0-dev.0",
5353
"@mongosh/service-provider-core": "0.0.0-dev.0",
5454
"@mongosh/types": "0.0.0-dev.0",

0 commit comments

Comments
 (0)