as-services/libs/common/jwks/jwks.js
devthejo 16b7e7d6aa
All checks were successful
/ build (map[dockerfile:./services/hasura/Dockerfile name:hasura]) (push) Successful in 47s
/ build (map[dockerfile:./services/web/Dockerfile name:web]) (push) Successful in 1m47s
/ build (map[dockerfile:./services/watchers/Dockerfile name:watchers]) (push) Successful in 2m37s
/ build (map[dockerfile:./services/files/Dockerfile name:files]) (push) Successful in 2m52s
/ build (map[dockerfile:./services/api/Dockerfile name:api]) (push) Successful in 3m2s
/ build (map[dockerfile:./services/app/Dockerfile name:app]) (push) Successful in 31s
/ build (map[dockerfile:./services/tasks/Dockerfile name:tasks]) (push) Successful in 2m44s
/ deploy (push) Successful in 48s
chore(init): available sources
2025-04-13 10:46:53 +02:00

24 lines
534 B
JavaScript

const fs = require("fs-extra")
const fnv = require("fnv-plus")
module.exports = async function createJwks(env) {
const { JWK_FILE, OLDJWK_FILE } = env
const loadJwkFile = async (file) => {
const rawJwk = await fs.readFile(file, { encoding: "utf-8" })
const jwk = JSON.parse(rawJwk)
if (!jwk.kid) {
jwk.kid = fnv.hash(rawJwk, 128).hex()
}
return jwk
}
const keys = []
keys.push(await loadJwkFile(JWK_FILE))
if (OLDJWK_FILE) {
keys.push(await loadJwkFile(OLDJWK_FILE))
}
return keys
}