x/oak/keyStack.ts

A middleware framework for handling HTTP with Deno 🐿️ 🦕
Very Popular
Go to Latest
class KeyStack
import { KeyStack } from "https://dotland-vbqsvsrpfncg.deno-staging.dev/x/oak@v11.1.0/keyStack.ts?p=prototype.%5BSymbol.for%28%22nodejs.util.inspect.custom%22%29%5D&s=KeyStack";

Constructors

new
KeyStack(keys: Key[])
[src]

A class which accepts an array of keys that are used to sign and verify data and allows easy key rotation without invalidation of previously signed data.

Properties

readonly
length: number
[src]

Methods

indexOf(data: Data, digest: string): Promise<number>[src]

Given data and a digest, return the current index of the key in the keys passed the constructor that was used to generate the digest. If no key can be found, the method returns -1.

sign(data: Data): Promise<string>[src]

Take data and return a SHA256 HMAC digest that uses the current 0 index of the keys passed to the constructor. This digest is in the form of a URL safe base64 encoded string.

verify(data: Data, digest: string): Promise<boolean>[src]

Given data and a digest, verify that one of the keys provided the constructor was used to generate the digest. Returns true if one of the keys was used, otherwise false.

[Symbol.for("Deno.customInspect")](inspect: (value: unknown) => string)[src]
[Symbol.for("nodejs.util.inspect.custom")](
depth: number,
options: any,
inspect: (value: unknown, options?: unknown) => string,
)
[src]