Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app.js
Original file line number Diff line number Diff line change
Expand Up @@ -320,7 +320,7 @@ app.get('/auth/failure', (req, res) => {
const redirectTarget = baseReturnTo || returnTo;

if (!redirectTarget || !isSafeRedirect(redirectTarget) || redirectTarget === req.originalUrl || redirectTarget.startsWith('/auth/')) {
res.redirect('/');
return res.redirect('/');
}
res.redirect(redirectTarget);
});
Expand Down
16 changes: 10 additions & 6 deletions test/app.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,6 @@ describe('GET /forgot', () => {
});
});

describe('GET /api', () => {
it('should return 200 OK', (done) => {
request(app).get('/api').expect(200, done);
});
});

describe('GET /contact', () => {
it('should return 200 OK', (done) => {
request(app).get('/contact').expect(200, done);
Expand All @@ -63,3 +57,13 @@ describe('GET /random-url', () => {
request(app).get('/reset').expect(404, done);
});
});

describe('Other core GET routes do not cause errors', () => {
const routes = ['/logout', '/login/2fa', '/login/2fa/totp', '/login/webauthn-start', '/login/verify/testtoken', '/reset/testtoken', '/account', '/account/verify', '/account/verify/testtoken', '/account/2fa/totp/setup', '/account/webauthn/register', '/auth/failure'];

routes.forEach((route) => {
it(`GET ${route}`, async () => {
await request(app).get(route);
});
});
});