{"_id":"@ascencia/id-core","name":"@ascencia/id-core","dist-tags":{"next":"0.1.0-rc.1","latest":"0.1.0-rc.1"},"versions":{"0.1.0-rc.1":{"name":"@ascencia/id-core","version":"0.1.0-rc.1","description":"Client OIDC d'Ascencia ID – agnostique de tout framework, zéro dépendance runtime.","type":"module","main":"./src/index.ts","types":"./src/index.ts","exports":{".":"./src/index.ts"},"sideEffects":false,"scripts":{"typecheck":"tsc --noEmit","test":"vitest run","build":"echo 'source-only package'"},"dependencies":{"@ascencia/id-rbac":"0.1.0-rc.1"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/pedrokarim/ascencia-auth.git","directory":"packages/core"},"publishConfig":{"access":"public"},"_id":"@ascencia/id-core@0.1.0-rc.1","bugs":{"url":"https://github.com/pedrokarim/ascencia-auth/issues"},"homepage":"https://github.com/pedrokarim/ascencia-auth#readme","_integrity":"sha512-Eal/Bq04v6IZ87Y5hdRe+kfrv3HVfH4PvhJULoEwu8VMbdYizJB6WA+g09RM7lpUheITTFl1g/uOU9UGHVy50A==","_resolved":"/home/runner/work/ascencia-auth/ascencia-auth/tarballs/ascencia-id-core-0.1.0-rc.1.tgz","_from":"file:tarballs/ascencia-id-core-0.1.0-rc.1.tgz","_nodeVersion":"22.23.2","_npmVersion":"10.9.8","dist":{"integrity":"sha512-Eal/Bq04v6IZ87Y5hdRe+kfrv3HVfH4PvhJULoEwu8VMbdYizJB6WA+g09RM7lpUheITTFl1g/uOU9UGHVy50A==","shasum":"bbb0d61e2aff513eeaec211cf434ca6b629c6ed4","tarball":"https://registry.npmjs.org/@ascencia/id-core/-/id-core-0.1.0-rc.1.tgz","fileCount":10,"unpackedSize":47862,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBoC/n+y65gX6Iqh46HpNG0+KGgF7jNeHP8mk4XjF9A9AiEA8dwZZjJ2+kCML+l4H+2zsYfzLJVTtK7XYm+m6L3PT0U="}]},"_npmUser":{"name":"pedrokarim64","email":"Karimisma6464@Gmail.com"},"directories":{},"maintainers":[{"name":"pedrokarim64","email":"Karimisma6464@Gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/id-core_0.1.0-rc.1_1787514099245_0.9084473412726051"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-23T19:41:39.025Z","0.1.0-rc.1":"2026-08-23T19:41:39.388Z","modified":"2026-08-23T19:41:39.818Z"},"maintainers":[{"name":"pedrokarim64","email":"Karimisma6464@Gmail.com"}],"description":"Client OIDC d'Ascencia ID – agnostique de tout framework, zéro dépendance runtime.","homepage":"https://github.com/pedrokarim/ascencia-auth#readme","repository":{"type":"git","url":"git+https://github.com/pedrokarim/ascencia-auth.git","directory":"packages/core"},"bugs":{"url":"https://github.com/pedrokarim/ascencia-auth/issues"},"license":"MIT","readme":"# @ascencia/id-core\n\nLe client OAuth 2.1 / OIDC d'**Ascencia ID**. Navigateur et serveur, sans\ndépendance runtime.\n\nIl porte le flux `authorization_code` avec PKCE S256, l'échange et le\nrafraîchissement des jetons, la découverte OIDC, et l'évaluation des\npermissions côté client.\n\n```bash\nbun add @ascencia/id-core\n```\n\n```ts\nimport { createClient } from '@ascencia/id-core';\n\nconst client = createClient({\n  issuer: 'https://id.ascencia.re',\n  clientId: 'asc_cid_…',\n  redirectUri: 'https://mon-site.fr/callback',\n});\n\n// Aller à l'écran de connexion\nconst { url } = await client.buildAuthorizeUrl();\nlocation.assign(url);\n\n// Au retour\nconst tokens = await client.handleCallback(location.search);\n```\n\n## Ce qu'il ne fait pas\n\nIl ne **vérifie** pas les jetons : vérifier une signature demande de récupérer\net de mettre en cache le JWKS, ce qui n'a de sens que côté serveur. C'est le\nrôle de [`@ascencia/id-server`](https://www.npmjs.com/package/@ascencia/id-server).\n\nIl ne stocke rien de sensible par défaut : le `code_verifier` d'une transaction\nen cours vit dans `sessionStorage`, jamais le jeton de rafraîchissement. Pour un\nsite avec un serveur, préférer le montage confidentiel — les jetons restent\nalors chez vous et le navigateur ne reçoit qu'un cookie.\n\n## TypeScript\n\nLe paquet est publié en **source TypeScript**. Les bundlers modernes le\ntranspilent sans rien faire ; avec Next.js, l'ajouter à `transpilePackages` :\n\n```ts\n// next.config.ts\ntranspilePackages: ['@ascencia/id-core'],\n```\n\nMIT · [Documentation](https://id.ascencia.re/help)\n","readmeFilename":"README.md","_rev":"1-68583a544720679e8af21be36e666869"}