{"_id":"@aeonkey/express","name":"@aeonkey/express","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@aeonkey/express","version":"0.1.0","description":"Express adapter for AeonKey.","type":"module","license":"MIT","repository":{"type":"git","url":"git+https://github.com/didof/authforge.git","directory":"packages/express"},"bugs":{"url":"https://github.com/didof/authforge/issues"},"homepage":"https://github.com/didof/authforge/tree/main/packages/express#readme","sideEffects":false,"main":"./dist/index.js","types":"./dist/index.d.ts","keywords":["authentication","auth","express","sessions","webauthn","typescript"],"engines":{"node":">=20.0.0"},"publishConfig":{"access":"public"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"dependencies":{"@aeonkey/core":"0.1.0"},"peerDependencies":{"express":"^5.0.0"},"devDependencies":{"@types/express":"^5.0.0","express":"^5.1.0","typescript":"^5.7.2","vitest":"^4.1.9"},"scripts":{"build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","test":"vitest run --passWithNoTests"},"_id":"@aeonkey/express@0.1.0","_integrity":"sha512-luxGyWT3cZTfcrjP4GHx/GBEJDaw8N0KjqFXVf6t8vd+IgJ3JVRSiaz10s2eDb84eu7Al885R06GId9YECiqYQ==","_resolved":"/Users/didof/Documents/auth/artifacts/aeonkey-express-0.1.0.tgz","_from":"file:artifacts/aeonkey-express-0.1.0.tgz","_nodeVersion":"24.9.0","_npmVersion":"11.6.0","dist":{"integrity":"sha512-luxGyWT3cZTfcrjP4GHx/GBEJDaw8N0KjqFXVf6t8vd+IgJ3JVRSiaz10s2eDb84eu7Al885R06GId9YECiqYQ==","shasum":"37952bdd1e5452ab821f16dcf3ddd065b820da66","tarball":"https://registry.npmjs.org/@aeonkey/express/-/express-0.1.0.tgz","fileCount":6,"unpackedSize":16663,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD25HLkfx6JlN6Uga8eyPiRPZ18i9XLVaNUpyVg8qIcwgIhAJtUJTF1EcJIOKCtOzfsOUS2s7G9PKlwdFuArmTGYI5I"}]},"_npmUser":{"name":"didof","email":"didonato.fr@gmail.com"},"directories":{},"maintainers":[{"name":"didof","email":"didonato.fr@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/express_0.1.0_1783249183078_0.42150978698748776"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-05T10:59:42.886Z","0.1.0":"2026-07-05T10:59:43.204Z","modified":"2026-07-05T10:59:43.479Z"},"maintainers":[{"name":"didof","email":"didonato.fr@gmail.com"}],"description":"Express adapter for AeonKey.","homepage":"https://github.com/didof/authforge/tree/main/packages/express#readme","keywords":["authentication","auth","express","sessions","webauthn","typescript"],"repository":{"type":"git","url":"git+https://github.com/didof/authforge.git","directory":"packages/express"},"bugs":{"url":"https://github.com/didof/authforge/issues"},"license":"MIT","readme":"# @aeonkey/express\n\nExpress adapter for AeonKey.\n\n## Install\n\n```sh\npnpm add @aeonkey/core @aeonkey/express express\n```\n\n## Usage\n\n```ts\nimport express from \"express\";\nimport { MemorySessionStore, SessionService } from \"@aeonkey/core\";\nimport {\n  createAuthRouter,\n  createCsrfProtection,\n  createCsrfTokenHandler,\n  createSessionMiddleware,\n} from \"@aeonkey/express\";\n\nconst sessions = new SessionService({\n  store: new MemorySessionStore(),\n});\nconst csrfSecret = process.env.AEONKEY_CSRF_SECRET!;\n\nconst app = express();\napp.use(createSessionMiddleware({ sessions }));\napp.get(\"/csrf\", createCsrfTokenHandler({ secret: csrfSecret }));\napp.use(createCsrfProtection({ secret: csrfSecret }));\napp.use(\"/auth\", createAuthRouter({ sessions }));\n```\n\nThe router exposes session status, logout, and optional WebAuthn challenge routes. Build signup, login, and application authorization in your app with `@aeonkey/core`.\n\n`createCsrfProtection()` implements a signed double-submit pattern for cookie-session POST routes.\n","readmeFilename":"README.md","_rev":"1-05947f4d8f58d2af1933a46db1916a71"}