{"_id":"@adonis-agora/authkit-testing","_rev":"6-65af9b9c4dd1116a52a1a7ac34ff4a93","name":"@adonis-agora/authkit-testing","dist-tags":{"latest":"0.5.3"},"versions":{"0.3.0":{"name":"@adonis-agora/authkit-testing","version":"0.3.0","keywords":["adonisjs","authentication","authkit","testing","jwt","jwks","oidc"],"author":"dudousxd","license":"MIT","_id":"@adonis-agora/authkit-testing@0.3.0","maintainers":[{"name":"dudousxd","email":"davi_carvalho96@hotmail.com"}],"homepage":"https://github.com/DavideCarvalho/adonis-authkit/tree/main/packages/authkit-testing#readme","bugs":{"url":"https://github.com/DavideCarvalho/adonis-authkit/issues"},"dist":{"shasum":"d2b2ed11c467a87c4998fba0dcbabb667d3c8592","tarball":"https://registry.npmjs.org/@adonis-agora/authkit-testing/-/authkit-testing-0.3.0.tgz","fileCount":13,"integrity":"sha512-3LQNQ7i8UdVhmhR8CPyVD/5LQwvIK59hLQWUQ28nSMYaLjTRKSrOzStGMS4dEhRqeYbCepHlXsBYF+uTq8kwwg==","signatures":[{"sig":"MEQCIE0lHnCHU5DYzgIFXem+LwrFPaIrtABg3VDa4Z3SVpW1AiB5cuyVLAi94kEvm/Cmzi9+u3o1NhyCWz9BBKTnd/5QWw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18072},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","exports":{".":"./build/index.js","./types":"./build/index.js"},"scripts":{"test":"node --import=@poppinss/ts-exec bin/test.ts","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"dudousxd","email":"davi_carvalho96@hotmail.com"},"repository":{"url":"https://github.com/DavideCarvalho/adonis-authkit.git","type":"git","directory":"packages/authkit-testing"},"description":"Test helpers for apps built on AuthKit: mint real signed ID tokens with a local JWKS, fake authenticators and account stores, and build valid identities — so host apps can test auth flows without booting an IdP.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"jose":"^5.9.0","@adonis-agora/authkit-core":"0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"6.0.3","@types/node":"25.9.1","@japa/assert":"4.2.0","@japa/runner":"5.3.0","@poppinss/ts-exec":"1.4.4","@adonisjs/tsconfig":"2.0.0","@adonis-agora/authkit-client":"0.9.0"},"_npmOperationalInternal":{"tmp":"tmp/authkit-testing_0.3.0_1782240507505_0.6270853308960229","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@adonis-agora/authkit-testing","version":"0.4.0","keywords":["adonisjs","authentication","authkit","testing","jwt","jwks","oidc"],"author":"dudousxd","license":"MIT","_id":"@adonis-agora/authkit-testing@0.4.0","maintainers":[{"name":"dudousxd","email":"davi_carvalho96@hotmail.com"}],"homepage":"https://github.com/DavideCarvalho/adonis-authkit/tree/main/packages/authkit-testing#readme","bugs":{"url":"https://github.com/DavideCarvalho/adonis-authkit/issues"},"dist":{"shasum":"cfce0a59fc9b4256f44c544dfc0e85a95cde1ad3","tarball":"https://registry.npmjs.org/@adonis-agora/authkit-testing/-/authkit-testing-0.4.0.tgz","fileCount":13,"integrity":"sha512-wo/P5UWpnfcsSaZQR15OyLtLoACmK0MqfqKax4R69wbeKwcb/k7OlQz6grisT88IoukZkllxew5UYm32pofpPQ==","signatures":[{"sig":"MEUCIQDNniXb/InIzdyvK2GNMFAVLjckAIXjw2Z9CsbbpuILqAIgR6hnD+HvqdBJHgpuGOSYD/sIim9ZsgJPOuTY16prIuA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17819},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","exports":{".":"./build/index.js","./types":"./build/index.js"},"scripts":{"test":"node --import=@poppinss/ts-exec bin/test.ts","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"dudousxd","email":"davi_carvalho96@hotmail.com"},"repository":{"url":"https://github.com/DavideCarvalho/adonis-authkit.git","type":"git","directory":"packages/authkit-testing"},"description":"Test helpers for apps built on AuthKit: mint real signed ID tokens with a local JWKS, fake authenticators and account stores, and build valid identities — so host apps can test auth flows without booting an IdP.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"jose":"^5.9.0","@adonis-agora/authkit-core":"0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"6.0.3","@types/node":"25.9.1","@japa/assert":"4.2.0","@japa/runner":"5.3.0","@poppinss/ts-exec":"1.4.4","@adonisjs/tsconfig":"2.0.0","@adonis-agora/authkit-client":"0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/authkit-testing_0.4.0_1784209865701_0.8525944173812823","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@adonis-agora/authkit-testing","version":"0.5.0","keywords":["adonisjs","authentication","authkit","testing","jwt","jwks","oidc"],"author":"dudousxd","license":"MIT","_id":"@adonis-agora/authkit-testing@0.5.0","maintainers":[{"name":"dudousxd","email":"davi_carvalho96@hotmail.com"}],"homepage":"https://github.com/DavideCarvalho/adonis-agora-authkit/tree/main/packages/authkit-testing#readme","bugs":{"url":"https://github.com/DavideCarvalho/adonis-agora-authkit/issues"},"dist":{"shasum":"d090055e0027702e5b365cbebc202b9d86e0c398","tarball":"https://registry.npmjs.org/@adonis-agora/authkit-testing/-/authkit-testing-0.5.0.tgz","fileCount":13,"integrity":"sha512-JEScLEcBg+V1twLU9DaZocxBJuhkujPBGktCXYS5huSIwApTz1uO6p/5qO+Q5Cx0ji59JPSAQOzAvdEMiiDRTA==","signatures":[{"sig":"MEYCIQDP1C54st/rjulwJGzOJsvFsIWaFf+2TBo9x+PcGbDYZwIhAMUOVwvowV/jvmjsR3vNpA/mr+mbsbtEuuTp1JNPU6bB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adonis-agora%2fauthkit-testing@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":18426},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","exports":{".":"./build/index.js","./types":"./build/index.js"},"scripts":{"test":"node --import=@poppinss/ts-exec bin/test.ts","build":"tsc","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:90e3558a-3a04-4c3a-8298-db9c7aec7c4f"}},"repository":{"url":"https://github.com/DavideCarvalho/adonis-agora-authkit.git","type":"git","directory":"packages/authkit-testing"},"description":"Test helpers for apps built on AuthKit: mint real signed ID tokens with a local JWKS, fake authenticators and account stores, and build valid identities — so host apps can test auth flows without booting an IdP.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"jose":"5.10.0","@adonis-agora/authkit-core":"0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"6.0.3","@types/node":"25.9.1","@japa/assert":"4.2.0","@japa/runner":"5.3.0","@poppinss/ts-exec":"1.4.4","@adonisjs/tsconfig":"2.0.0","@adonis-agora/authkit-client":"0.17.1"},"_npmOperationalInternal":{"tmp":"tmp/authkit-testing_0.5.0_1787110100479_0.9929264957796289","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@adonis-agora/authkit-testing","version":"0.5.1","keywords":["adonisjs","authentication","authkit","testing","jwt","jwks","oidc"],"author":"dudousxd","license":"MIT","_id":"@adonis-agora/authkit-testing@0.5.1","maintainers":[{"name":"dudousxd","email":"davi_carvalho96@hotmail.com"}],"homepage":"https://github.com/DavideCarvalho/adonis-agora-authkit/tree/main/packages/authkit-testing#readme","bugs":{"url":"https://github.com/DavideCarvalho/adonis-agora-authkit/issues"},"dist":{"shasum":"7dba06b4ed2f53b6b81da9b1c59f600d0628e02f","tarball":"https://registry.npmjs.org/@adonis-agora/authkit-testing/-/authkit-testing-0.5.1.tgz","fileCount":13,"integrity":"sha512-uHut3gxVv9ADvhz2ULYps35yrNWGdsk5I22emBisGFDJUsvIjZyBGiCZ/BOnUn//TN4gPMawfX/iHuvzoZFi8w==","signatures":[{"sig":"MEQCIGbonh5UL+8U9fwaRam92WnDbroE+etayWoEmNtd/S8dAiAs9v1/xkuIL6XoohYe7fhVVV1nRdVbGLURdraBfS7r0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adonis-agora%2fauthkit-testing@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":18426},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","exports":{".":"./build/index.js","./types":"./build/index.js"},"scripts":{"test":"node --import=@poppinss/ts-exec bin/test.ts","build":"tsc","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:90e3558a-3a04-4c3a-8298-db9c7aec7c4f"}},"repository":{"url":"https://github.com/DavideCarvalho/adonis-agora-authkit.git","type":"git","directory":"packages/authkit-testing"},"description":"Test helpers for apps built on AuthKit: mint real signed ID tokens with a local JWKS, fake authenticators and account stores, and build valid identities — so host apps can test auth flows without booting an IdP.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"jose":"5.10.0","@adonis-agora/authkit-core":"0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"6.0.3","@types/node":"25.9.1","@japa/assert":"4.2.0","@japa/runner":"5.3.0","@poppinss/ts-exec":"1.4.4","@adonisjs/tsconfig":"2.0.0","@adonis-agora/authkit-client":"0.18.0"},"_npmOperationalInternal":{"tmp":"tmp/authkit-testing_0.5.1_1787150265324_0.8316506659781611","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@adonis-agora/authkit-testing","version":"0.5.2","keywords":["adonisjs","authentication","authkit","testing","jwt","jwks","oidc"],"author":"dudousxd","license":"MIT","_id":"@adonis-agora/authkit-testing@0.5.2","maintainers":[{"name":"dudousxd","email":"davi_carvalho96@hotmail.com"}],"homepage":"https://github.com/DavideCarvalho/adonis-agora-authkit/tree/main/packages/authkit-testing#readme","bugs":{"url":"https://github.com/DavideCarvalho/adonis-agora-authkit/issues"},"dist":{"shasum":"3a9c38e2970772dc987420da1517b9fa0fb242ac","tarball":"https://registry.npmjs.org/@adonis-agora/authkit-testing/-/authkit-testing-0.5.2.tgz","fileCount":13,"integrity":"sha512-Bcdzeui3/tPwbbDYKDiXs1w/clG3+4y/TNIKVIR+FKMQkWr6tHPLunNjwu23Wep5jdCJOEANgR7uhLEyemgCKw==","signatures":[{"sig":"MEYCIQCWEZWek6La8YeJmoKbsRvCbe4pdYVdPH+mbqFmB/DYogIhALZcuWyLT9772U7t7CsqhaYesJEtBFIGsTRW1Eb0PT8F","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCOmTv9KsLz3Dw2zR+nwatdCIvntQWuvj9f6yL4krwZQQIhAOlgnA5SSe6qHHkV7kL2QWSUtdKlso3pesJn96AKVD13","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adonis-agora%2fauthkit-testing@0.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":18486},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","exports":{".":"./build/index.js","./types":"./build/index.js"},"scripts":{"test":"node --import=@poppinss/ts-exec bin/test.ts","build":"tsc","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:90e3558a-3a04-4c3a-8298-db9c7aec7c4f"}},"repository":{"url":"https://github.com/DavideCarvalho/adonis-agora-authkit.git","type":"git","directory":"packages/authkit-testing"},"description":"Test helpers for apps built on AuthKit: mint real signed ID tokens with a local JWKS, fake authenticators and account stores, and build valid identities — so host apps can test auth flows without booting an IdP.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"jose":"6.2.12","@adonis-agora/authkit-core":"0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"7.0.2","@types/node":"26.5.0","@japa/assert":"4.2.0","@japa/runner":"5.3.0","@poppinss/ts-exec":"1.4.4","@adonisjs/tsconfig":"2.0.0","@adonis-agora/authkit-client":"0.18.4"},"_npmOperationalInternal":{"tmp":"tmp/authkit-testing_0.5.2_1788838277721_0.07783753198479926","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"_id":"@adonis-agora/authkit-testing@0.5.3","bugs":{"url":"https://github.com/DavideCarvalho/adonis-agora-authkit/issues"},"dist":{"shasum":"394ce34907b530c0bc71488d568bae497d621064","tarball":"https://registry.npmjs.org/@adonis-agora/authkit-testing/-/authkit-testing-0.5.3.tgz","fileCount":13,"integrity":"sha512-wxjekjb2kxygCi1EcmJvz160e4fNBYLO3pTOrv5WEOC3XCWl/tA1eXgsVj3VLcMd69W8sjxx+EV9aqei8lFKOg==","signatures":[{"sig":"MEUCIErluNxVBstI4BqWKnyQ2OCYHezfPcS8lPo7NjDvvhjJAiEA5Tpc2drBJMhCQLmFAksPHlSdZnx8ZzGlqFs+K3V2gtg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCLI19WRX4mTGGKy+Q91bK7iwjNKYAeZyR7JqhVpQPG4AIgUf4kThwfst+y6nXpIJYzmPoFpR/WQv5xBUFrbhCGVDA="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adonis-agora%2fauthkit-testing@0.5.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":18441},"main":"./build/index.js","name":"@adonis-agora/authkit-testing","type":"module","types":"./build/index.d.ts","author":"dudousxd","exports":{".":"./build/index.js","./types":"./build/index.js"},"license":"MIT","scripts":{"test":"node --import=@poppinss/ts-exec bin/test.ts","build":"tsc","typecheck":"tsc --noEmit && tsc -p tsconfig.tests.json"},"version":"0.5.3","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:90e3558a-3a04-4c3a-8298-db9c7aec7c4f"}},"homepage":"https://davidecarvalho.github.io/agora/docs/authkit","keywords":["adonisjs","authentication","authkit","testing","jwt","jwks","oidc"],"repository":{"url":"https://github.com/DavideCarvalho/adonis-agora-authkit.git","type":"git","directory":"packages/authkit-testing"},"description":"Test helpers for apps built on AuthKit: mint real signed ID tokens with a local JWKS, fake authenticators and account stores, and build valid identities — so host apps can test auth flows without booting an IdP.","directories":{},"maintainers":[{"name":"dudousxd","email":"davi_carvalho96@hotmail.com"}],"dependencies":{"jose":"6.2.12","@adonis-agora/authkit-core":"0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"7.0.2","@types/node":"26.5.1","@japa/assert":"4.2.0","@japa/runner":"5.3.0","@poppinss/ts-exec":"1.4.4","@adonisjs/tsconfig":"2.0.0","@adonis-agora/authkit-client":"0.18.8"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/authkit-testing_0.5.3_1790302105130_0.5781437881726301"}}},"time":{"created":"2026-06-23T18:48:27.326Z","modified":"2026-09-25T02:08:25.530Z","0.3.0":"2026-06-23T18:48:27.718Z","0.4.0":"2026-07-16T13:51:05.840Z","0.5.0":"2026-08-19T03:28:20.624Z","0.5.1":"2026-08-19T14:37:45.470Z","0.5.2":"2026-09-08T03:31:17.808Z","0.5.3":"2026-09-25T02:08:25.214Z"},"bugs":{"url":"https://github.com/DavideCarvalho/adonis-agora-authkit/issues"},"author":"dudousxd","license":"MIT","homepage":"https://davidecarvalho.github.io/agora/docs/authkit","keywords":["adonisjs","authentication","authkit","testing","jwt","jwks","oidc"],"repository":{"url":"https://github.com/DavideCarvalho/adonis-agora-authkit.git","type":"git","directory":"packages/authkit-testing"},"description":"Test helpers for apps built on AuthKit: mint real signed ID tokens with a local JWKS, fake authenticators and account stores, and build valid identities — so host apps can test auth flows without booting an IdP.","maintainers":[{"name":"dudousxd","email":"davi_carvalho96@hotmail.com"}],"readme":"# @adonis-agora/authkit-testing\n\nTest helpers so **host apps** built on AuthKit can test auth flows without booting\nan IdP. Mint real signed ID tokens validated by a local JWKS, fake the\n`ctx.auth` authenticator, fake an account store, and build valid identities.\n\n```sh\npnpm add -D @adonis-agora/authkit-testing\n```\n\n## API\n\n### `createTestIdentity(overrides?)`\n\nReturns a valid `Identity` with sane defaults.\n\n```ts\nimport { createTestIdentity } from '@adonis-agora/authkit-testing'\n\nconst identity = createTestIdentity({ globalRoles: ['ADMIN'] })\n```\n\n### `mintTestIdToken({ issuer, clientId, claims?, key?, expiresInSeconds? })`\n\nMints a **real** RS256-signed JWT plus the public JWKS that validates it. Returns\n`{ token, key, jwks }`.\n\n```ts\nimport { mintTestIdToken, serveJwks } from '@adonis-agora/authkit-testing'\nimport { resolvers } from '@adonis-agora/authkit-client'\n\nconst { token, jwks } = await mintTestIdToken({\n  issuer: 'https://idp.test',\n  clientId: 'my-app',\n  claims: { sub: 'user-42', email: 'jane@test.dev', roles: ['ADMIN'] },\n})\n\n// Serve the JWKS in-process so resolvers.jwt({ jwksUri }) can validate it.\nconst served = await serveJwks(jwks)\nconst factory = resolvers.jwt({ jwksUri: served.jwksUri })\nconst resolver = await factory.resolver({\n  issuer: 'https://idp.test',\n  clientId: 'my-app',\n  sessionKey: 'authkit',\n  globalRolesClaim: 'roles',\n})\n// ... use resolver in your host test, then:\nawait served.close()\n```\n\nThe `JwtResolver` uses `createRemoteJWKSet`, so it needs a URL — `serveJwks()`\nprovides one locally with no external network. You can also reuse a single\nkeypair across tokens via `generateTestKeyPair()` + the `key` option, or get the\nraw public JWKS object with `jwksFromKey(key)` / `testJwks(key)`.\n\n### `fakeAuthenticator({ identity?, user? })`\n\nObject satisfying the client's `Authenticator` surface, for injecting into\n`ctx.auth` in controller tests. O AuthKit só autentica — autorização por role é\ndo `@adonis-agora/authz`, então o fake expõe só `hasGlobalRole` (roles do token).\n\n```ts\nimport { fakeAuthenticator } from '@adonis-agora/authkit-testing'\n\nconst auth = fakeAuthenticator({\n  identity: createTestIdentity({ globalRoles: ['ADMIN'] }),\n})\nauth.hasGlobalRole('ADMIN') // true\n```\n\nPass `identity: null` to simulate an anonymous request.\n\n### `fakeAccountStore(options?)`\n\nA capability-aware fake `AccountStore`. The core methods are always present;\nMFA, passkeys and account-security capabilities are opt-in so you can exercise\nthe server's `supportsMfa` / `supportsPasskeys` / `supportsAccountSecurity`\ntype guards.\n\n```ts\nimport { fakeAccountStore } from '@adonis-agora/authkit-testing'\n\nconst store = fakeAccountStore({\n  account: { id: 'u1', email: 'a@b.com', globalRoles: ['ADMIN'] },\n  withMfa: true,\n  overrides: { findById: async () => null },\n})\n```\n\n## License\n\nMIT\n","readmeFilename":""}