scripts/generate-dev-jwt.mjs
Metadata
- Purpose: Automation script used in local development, CI, or deployment flow.
- Domain:
scripts - Language:
js - Bytes: 922
- Lines: 27
- Content hash (short):
b88e5ed7 - Source (start): scripts/generate-dev-jwt.mjs:1
- Source (end): scripts/generate-dev-jwt.mjs:27
Indexed Symbols
No indexed functions/methods detected in this file.
Markdown Headings (if applicable)
No markdown headings detected.
Source Preview
#!/usr/bin/env node
import { createHmac } from "node:crypto";
function encodeBase64Url(value) {
return Buffer.from(value, "utf8").toString("base64url");
}
const secret = process.env.JWT_SIGNING_SECRET ?? "dev-jwt-secret";
const workspaceId = process.env.ANCHOR_WORKSPACE_ID ?? "00000000-0000-4000-8000-000000000001";
const now = Math.floor(Date.now() / 1000);
const header = encodeBase64Url(JSON.stringify({ alg: "HS256", typ: "JWT" }));
const payload = encodeBase64Url(
JSON.stringify({
sub: "dev-operator",
roles: ["msp_admin", "ops_engineer", "integration_admin", "data_admin", "automation_operator", "endpoint_agent"],
workspaceIds: [workspaceId],
aud: "anchor-gateway",
iss: "anchor-auth",
iat: now,
exp: now + 60 * 60 * 12
})
);
const signature = createHmac("sha256", secret).update(`${header}.${payload}`).digest("base64url");