← All packages

@lacspace/apikey

v1.2.1Security Kit1 @lacspace dep

Issue & verify API keys the right way — prefixed high-entropy keys, store only the SHA-256 hash, constant-time verify, last-4 display. Isomorphic over Web Crypto.

npm i @lacspace/apikey

Usage

apikey.ts
import { generateApiKey, verifyApiKey } from "@lacspace/apikey";

// on create — show `key` to the user ONCE, store the rest
const { key, hash, prefix, last4 } = await generateApiKey({ prefix: "lac_live" });
// key:  "lac_live_9f8a…"   (return to user, never store)
// hash: "3b2c…"            (store this), prefix, last4 for display

// on each request
const presented = req.headers["x-api-key"];
if (await verifyApiKey(presented, storedHash)) { /* authorized */ }

Exports 9

ApiKeyErrorauthenticateApiKeyexpressApiKeyextractApiKeygenerateApiKeyhashApiKeyisValidKeyFormatparseApiKeyverifyApiKey

Keywords

api-keyapikeytokensecretauthhashing

More in Security Kit