Repository URL to install this package:
|
Version:
1.1.13 ▾
|
import { cookies, toUnsecureSecureCookie } from 'uxui-modules/persistance/cookies'
import { cookieConfig } from '../bootstrapper/api/config'
export const hackForBadCookiePartnerId = cookie => {
/**
* @todo configure from env
*/
const { guestNamespace, registeredNamespace, old, env } = cookieConfig
// could also just replace identifier
if (cookie.includes(guestNamespace)) {
return cookie.replace(old.guest, env.guest)
} else if (cookie.includes(registeredNamespace)) {
return cookie.replace(old.registered, env.registered)
}
return cookie
}
/**
* @example const { authCookies, onCookie } = createCookieHacker()
*/
export function createCookieHacker() {
// const namespace = req.nonce
// const namespace = res.locals.nonce
// const namespace = res.locals.nonce
// const cookieKey = namespace + 'authCookies'
// const authCookies = oneStorage.getItem(cookieKey) || []
const authCookies = []
const onCookie = cookie => {
const { key, value } = cookies._getKeyValuePairFromCookieString(cookie)
const hacked = hackForBadCookiePartnerId(cookie)
// console.log('COOKIES___', {
// hacked,
// [key]: value,
// });
authCookies.push(toUnsecureSecureCookie(hacked))
}
return { authCookies, onCookie }
}
export const fromObjCookiesToString = (obj = {}) => {
let stringy = ''
Object.keys(obj).forEach(key => {
stringy += key + '=' + obj[key] + '; '
})
return stringy
}