@betechspark/imageproxy-server
v0.1.1
Published
Server-side helpers for betechspark Image Proxy — JWT for /image/:id and File Server HMAC for /asset fileserver/ keys.
Downloads
251
Maintainers
Readme
@betechspark/imageproxy-server
Node-only server helpers for betechspark Image Proxy:
- JWT (HS256) for
Authorization: BeareronGET /image/:idprivate catalog rows - HMAC query
exp/sigforGET /asset/...with source keyfileserver/<uuid>(same secret as File Server)
Built on @betechspark/fileserver-server and @betechspark/imageproxy-client.
Do not import in browser bundles.
Install
npm i @betechspark/imageproxy-serverJWT for /image/:id
import { createImageproxyServer } from '@betechspark/imageproxy-server';
const ip = createImageproxyServer({
jwtSecret: process.env.JWT_SECRET!,
});
const token = await ip.signImageJwt({ userId: 'user-123' }, 3600);
// Client: fetch(url, { headers: { Authorization: `Bearer ${token}` } })JWT_SECRET must match Image Proxy configuration (distinct from FILESERVER_SIGNING_SECRET).
HMAC for /asset + fileserver/<id>
const ip = createImageproxyServer({
jwtSecret: process.env.JWT_SECRET!,
fileserverSigningSecret: process.env.FILESERVER_SIGNING_SECRET!,
});
const url = ip.buildPrivateFileserverAssetUrl(
'https://images.example.com',
fileId,
{ w: 400, f: 'webp' },
300
);See USAGE.md for Next.js route handlers.
