upgrade to pkce-challenge@4
This commit is contained in:
		@@ -128,7 +128,7 @@
 | 
			
		||||
		"otpauth": "9.1.2",
 | 
			
		||||
		"parse5": "7.1.2",
 | 
			
		||||
		"pg": "8.11.0",
 | 
			
		||||
		"pkce-challenge": "^3.1.0",
 | 
			
		||||
		"pkce-challenge": "^4.0.1",
 | 
			
		||||
		"probe-image-size": "7.2.3",
 | 
			
		||||
		"promise-limit": "2.7.0",
 | 
			
		||||
		"pug": "3.0.2",
 | 
			
		||||
 
 | 
			
		||||
@@ -35,6 +35,7 @@ function getClient(): AuthorizationCode<'client_id'> {
 | 
			
		||||
	return new AuthorizationCode({
 | 
			
		||||
		client: {
 | 
			
		||||
			id: `http://127.0.0.1:${clientPort}/`,
 | 
			
		||||
			secret: '',
 | 
			
		||||
		},
 | 
			
		||||
		auth: {
 | 
			
		||||
			tokenHost: host,
 | 
			
		||||
@@ -113,7 +114,7 @@ describe('OAuth', () => {
 | 
			
		||||
	});
 | 
			
		||||
 | 
			
		||||
	test('Full flow', async () => {
 | 
			
		||||
		const { code_challenge, code_verifier } = pkceChallenge.default(128);
 | 
			
		||||
		const { code_challenge, code_verifier } = await pkceChallenge(128);
 | 
			
		||||
 | 
			
		||||
		const client = getClient();
 | 
			
		||||
 | 
			
		||||
@@ -168,8 +169,8 @@ describe('OAuth', () => {
 | 
			
		||||
	test('Two concurrent flows', async () => {
 | 
			
		||||
		const client = getClient();
 | 
			
		||||
 | 
			
		||||
		const pkceAlice = pkceChallenge.default(128);
 | 
			
		||||
		const pkceBob = pkceChallenge.default(128);
 | 
			
		||||
		const pkceAlice = await pkceChallenge(128);
 | 
			
		||||
		const pkceBob = await pkceChallenge(128);
 | 
			
		||||
 | 
			
		||||
		const responseAlice = await fetch(client.authorizeURL({
 | 
			
		||||
			redirect_uri,
 | 
			
		||||
@@ -285,8 +286,9 @@ describe('OAuth', () => {
 | 
			
		||||
			assert.strictEqual((await response.json() as OAuthErrorResponse).error, 'invalid_request');
 | 
			
		||||
		});
 | 
			
		||||
 | 
			
		||||
		// TODO: Use precomputed challenge/verifier set for this one for deterministic test
 | 
			
		||||
		test('Verify PKCE', async () => {
 | 
			
		||||
			const { code_challenge, code_verifier } = pkceChallenge.default(128);
 | 
			
		||||
			const { code_challenge, code_verifier } = await pkceChallenge(128);
 | 
			
		||||
 | 
			
		||||
			const client = getClient();
 | 
			
		||||
 | 
			
		||||
@@ -405,7 +407,7 @@ describe('OAuth', () => {
 | 
			
		||||
		});
 | 
			
		||||
 | 
			
		||||
		test('Partially known scopes', async () => {
 | 
			
		||||
			const { code_challenge, code_verifier } = pkceChallenge.default(128);
 | 
			
		||||
			const { code_challenge, code_verifier } = await pkceChallenge(128);
 | 
			
		||||
 | 
			
		||||
			const client = getClient();
 | 
			
		||||
 | 
			
		||||
@@ -455,7 +457,7 @@ describe('OAuth', () => {
 | 
			
		||||
		});
 | 
			
		||||
 | 
			
		||||
		test('Duplicated scopes', async () => {
 | 
			
		||||
			const { code_challenge, code_verifier } = pkceChallenge.default(128);
 | 
			
		||||
			const { code_challenge, code_verifier } = await pkceChallenge(128);
 | 
			
		||||
 | 
			
		||||
			const client = getClient();
 | 
			
		||||
 | 
			
		||||
@@ -487,7 +489,7 @@ describe('OAuth', () => {
 | 
			
		||||
		});
 | 
			
		||||
 | 
			
		||||
		test('Scope check by API', async () => {
 | 
			
		||||
			const { code_challenge, code_verifier } = pkceChallenge.default(128);
 | 
			
		||||
			const { code_challenge, code_verifier } = await pkceChallenge(128);
 | 
			
		||||
 | 
			
		||||
			const client = getClient();
 | 
			
		||||
 | 
			
		||||
@@ -527,7 +529,7 @@ describe('OAuth', () => {
 | 
			
		||||
	});
 | 
			
		||||
 | 
			
		||||
	test('Authorization header', async () => {
 | 
			
		||||
		const { code_challenge, code_verifier } = pkceChallenge.default(128);
 | 
			
		||||
		const { code_challenge, code_verifier } = await pkceChallenge(128);
 | 
			
		||||
 | 
			
		||||
		const client = getClient();
 | 
			
		||||
 | 
			
		||||
@@ -624,7 +626,7 @@ describe('OAuth', () => {
 | 
			
		||||
		});
 | 
			
		||||
 | 
			
		||||
		test('Invalid redirect_uri at token endpoint', async () => {
 | 
			
		||||
			const { code_challenge, code_verifier } = pkceChallenge.default(128);
 | 
			
		||||
			const { code_challenge, code_verifier } = await pkceChallenge(128);
 | 
			
		||||
 | 
			
		||||
			const client = getClient();
 | 
			
		||||
 | 
			
		||||
@@ -651,7 +653,7 @@ describe('OAuth', () => {
 | 
			
		||||
		});
 | 
			
		||||
 | 
			
		||||
		test('Invalid redirect_uri including the valid one at token endpoint', async () => {
 | 
			
		||||
			const { code_challenge, code_verifier } = pkceChallenge.default(128);
 | 
			
		||||
			const { code_challenge, code_verifier } = await pkceChallenge(128);
 | 
			
		||||
 | 
			
		||||
			const client = getClient();
 | 
			
		||||
 | 
			
		||||
@@ -678,7 +680,7 @@ describe('OAuth', () => {
 | 
			
		||||
		});
 | 
			
		||||
 | 
			
		||||
		test('No redirect_uri at token endpoint', async () => {
 | 
			
		||||
			const { code_challenge, code_verifier } = pkceChallenge.default(128);
 | 
			
		||||
			const { code_challenge, code_verifier } = await pkceChallenge(128);
 | 
			
		||||
 | 
			
		||||
			const client = getClient();
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										17
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										17
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							@@ -300,8 +300,8 @@ importers:
 | 
			
		||||
        specifier: 8.11.0
 | 
			
		||||
        version: 8.11.0
 | 
			
		||||
      pkce-challenge:
 | 
			
		||||
        specifier: ^3.1.0
 | 
			
		||||
        version: 3.1.0
 | 
			
		||||
        specifier: ^4.0.1
 | 
			
		||||
        version: 4.0.1
 | 
			
		||||
      probe-image-size:
 | 
			
		||||
        specifier: 7.2.3
 | 
			
		||||
        version: 7.2.3
 | 
			
		||||
@@ -7722,7 +7722,7 @@ packages:
 | 
			
		||||
  /@types/http-link-header@1.0.3:
 | 
			
		||||
    resolution: {integrity: sha512-y8HkoD/vyid+5MrJ3aas0FvU3/BVBGcyG9kgxL0Zn4JwstA8CglFPnrR0RuzOjRCXwqzL5uxWC2IO7Ub0rMU2A==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      '@types/node': 20.2.5
 | 
			
		||||
      '@types/node': 20.3.1
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /@types/istanbul-lib-coverage@2.0.4:
 | 
			
		||||
@@ -10660,10 +10660,6 @@ packages:
 | 
			
		||||
      shebang-command: 2.0.0
 | 
			
		||||
      which: 2.0.2
 | 
			
		||||
 | 
			
		||||
  /crypto-js@4.1.1:
 | 
			
		||||
    resolution: {integrity: sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==}
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /crypto-random-string@2.0.0:
 | 
			
		||||
    resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==}
 | 
			
		||||
    engines: {node: '>=8'}
 | 
			
		||||
@@ -17156,10 +17152,9 @@ packages:
 | 
			
		||||
    engines: {node: '>= 6'}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /pkce-challenge@3.1.0:
 | 
			
		||||
    resolution: {integrity: sha512-bQ/0XPZZ7eX+cdAkd61uYWpfMhakH3NeteUF1R8GNa+LMqX8QFAkbCLqq+AYAns1/ueACBu/BMWhrlKGrdvGZg==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      crypto-js: 4.1.1
 | 
			
		||||
  /pkce-challenge@4.0.1:
 | 
			
		||||
    resolution: {integrity: sha512-WGmtS1stcStsvRwNXix3iR1ujFcDaJR+sEODRa2ZFruT0lM4lhPAFTL5SUpqD5vTJdRlgtuMQhcp1kIEJx4LUw==}
 | 
			
		||||
    engines: {node: '>=16.20.0'}
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /pkg-dir@3.0.0:
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user