multipass-everywhere
Version:
Shopify Multipass authentication library with WebCrypto API. WinterTC compatible - works in all JavaScript runtimes (Node.js, Deno, Cloudflare Workers, browsers) using standard Web APIs.
17 lines (16 loc) • 531 B
TypeScript
export interface MultipassData {
created_at?: string;
[key: string]: unknown;
}
export declare class Multipass {
private _encryptionKey;
private _signingKey;
private _initialized;
constructor(secret: string);
private _initializeKeys;
encode(obj: MultipassData): Promise<string>;
generateUrl(obj: MultipassData, domain: string | URL): Promise<string>;
sign(data: ArrayBuffer): Promise<ArrayBuffer>;
encrypt(plaintext: string): Promise<ArrayBuffer>;
private _arrayBufferToBase64Url;
}