Skip to main content
Deno 2 is finally here 🎉️
Learn more
Module

x/faster/vendor/jose/jwks/local.ts>createLocalJWKSet

A fast and optimized middleware server with an absurdly small amount of code (300 lines) built on top of native HTTP APIs with no dependencies. It also has a collection of useful middlewares: log file, serve static, CORS, session, rate limit, token, body parsers, redirect, proxy and handle upload. For Deno Deploy and other enviroments!
Latest
function createLocalJWKSet
import { createLocalJWKSet } from "https://deno.land/x/faster@v12.1/vendor/jose/jwks/local.ts";

Returns a function that resolves a JWS JOSE Header to a public key object from a locally stored, or otherwise available, JSON Web Key Set.

It uses the "alg" (JWS Algorithm) Header Parameter to determine the right JWK "kty" (Key Type), then proceeds to match the JWK "kid" (Key ID) with one found in the JWS Header Parameters (if there is one) while also respecting the JWK "use" (Public Key Use) and JWK "key_ops" (Key Operations) Parameters (if they are present on the JWK).

Only a single public key must match the selection process. As shown in the example below when multiple keys get matched it is possible to opt-in to iterate over the matched keys and attempt verification in an iterative manner.

Note: The function's purpose is to resolve public keys used for verifying signatures and will not work for public encryption keys.

This function is exported (as a named export) from the main 'jose' module entry point as well as from its subpath export 'jose/jwks/local'.

Type Parameters

optional
KeyLikeType extends KeyLike = KeyLike

Parameters

JSON Web Key Set formatted object.

Returns

(protectedHeader?: JWSHeaderParameters, token?: FlattenedJWSInput) => Promise<KeyLikeType>