summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMatthew Miller <matthew@millerti.me>2024-02-22 21:38:03 -0800
committerMatthew Miller <matthew@millerti.me>2024-02-22 21:38:03 -0800
commit25e1f8095fbd96d63f651057d01e253ebba25b47 (patch)
treedd9520f0122d9eaa5b3c2724e3b064f01515e3c7
parent64b7d91d97874cdf7548a3a3adfda6dd7be0b779 (diff)
Add isoBase64URL.trimPadding()
-rw-r--r--packages/server/src/helpers/iso/isoBase64URL.ts10
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, '');
+}