Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- async function superTokensMiddleware(
- req: express.Request,
- res: express.Response,
- next: express.NextFunction
- ): Promise<void> {
- try {
- const cookies = parseCookies(req);
- if (cookies!.sAccessToken && cookies!.sIdRefreshToken) {
- req.session = await SuperTokens.getSession(req, res, false);
- return next();
- }
- req.session = await SuperTokens.createNewSession(res, 0);
- next();
- } catch (err) {
- if (SuperTokens.Error.isErrorFromAuth(err)) {
- if (err.errType === SuperTokens.Error.GENERAL_ERROR) {
- next(err);
- } else if (err.errType === SuperTokens.Error.UNAUTHORISED) {
- req.session = await SuperTokens.createNewSession(res, 0);
- next();
- } else {
- res.status(440).send("Please call the refresh token endpoint");
- }
- }
- if (err.errType === 2000) {
- return res.redirect("/");
- }
- next(err);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement