From 034ab48086557af00216ffe311c71ad4eb0ec4d5 Mon Sep 17 00:00:00 2001 From: timonson <54777088+timonson@users.noreply.github.com> Date: Tue, 20 Oct 2020 05:08:34 +0200 Subject: feat(std/jwt): add a JSON Web Token library (#7991) Co-authored-by: Tim Reichen --- std/jwt/_algorithm.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 std/jwt/_algorithm.ts (limited to 'std/jwt/_algorithm.ts') diff --git a/std/jwt/_algorithm.ts b/std/jwt/_algorithm.ts new file mode 100644 index 000000000..c9c5257e1 --- /dev/null +++ b/std/jwt/_algorithm.ts @@ -0,0 +1,17 @@ +/* + * JSW ยง1: Cryptographic algorithms and identifiers for use with this specification + * are described in the separate JSON Web Algorithms (JWA) specification: + * https://www.rfc-editor.org/rfc/rfc7518 + */ +export type Algorithm = "none" | "HS256" | "HS512"; +export type AlgorithmInput = Algorithm | Array>; +/** + * Verify the algorithm + * @param algorithm as string or multiple algorithms in an array excluding 'none' + * @param the algorithm from the jwt header + */ +export function verify(algorithm: AlgorithmInput, jwtAlg: string): boolean { + return Array.isArray(algorithm) + ? (algorithm as string[]).includes(jwtAlg) + : algorithm === jwtAlg; +} -- cgit v1.2.3