UNPKG

@file-goblin/upload-goblin

Version:

Alchemy-powered file uploader for Cloudflare Workers with R2 and S3 support

22 lines (16 loc) 505 B
import crypto from 'node:crypto'; /** * Generates a signed upload token */ export function generateUploadSignature( payload: { fileId: string; expiresAt: number; [key: string]: any }, secretKey: string ): string { const payloadJson = JSON.stringify(payload); const payloadBase64 = Buffer.from(payloadJson).toString('base64url'); const signature = crypto .createHmac('sha256', secretKey) .update(payloadBase64) .digest('base64url'); return `${payloadBase64}.${signature}`; }