diff options
-rw-r--r-- | packages/server/src/helpers/iso/isoBase64URL.ts | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/packages/server/src/helpers/iso/isoBase64URL.ts b/packages/server/src/helpers/iso/isoBase64URL.ts index 68ed896..99bf82a 100644 --- a/packages/server/src/helpers/iso/isoBase64URL.ts +++ b/packages/server/src/helpers/iso/isoBase64URL.ts @@ -1,4 +1,5 @@ import { base64 } from '../../deps.ts'; +import type { Base64URLString } from '../../deps.ts'; /** * Decode from a Base64URL-encoded string to an ArrayBuffer. Best used when converting a @@ -65,6 +66,13 @@ export function isBase64(input: string): boolean { */ export function isBase64URL(input: string): boolean { // Trim padding characters from the string if present - input = input.replace(/=/g, ''); + input = trimPadding(input); return base64.validate(input, true); } + +/** + * Remove optional padding from a base64url-encoded string + */ +export function trimPadding(input: Base64URLString): Base64URLString { + return input.replace(/=/g, ''); +} |