add another error handler for non-indirect case

This commit is contained in:
Kagami Sascha Rosylight 2023-06-11 21:14:08 +02:00
parent 4c12a9d882
commit d0245b59bc
2 changed files with 4 additions and 7 deletions

View file

@ -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

View file

@ -125,14 +125,8 @@ 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);
}
}
describe('OAuth', () => {
let app: INestApplicationContext;