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
	 Kagami Sascha Rosylight
					Kagami Sascha Rosylight