Define cookie TTLs as constants
This commit is contained in:
parent
0ba926d20c
commit
921a3efbfd
2 changed files with 34 additions and 11 deletions
|
|
@ -12,4 +12,23 @@ const cookieNames = {
|
|||
SESSION_KEY: "skey",
|
||||
};
|
||||
|
||||
export { cookieNames };
|
||||
const cookieExpirations = {
|
||||
SESSION_ID: convertToSeconds({ minutes: 30 }),
|
||||
DXDEV: convertToSeconds({ years: 1 }),
|
||||
FUNNEL_USER_ID: convertToSeconds({ weeks: 1 }),
|
||||
FUNNEL_SESSION_KEY: convertToSeconds({ minutes: 30 }),
|
||||
};
|
||||
|
||||
export { cookieNames, cookieExpirations };
|
||||
|
||||
function convertToSeconds({ years, months, weeks, days, hours, minutes, seconds }) {
|
||||
let total = seconds ?? 0;
|
||||
total += (minutes ?? 0) * 60;
|
||||
total += (hours ?? 0) * 60 * 60;
|
||||
total += (days ?? 0) * 24 * 60 * 60;
|
||||
total += (weeks ?? 0) * 7 * 24 * 60 * 60;
|
||||
total += (months ?? 0) * 30 * 24 * 60 * 60;
|
||||
total += (years ?? 0) * 365 * 24 * 60 * 60;
|
||||
|
||||
return total;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { cookieNames } from "@/constants/cookie-names";
|
||||
import { cookieNames, cookieExpirations } from "@/constants/cookie-names";
|
||||
import store from "@/store";
|
||||
import { applicationConfig } from "@/constants/application-config";
|
||||
|
||||
|
|
@ -84,7 +84,7 @@ export function regenerateDeviceId() {
|
|||
{
|
||||
[cookieNames.DXDEV]: `did=${crypto.randomUUID()}`,
|
||||
},
|
||||
{ maxAge: 365 * 24 * 60 * 60 }
|
||||
{ maxAge: cookieExpirations.DXDEV }
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
@ -105,7 +105,7 @@ export function regenerateUserId() {
|
|||
{
|
||||
[cookieNames.FUNNEL_USER_ID]: crypto.randomUUID(),
|
||||
},
|
||||
{ maxAge: 7 * 24 * 60 * 60 }
|
||||
{ maxAge: cookieExpirations.FUNNEL_USER_ID }
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
@ -129,7 +129,7 @@ export function setSessionKeyIfUnset(value) {
|
|||
{
|
||||
[cookieNames.FUNNEL_SESSION_KEY]: value,
|
||||
},
|
||||
{ maxAge: 30 * 60 }
|
||||
{ maxAge: cookieExpirations.FUNNEL_SESSION_KEY }
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
@ -153,7 +153,7 @@ export function setSessionIdIfUnset(value) {
|
|||
{
|
||||
[cookieNames.SESSION_ID]: value,
|
||||
},
|
||||
{ maxAge: 30 * 60 }
|
||||
{ maxAge: cookieExpirations.SESSION_ID }
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
@ -162,7 +162,9 @@ export function setSessionIdIfUnset(value) {
|
|||
Updates session ID cookie with new expiration date
|
||||
*/
|
||||
export function updateSessionIdCookie() {
|
||||
createOrUpdateCookie(cookieNames.SESSION_ID, getSessionIdValue(), { maxAge: 60 * 30 });
|
||||
createOrUpdateCookie(cookieNames.SESSION_ID, getSessionIdValue(), {
|
||||
maxAge: cookieExpirations.SESSION_ID,
|
||||
});
|
||||
}
|
||||
|
||||
export function setCookieProperties(
|
||||
|
|
@ -196,10 +198,12 @@ export function areAllSessionCookiesSet() {
|
|||
}
|
||||
|
||||
export function refreshSessionExpiration() {
|
||||
refreshCookieExpiration(cookieNames.SESSION_ID, 30 * 60);
|
||||
refreshCookieExpiration(cookieNames.DXDEV, 365 * 24 * 60 * 60);
|
||||
refreshCookieExpiration(cookieNames.FUNNEL_USER_ID, 7 * 24 * 60 * 60);
|
||||
refreshCookieExpiration(cookieNames.FUNNEL_SESSION_KEY, 30 * 60);
|
||||
console.log(cookieExpirations);
|
||||
|
||||
refreshCookieExpiration(cookieNames.SESSION_ID, cookieExpirations.SESSION_ID);
|
||||
refreshCookieExpiration(cookieNames.DXDEV, cookieExpirations.DXDEV);
|
||||
refreshCookieExpiration(cookieNames.FUNNEL_USER_ID, cookieExpirations.FUNNEL_USER_ID);
|
||||
refreshCookieExpiration(cookieNames.FUNNEL_SESSION_KEY, cookieExpirations.FUNNEL_SESSION_KEY);
|
||||
}
|
||||
|
||||
export function refreshCookieExpiration(name, expirationTime) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue