allows for multiple httpOnly cookie domains

This commit is contained in:
James
2020-07-15 19:54:57 -04:00
parent 7c99e4cda0
commit a000131419
3 changed files with 30 additions and 3 deletions

View File

@@ -74,7 +74,16 @@ const login = async (args) => {
cookieOptions.secure = true;
}
args.res.cookie(`${config.cookiePrefix}-token`, token, cookieOptions);
if (Array.isArray(collectionConfig.auth.cookieDomains)) {
collectionConfig.auth.cookieDomains.forEach((domain) => {
args.res.cookie(`${config.cookiePrefix}-token`, token, {
...cookieOptions,
domain,
});
});
} else {
args.res.cookie(`${config.cookiePrefix}-token`, token, cookieOptions);
}
}
// /////////////////////////////////////

View File

@@ -18,7 +18,16 @@ const logout = async (args) => {
cookieOptions.secure = true;
}
res.cookie(`${config.cookiePrefix}-token`, '', cookieOptions);
if (Array.isArray(collectionConfig.auth.cookieDomains)) {
collectionConfig.auth.cookieDomains.forEach((domain) => {
args.res.cookie(`${config.cookiePrefix}-token`, '', {
...cookieOptions,
domain,
});
});
} else {
args.res.cookie(`${config.cookiePrefix}-token`, '', cookieOptions);
}
return 'Logged out successfully.';
};

View File

@@ -41,7 +41,16 @@ const refresh = async (args) => {
cookieOptions.secure = true;
}
args.res.cookie(`${cookiePrefix}-token`, refreshedToken, cookieOptions);
if (Array.isArray(options.collection.config.auth.cookieDomains)) {
options.collection.config.auth.cookieDomains.forEach((domain) => {
args.res.cookie(`${cookiePrefix}-token`, refreshedToken, {
...cookieOptions,
domain,
});
});
} else {
args.res.cookie(`${cookiePrefix}-token`, refreshedToken, cookieOptions);
}
}