( token: string, keyName: "accessTokenPublicKey" | "refreshTokenPublicKey" )
| 18 | } |
| 19 | |
| 20 | export function verifyJwt( |
| 21 | token: string, |
| 22 | keyName: "accessTokenPublicKey" | "refreshTokenPublicKey" |
| 23 | ) { |
| 24 | const publicKey = Buffer.from(config.get<string>(keyName), "base64").toString( |
| 25 | "ascii" |
| 26 | ); |
| 27 | |
| 28 | try { |
| 29 | const decoded = jwt.verify(token, publicKey); |
| 30 | return { |
| 31 | valid: true, |
| 32 | expired: false, |
| 33 | decoded, |
| 34 | }; |
| 35 | } catch (e: any) { |
| 36 | console.error(e); |
| 37 | return { |
| 38 | valid: false, |
| 39 | expired: e.message === "jwt expired", |
| 40 | decoded: null, |
| 41 | }; |
| 42 | } |
| 43 | } |
no outgoing calls
no test coverage detected