mirror of
https://github.com/denoland/deno.git
synced 2025-09-29 05:34:49 +00:00
feat(std/jwt): add a JSON Web Token library (#7991)
Co-authored-by: Tim Reichen <timreichen@users.noreply.github.com>
This commit is contained in:
parent
992c2a436e
commit
034ab48086
7 changed files with 739 additions and 0 deletions
17
std/jwt/_algorithm.ts
Normal file
17
std/jwt/_algorithm.ts
Normal file
|
@ -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<Exclude<Algorithm, "none">>;
|
||||
/**
|
||||
* 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;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue