Skip to content

Commit cddc8d7

Browse files
authored
Merge pull request #14 from topcoder-platform/PM-921_qa-fixes
PM-921 - verify jwt token
2 parents 91018ed + 3cb8c28 commit cddc8d7

File tree

2 files changed

+23
-6
lines changed

2 files changed

+23
-6
lines changed

.env.sample

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,13 @@
11
TOPCODER_API_BASE_URL="https://api.topcoder-dev.com/v5"
2+
AUTH0_CERT="-----BEGIN RSA PUBLIC KEY-----
3+
MIIBCgKCAQEArAV0dmDkedFdlaQ6KQiqUv+UGshfMXx/4jJCLZ9802ynJqAvIt+Z
4+
V7EiPqjc2J1xVfJJEvQ9ZS5A2TFWAk16NUTU4LN+TkjEnqeg+LlUPWY3Y4RXa2OU
5+
mmSIG2GsbR0Kx7b3Y3bYdKBNT0vDe396v/TXi0OQMnz8HZ88/hPvg3V7V34kpxon
6+
XcG/nSm6AtNE7VWey+23oDon1wRon8+qr/JsLLlfnVzYdSujiKvz3vyB/0REDREm
7+
BHMKuGsgiBjJ7xHNxaJvBzrwdArogHSxEPmT6gNr5rZeXmJUWzrpQIstMXA9gEXX
8+
LfKzG61idXFIwBa6t5YBCCMx+hoCxhcEiwIDAQAB
9+
-----END RSA PUBLIC KEY-----"
10+
AUTH0_CLIENT_ID=BXWXUWnilVUPdN01t2Se29Tw2ZYNGZvH
211

312
DB_USERNAME=topcoderuser
413
DB_PASSWORD=randompassword

src/core/auth/middleware/tokenValidator.middleware.ts

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
import { Injectable, NestMiddleware } from '@nestjs/common';
1+
import {
2+
Injectable,
3+
NestMiddleware,
4+
UnauthorizedException,
5+
} from '@nestjs/common';
26
import * as jwt from 'jsonwebtoken';
37

48
@Injectable()
@@ -10,11 +14,15 @@ export class TokenValidatorMiddleware implements NestMiddleware {
1014
return next();
1115
}
1216

13-
// TODO: use jwt.verify to verify against auth0 secret
14-
const decoded: any = jwt.decode(idToken, {
15-
ignoreExpiration: true,
16-
ignoreNotBefore: true,
17-
});
17+
let decoded: any;
18+
try {
19+
decoded = jwt.verify(idToken, process.env.AUTH0_CERT, {
20+
audience: process.env.AUTH0_CLIENT_ID,
21+
});
22+
} catch (error) {
23+
console.error('Error verifying JWT', error);
24+
throw new UnauthorizedException('Invalid or expired JWT!');
25+
}
1826

1927
// TODO: verify decoded.aud
2028
if (!decoded) {

0 commit comments

Comments
 (0)