@taxum/cookie
Version:
Cookie jar for Taxum
45 lines (44 loc) • 1.59 kB
TypeScript
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;
}