MCPcopy Create free account
hub / github.com/Linen-dev/linen.dev / jwtMiddleware

Function jwtMiddleware

apps/web/server/middlewares/jwt.ts:11–39  ·  view source on GitHub ↗
(_?: never)

Source from the content-addressed store, hash-verified

9import to from '@linen/utilities/await-to-js';
10
11export default function jwtMiddleware(_?: never) {
12 return async (req: AuthedRequest, res: any, next: NextFunction) => {
13 const token = getToken(req);
14 if (!token) {
15 return next(new Unauthorized());
16 }
17
18 const [err, session] = await to(verifyToken(token));
19
20 if (err) {
21 expireSessionCookies({ req, res });
22 return next(new Unauthorized());
23 }
24
25 if (!session) {
26 return next(new Unauthorized());
27 }
28
29 if (typeof session === 'object') {
30 const user = await UsersService.getUserById(session.data.id);
31 if (!user) {
32 return next(new Unauthorized());
33 }
34 req.session_user = { ...user, exp: session.exp };
35 }
36
37 return next();
38 };
39}

Callers 5

CreateRouterFunction · 0.85
tenantMiddlewareFunction · 0.85
accounts.tsFile · 0.85
notifications.tsFile · 0.85
profile.tsFile · 0.85

Calls 5

getTokenFunction · 0.90
verifyTokenFunction · 0.90
expireSessionCookiesFunction · 0.90
toFunction · 0.85
getUserByIdMethod · 0.80

Tested by

no test coverage detected