add another error handler for non-indirect case
This commit is contained in:
		@@ -357,6 +357,7 @@ export class OAuth2ProviderService {
 | 
			
		||||
			mode: 'indirect',
 | 
			
		||||
			modes: getQueryMode(this.config.url),
 | 
			
		||||
		}));
 | 
			
		||||
		fastify.use('/oauth/authorize', this.#server.errorHandler());
 | 
			
		||||
 | 
			
		||||
		fastify.use('/oauth/decision', bodyParser.urlencoded({ extended: false }));
 | 
			
		||||
		fastify.use('/oauth/decision', this.#server.decision((req, done) => {
 | 
			
		||||
@@ -373,3 +374,5 @@ export class OAuth2ProviderService {
 | 
			
		||||
		fastify.use('/oauth/token', this.#server.errorHandler());
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// TODO: remove console.log and use proper logger
 | 
			
		||||
 
 | 
			
		||||
@@ -125,13 +125,7 @@ async function assertDirectError(response: Response, status: number, error: stri
 | 
			
		||||
	assert.strictEqual(response.status, status);
 | 
			
		||||
 | 
			
		||||
	const data = await response.json();
 | 
			
		||||
	// `mode: indirect` may throw a direct error with `code` while the default direct mode uses `error`
 | 
			
		||||
	// For now this doesn't matter too much since direct errors are not intended to be sent to clients.
 | 
			
		||||
	if ('code' in data) {
 | 
			
		||||
		assert.strictEqual(data.code, error);
 | 
			
		||||
	} else {
 | 
			
		||||
		assert.strictEqual(data.error, error);
 | 
			
		||||
	}
 | 
			
		||||
	assert.strictEqual(data.error, error);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
describe('OAuth', () => {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user