From 6ec54608f95df4debc7b58e59b1ba3c03a722eac Mon Sep 17 00:00:00 2001 From: Wing-Kam Wong Date: Tue, 7 Mar 2023 17:18:20 +0800 Subject: [PATCH] refactor(nocodb): setTokenCookie --- packages/nocodb/src/lib/services/user/helpers.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/nocodb/src/lib/services/user/helpers.ts b/packages/nocodb/src/lib/services/user/helpers.ts index 387b51170e..489f5ffa1a 100644 --- a/packages/nocodb/src/lib/services/user/helpers.ts +++ b/packages/nocodb/src/lib/services/user/helpers.ts @@ -2,6 +2,7 @@ import * as jwt from 'jsonwebtoken'; import crypto from 'crypto'; import User from '../../models/User'; import { NcConfig } from '../../../interface/config'; +import { Response } from 'express'; export function genJwt(user: User, config: NcConfig) { return jwt.sign( @@ -21,3 +22,12 @@ export function genJwt(user: User, config: NcConfig) { export function randomTokenString(): string { return crypto.randomBytes(40).toString('hex'); } + +export function setTokenCookie(res: Response, token): void { + // create http only cookie with refresh token that expires in 7 days + const cookieOptions = { + httpOnly: true, + expires: new Date(Date.now() + 7 * 24 * 60 * 60 * 1000), + }; + res.cookie('refresh_token', token, cookieOptions); +}