{"_id":"@aspect-evp/issuer","_rev":"2-94f645fee382b657d58be977ef23abff","name":"@aspect-evp/issuer","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.1":{"name":"@aspect-evp/issuer","version":"0.1.1","keywords":["evp","email-verification","issuer","sd-jwt"],"author":"","license":"MIT","_id":"@aspect-evp/issuer@0.1.1","maintainers":[{"name":"seanluis47","email":"seanluis47@gmail.com"}],"homepage":"https://github.com/aspect-evp/evp-js#readme","bugs":{"url":"https://github.com/aspect-evp/evp-js/issues"},"dist":{"shasum":"78a896cb043b2b9434a4601acb2bbd3a9d1a0594","tarball":"https://registry.npmjs.org/@aspect-evp/issuer/-/issuer-0.1.1.tgz","fileCount":19,"integrity":"sha512-pM19VFVRTs/baKNzZbtrANUbM4yf26bfnjA1H5qr9aZBeltiY3exSDRQiNkdgL7HugACmPjxBHFPdLLmmDcW6g==","signatures":[{"sig":"MEQCIEP+MqV3hnMTAqp9Ych+PQCucwdwZlA1cTkpwhJUkIl8AiAIq1WKFVIlkrdQcADfdxl8dU78vPY2FknEkCgXQikv9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aspect-evp%2fissuer@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":40747},"main":"./dist/index.js","type":"module","_from":"file:aspect-evp-issuer-0.1.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"seanluis47","email":"seanluis47@gmail.com"},"_resolved":"/tmp/fb0c0c9d9be4f29473b6dc6184238d43/aspect-evp-issuer-0.1.1.tgz","_integrity":"sha512-pM19VFVRTs/baKNzZbtrANUbM4yf26bfnjA1H5qr9aZBeltiY3exSDRQiNkdgL7HugACmPjxBHFPdLLmmDcW6g==","repository":{"url":"git+https://github.com/aspect-evp/evp-js.git","type":"git","directory":"packages/issuer"},"_npmVersion":"10.8.2","description":"EVP issuer implementation for email providers","directories":{},"_nodeVersion":"20.19.6","dependencies":{"jose":"^6.1.3","@aspect-evp/core":"0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"peerDependencies":{"@aspect-evp/core":"^0.1.1"},"_npmOperationalInternal":{"tmp":"tmp/issuer_0.1.1_1765214992944_0.8588192238634378","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@aspect-evp/issuer","version":"0.2.0","description":"EVP issuer implementation for email providers","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"keywords":["evp","email-verification","issuer","sd-jwt"],"author":"","license":"MIT","repository":{"type":"git","url":"git+https://github.com/aspect-evp/evp-js.git","directory":"packages/issuer"},"dependencies":{"jose":"^6.2.1","@aspect-evp/core":"0.2.0"},"devDependencies":{"typescript":"^5.3.0"},"peerDependencies":{"@aspect-evp/core":"^0.1.1 || ^0.2.0"},"publishConfig":{"access":"public"},"scripts":{"build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","test":"vitest run","test:watch":"vitest"},"_id":"@aspect-evp/issuer@0.2.0","bugs":{"url":"https://github.com/aspect-evp/evp-js/issues"},"homepage":"https://github.com/aspect-evp/evp-js#readme","_integrity":"sha512-CEQNxBgIPREO6C5gqKXzgmlRVSdem0gOjhoF3zjRWfLg4EcWrvDrUstBnkx/knwb0uRiiY8D4vEP0W42O05jng==","_resolved":"/tmp/208994b1aab09eee00b724b24ed7042e/aspect-evp-issuer-0.2.0.tgz","_from":"file:aspect-evp-issuer-0.2.0.tgz","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-CEQNxBgIPREO6C5gqKXzgmlRVSdem0gOjhoF3zjRWfLg4EcWrvDrUstBnkx/knwb0uRiiY8D4vEP0W42O05jng==","shasum":"0e01f9a2001457d5d1ee537567c9f2a30d44ad59","tarball":"https://registry.npmjs.org/@aspect-evp/issuer/-/issuer-0.2.0.tgz","fileCount":19,"unpackedSize":47003,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aspect-evp%2fissuer@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDeSTnz9i8BNVxQYYlOMpOZDSY2geppBCN/Y/tYg2lY+AIhAKTrEo0EqhbqaRF78ppZmU/gT87rhHfdWGz2GDRwYusD"}]},"_npmUser":{"name":"seanluis47","email":"seanluis47@gmail.com"},"directories":{},"maintainers":[{"name":"seanluis47","email":"seanluis47@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/issuer_0.2.0_1784000643645_0.2830400937894173"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-08T17:29:52.852Z","modified":"2026-07-14T03:44:04.086Z","0.1.1":"2025-12-08T17:29:53.107Z","0.2.0":"2026-07-14T03:44:03.794Z"},"bugs":{"url":"https://github.com/aspect-evp/evp-js/issues"},"license":"MIT","homepage":"https://github.com/aspect-evp/evp-js#readme","keywords":["evp","email-verification","issuer","sd-jwt"],"repository":{"type":"git","url":"git+https://github.com/aspect-evp/evp-js.git","directory":"packages/issuer"},"description":"EVP issuer implementation for email providers","maintainers":[{"name":"seanluis47","email":"seanluis47@gmail.com"}],"readme":"# @aspect-evp/issuer\n\n> EVP issuer implementation for email providers.\n\n[![npm version](https://img.shields.io/npm/v/@aspect-evp/issuer.svg)](https://www.npmjs.com/package/@aspect-evp/issuer)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n## Installation\n\n```bash\nnpm install @aspect-evp/issuer\n```\n\n## Usage\n\n```typescript\nimport { createIssuerMiddleware, EmailVerificationIssuer } from '@aspect-evp/issuer';\n\n// Initialize with your signing key\nconst issuer = new EmailVerificationIssuer({\n  issuer: 'mail.example.com',\n  privateKey: yourPrivateKeyJWK,\n  kid: '2024-01-key',\n  algorithm: 'EdDSA',\n  privateEmailSupported: true,\n  webauthnSupported: true,\n});\n\nconst middleware = createIssuerMiddleware(\n  issuer,\n  async (cookie, email) => userSessionOwnsEmail(cookie, email),\n  {\n    createPrivateEmail: async (email) => createRelayAddress(email),\n    verifyDirectedEmail: async (email, directed) => relayBelongsTo(email, directed),\n    createWebAuthnChallenge: async (email) => createChallenge(email),\n    verifyWebAuthnResponse: async (email, response, cookie) =>\n      verifyAssertion(email, response, cookie),\n  }\n);\n\n// Serve /.well-known/email-verification\napp.get('/.well-known/email-verification', (req, res) => {\n  res.json(issuer.getMetadata('https://mail.example.com'));\n});\n\n// Serve JWKS\napp.get('/email-verification/jwks', async (req, res) => {\n  res.json(await issuer.getJWKS());\n});\n\n// Pass a standard Web Request to middleware.handleIssuance() and serialize\n// its { status, headers, body } result with your framework adapter.\n```\n\n## Key Generation\n\n```typescript\nimport { EmailVerificationIssuer } from '@aspect-evp/issuer';\n\n// Generate a new EdDSA key pair\nconst keyPair = await EmailVerificationIssuer.generateKeyPair('EdDSA');\nconsole.log(keyPair.privateKey); // Store securely\nconsole.log(keyPair.publicKey);  // Expose via JWKS\n```\n\n## Supported Algorithms\n\n- `EdDSA` (recommended)\n- `ES256`\n- `ES384`\n- `RS256`\n\n## Documentation\n\nSee the [full documentation](https://github.com/aspect-evp/evp-js/blob/main/docs/issuer.md) for complete API reference.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}