UNPKG

@taxum/cookie

Version:
45 lines (44 loc) 1.59 kB
import type { Cookie } from "./cookie.js"; /** * A child cookie jar that provides authenticated encryption for its cookies. * * A _private_ child jar signs and encrypts all the cookies added to it and * verifies and decrypts cookies retrieved from it. Any cookies stored in the * `PrivateJar` are simultaneously assured confidentiality, integrity and * authenticity. In other words, clients cannot discover nor tamper with the * contents of a cookie, nor can they fabricate cookie data. */ export declare class PrivateJar { private readonly parent; private readonly key; /** * Returns a {@link Cookie} with the name `name` from the parent jar. * * It authenticates and decrypts the cookie's value, returning a `Cookie` * with the decrypted value. If the cookie cannot be found, or the cookie * fails to authenticate or decrypt, `null` is returned. * * @see {@link CookieJar.get} */ get(name: string): Cookie | null; /** * Adds a {@link Cookie} to the parent jar. * * The cookie's value is encrypted with authenticated encryption assuring * confidentially, integrity and authenticity. * * @see {@link CookieJar.add} */ add(cookie: Cookie): void; /** * Removes a {@link Cookie} from the parent jar. * * For correct removal, the passed in `cookie` must contain the same `path` * and `domain` as the cookie that was initially set. * * @see {@link CookieJar.remove} */ remove(cookie: Cookie): void; private encrypt; private decrypt; }