{"_id":"@emdzej/keycloak-api-keys-hono","name":"@emdzej/keycloak-api-keys-hono","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@emdzej/keycloak-api-keys-hono","version":"0.1.0","publishConfig":{"access":"public"},"type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"}},"scripts":{"build":"tsup src/index.ts --format esm --dts","test":"vitest run","typecheck":"tsc --noEmit"},"peerDependencies":{"hono":"^4.0.0"},"devDependencies":{"hono":"^4.6.0","tsup":"^8.0.0","typescript":"^5.7.0","vitest":"^3.0.0"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/emdzej/keycloak-api-keys.git","directory":"packages/hono"},"homepage":"https://github.com/emdzej/keycloak-api-keys#readme","bugs":{"url":"https://github.com/emdzej/keycloak-api-keys/issues"},"author":{"name":"Michał Jaskólski"},"gitHead":"4424e7c221030d05b8db510df70a03c9640523e3","_id":"@emdzej/keycloak-api-keys-hono@0.1.0","description":"Hono middleware for authenticating requests with Keycloak API keys.","_nodeVersion":"22.22.0","_npmVersion":"11.11.0","dist":{"integrity":"sha512-a2Z4wavs5It/Dqkl71tofazqeX0T1sjMRPkRsKY9FitFeISnAqKfsf7u1W94pawStbU5ehsm+uaD+AIIz+Ugcw==","shasum":"ac90671aa28f9b0fb1b508af99694c9962b6f809","tarball":"https://registry.npmjs.org/@emdzej/keycloak-api-keys-hono/-/keycloak-api-keys-hono-0.1.0.tgz","fileCount":12,"unpackedSize":17715,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCud47YxW07fp2g9gs63Emg5YPuNtfaIB0ZiVuaxLMF4QIgNrp4w1sQ4I4huv9ho8jHs38hjCkRgW3XpPbllR9r0WY="}]},"_npmUser":{"name":"emdzej","email":"michal@jaskolski.pro"},"directories":{},"maintainers":[{"name":"emdzej","email":"michal@jaskolski.pro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/keycloak-api-keys-hono_0.1.0_1774019015655_0.27611404509328774"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-20T15:03:35.527Z","0.1.0":"2026-03-20T15:03:35.808Z","modified":"2026-03-20T15:03:36.046Z"},"maintainers":[{"name":"emdzej","email":"michal@jaskolski.pro"}],"description":"Hono middleware for authenticating requests with Keycloak API keys.","homepage":"https://github.com/emdzej/keycloak-api-keys#readme","repository":{"type":"git","url":"git+https://github.com/emdzej/keycloak-api-keys.git","directory":"packages/hono"},"author":{"name":"Michał Jaskólski"},"bugs":{"url":"https://github.com/emdzej/keycloak-api-keys/issues"},"license":"Apache-2.0","readme":"# @emdzej/keycloak-api-keys-hono\n\nHono middleware for authenticating requests with Keycloak API keys.\n\n## Installation\n\n```bash\npnpm add @emdzej/keycloak-api-keys-hono hono\n```\n\n## Basic usage\n\n```ts\nimport { Hono } from 'hono';\nimport { keycloakApiKey } from '@emdzej/keycloak-api-keys-hono';\n\nconst app = new Hono();\n\napp.use('/api/*', keycloakApiKey({\n  realm: 'my-realm',\n  serverUrl: 'https://keycloak.example.com',\n  clientId: 'my-app',\n  clientSecret: process.env.CLIENT_SECRET\n}));\n\napp.get('/api/data', (c) => {\n  const auth = c.get('auth');\n  return c.json({ userId: auth.sub });\n});\n```\n\n## Cloudflare Workers\n\n```ts\nimport { Hono } from 'hono';\nimport { keycloakApiKey } from '@emdzej/keycloak-api-keys-hono';\n\nconst app = new Hono();\n\napp.use('/api/*', keycloakApiKey({\n  realm: 'my-realm',\n  serverUrl: 'https://keycloak.example.com',\n  clientId: 'my-app',\n  clientSecret: ENV.CLIENT_SECRET\n}));\n\napp.get('/api/hello', (c) => c.json({ ok: true }));\n\nexport default app;\n```\n\n## Deno\n\n```ts\nimport { Hono } from 'hono';\nimport { keycloakApiKey } from '@emdzej/keycloak-api-keys-hono';\n\nconst app = new Hono();\n\napp.use('/api/*', keycloakApiKey({\n  realm: 'my-realm',\n  serverUrl: 'https://keycloak.example.com',\n  clientId: 'my-app',\n  clientSecret: Deno.env.get('CLIENT_SECRET')\n}));\n\nDeno.serve(app.fetch);\n```\n\n## Bun\n\n```ts\nimport { Hono } from 'hono';\nimport { keycloakApiKey } from '@emdzej/keycloak-api-keys-hono';\n\nconst app = new Hono();\n\napp.use('/api/*', keycloakApiKey({\n  realm: 'my-realm',\n  serverUrl: 'https://keycloak.example.com',\n  clientId: 'my-app',\n  clientSecret: Bun.env.CLIENT_SECRET\n}));\n\nBun.serve({\n  fetch: app.fetch\n});\n```\n","readmeFilename":"README.md","_rev":"1-760542f55262030f8bd2389007adb4de"}