{"_id":"@biutech/vue-oidc","_rev":"12-f46889bac3749c917e6f683213e14c23","name":"@biutech/vue-oidc","dist-tags":{"latest":"7.27.3-bate.3"},"versions":{"1.0.0":{"name":"@biutech/vue-oidc","version":"1.0.0","keywords":["vue","oidc","oauth2","authentication","vue3","composables"],"license":"MIT","_id":"@biutech/vue-oidc@1.0.0","maintainers":[{"name":"zengande","email":"zengande@outlook.com"}],"homepage":"https://github.com/biutech/vue-oidc#readme","bugs":{"url":"https://github.com/biutech/vue-oidc/issues"},"dist":{"shasum":"b64a9d57c710ab86658d5f777d0a4e13ff6ad6fb","tarball":"https://registry.npmjs.org/@biutech/vue-oidc/-/vue-oidc-1.0.0.tgz","fileCount":5,"integrity":"sha512-N10lTQ3XP7z805xclAFoGrve+b22wB0NsQUr+QcbnObynppax5eruB5OGr8Ds8ftSKLPTUpecMQZS/IBXjY4XA==","signatures":[{"sig":"MEYCIQC3lKkk+MgopspzMxU7BjoHvE7iuPbNLN1RcmbbRZy1fwIhAPTxIpoKxa0fz74n3D+r2ozcN1r8fD1Gdi+AziyqtcVA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42010},"main":"./dist/vue-oidc.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vue-oidc.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/vue-oidc.js","require":"./dist/vue-oidc.umd.cjs"}},"gitHead":"434101ff30034742c87a0a27bc0dccdb86922899","scripts":{"dev":"vite build --watch","lint":"eslint src --ext .ts,.vue","test":"vitest run","build":"vue-tsc --noEmit && vite build","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"zengande","email":"zengande@outlook.com"},"repository":{"url":"git+https://github.com/biutech/vue-oidc.git","type":"git"},"_npmVersion":"10.8.2","description":"Vue 3 OIDC client wrapper around @axa-fr/oidc-client","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@axa-fr/oidc-client":"^7.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.4.0","vite":"^5.0.0","jsdom":"^29.0.1","pinia":"^2.1.0","vitest":"^1.0.0","vue-tsc":"^2.0.0","typescript":"^5.3.0","vue-router":"^4.3.0","@vue/test-utils":"^2.4.0","@vitejs/plugin-vue":"^5.0.0","@vitest/coverage-v8":"^1.0.0"},"peerDependencies":{"vue":"^3.3.0","pinia":"^2.1.0","vue-router":"^4.3.0"},"peerDependenciesMeta":{"pinia":{"optional":true},"vue-router":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/vue-oidc_1.0.0_1774857541918_0.42899348712926","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@biutech/vue-oidc","version":"1.0.1","keywords":["vue","oidc","oauth2","authentication","vue3","composables"],"license":"MIT","_id":"@biutech/vue-oidc@1.0.1","maintainers":[{"name":"zengande","email":"zengande@outlook.com"}],"homepage":"https://github.com/biutech/vue-oidc#readme","bugs":{"url":"https://github.com/biutech/vue-oidc/issues"},"dist":{"shasum":"f7bff7c9003864fd96200bdbfd4f86a1175a4dee","tarball":"https://registry.npmjs.org/@biutech/vue-oidc/-/vue-oidc-1.0.1.tgz","fileCount":20,"integrity":"sha512-+Ao9Z3M5kFtsZGOA4dR8oZysXN7jhQh4UcSwfYLwaXvIkokEmjnT82aXX0pB1VDgN+5ebl+9YRerqe7wv/3c6w==","signatures":[{"sig":"MEUCICR5vWiKTdTr/k2oqWu/ISLIvTI/qn2dirdem1XHs+8dAiEA8aDnM+CvtywNhrShkTuFd350pwu2JMUhPFLF5J5La5A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60202},"main":"./dist/vue-oidc.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vue-oidc.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/vue-oidc.js","require":"./dist/vue-oidc.umd.cjs"}},"gitHead":"236b41d27311ae2fa1c3b358391e5250365ee0f5","scripts":{"dev":"vite build --watch","lint":"eslint src --ext .ts,.vue","test":"vitest run","build":"vite build && pnpm run build:types","test:watch":"vitest","build:types":"vue-tsc -p tsconfig.build.json","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"zengande","email":"zengande@outlook.com"},"repository":{"url":"git+https://github.com/biutech/vue-oidc.git","type":"git"},"_npmVersion":"10.8.2","description":"Vue 3 OIDC client wrapper around @axa-fr/oidc-client","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@axa-fr/oidc-client":"^7.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.4.0","vite":"^5.0.0","jsdom":"^29.0.1","pinia":"^2.1.0","vitest":"^1.0.0","vue-tsc":"^2.0.0","typescript":"^5.3.0","vue-router":"^4.3.0","@vue/test-utils":"^2.4.0","@vitejs/plugin-vue":"^5.0.0","@vitest/coverage-v8":"^1.0.0"},"peerDependencies":{"vue":"^3.3.0","pinia":"^2.1.0","vue-router":"^4.3.0"},"peerDependenciesMeta":{"pinia":{"optional":true},"vue-router":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/vue-oidc_1.0.1_1774859411760_0.3485589495585726","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@biutech/vue-oidc","version":"1.0.2","keywords":["vue","oidc","oauth2","authentication","vue3","composables"],"license":"MIT","_id":"@biutech/vue-oidc@1.0.2","maintainers":[{"name":"zengande","email":"zengande@outlook.com"}],"homepage":"https://github.com/biutech/vue-oidc#readme","bugs":{"url":"https://github.com/biutech/vue-oidc/issues"},"dist":{"shasum":"9ec60932005aba38a310e784a851c1e0481c7de5","tarball":"https://registry.npmjs.org/@biutech/vue-oidc/-/vue-oidc-1.0.2.tgz","fileCount":20,"integrity":"sha512-Ao2KjWhJF7FopVQCcZInjgWPqJ4k7HT/hPKvwhMcTnKPmVghe+7jyOu93Dn81Uetw/P+uw9ZB6al6i+376yFLQ==","signatures":[{"sig":"MEQCICzaYHIP4FIoq4gF/0mtmGGGI2HnPy5ki+Ly/yEOrLHCAiBsKE/+vlM6YjsvnoXdYE13QOFQDkjFX3zvtYZ2UdLKdQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60105},"main":"./dist/vue-oidc.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vue-oidc.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/vue-oidc.js","require":"./dist/vue-oidc.umd.cjs"}},"gitHead":"616df69cef6d697c263c2fd4091108705b4ba2cb","scripts":{"dev":"vite build --watch","lint":"eslint src --ext .ts,.vue","test":"vitest run","build":"vite build && pnpm run build:types","test:watch":"vitest","build:types":"vue-tsc -p tsconfig.build.json","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"zengande","email":"zengande@outlook.com"},"repository":{"url":"git+https://github.com/biutech/vue-oidc.git","type":"git"},"_npmVersion":"10.8.2","description":"Vue 3 OIDC client wrapper around @axa-fr/oidc-client","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@axa-fr/oidc-client":"^7.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.4.0","vite":"^5.0.0","jsdom":"^29.0.1","pinia":"^2.1.0","vitest":"^1.0.0","vue-tsc":"^2.0.0","typescript":"^5.3.0","vue-router":"^4.3.0","@vue/test-utils":"^2.4.0","@vitejs/plugin-vue":"^5.0.0","@vitest/coverage-v8":"^1.0.0"},"peerDependencies":{"vue":"^3.3.0","pinia":"^2.1.0","vue-router":"^4.3.0"},"peerDependenciesMeta":{"pinia":{"optional":true},"vue-router":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/vue-oidc_1.0.2_1774863339177_0.6950144527836621","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@biutech/vue-oidc","version":"1.1.0","keywords":["vue","oidc","oauth2","authentication","vue3","composables"],"license":"MIT","_id":"@biutech/vue-oidc@1.1.0","maintainers":[{"name":"zengande","email":"zengande@outlook.com"}],"homepage":"https://github.com/biutech/vue-oidc#readme","bugs":{"url":"https://github.com/biutech/vue-oidc/issues"},"dist":{"shasum":"8a7258901dcd0183235d419cf5bf9ca063577d2c","tarball":"https://registry.npmjs.org/@biutech/vue-oidc/-/vue-oidc-1.1.0.tgz","fileCount":26,"integrity":"sha512-sj1+mkFAuyechNjQyym6tD6qpZUXY+yJQiaC0z+ZNdayZldPQpjBKbV5qWo+Cqd8m8rpwbtRVjAGgnsh4mdhtQ==","signatures":[{"sig":"MEQCIDXlrxSTsjtFGiu3dAJrU1NUE1FxYbIJtsL3yhddE5UzAiA8maVnWUFPcU8yFz6T6OGPrEKuEez2zJmXkVWhuoamRg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79363},"main":"./dist/vue-oidc.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vue-oidc.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/vue-oidc.js","require":"./dist/vue-oidc.umd.cjs"}},"gitHead":"709b5cff9a4504c73afb97e2a6e1cc25a3ba770e","scripts":{"dev":"vite build --watch","pub":"npm run build && npm publish --registry https://registry.npmjs.org --access=public","lint":"eslint src --ext .ts,.vue","test":"vitest run","build":"vite build && pnpm run build:types","test:watch":"vitest","build:types":"vue-tsc -p tsconfig.build.json","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"zengande","email":"zengande@outlook.com"},"repository":{"url":"git+https://github.com/biutech/vue-oidc.git","type":"git"},"_npmVersion":"10.8.2","description":"Vue 3 OIDC client wrapper around @axa-fr/oidc-client","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@axa-fr/oidc-client":"^7.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.4.0","vite":"^5.0.0","jsdom":"^29.0.1","pinia":"^2.1.0","vitest":"^1.0.0","vue-tsc":"^2.0.0","typescript":"^5.3.0","vue-router":"^4.3.0","@vue/test-utils":"^2.4.0","@vitejs/plugin-vue":"^5.0.0","@vitest/coverage-v8":"^1.0.0"},"peerDependencies":{"vue":"^3.3.0","pinia":"^2.1.0","vue-router":"^4.3.0"},"peerDependenciesMeta":{"pinia":{"optional":true},"vue-router":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/vue-oidc_1.1.0_1774946305769_0.43003863647703544","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@biutech/vue-oidc","version":"2.0.0","license":"MIT","_id":"@biutech/vue-oidc@2.0.0","maintainers":[{"name":"zengande","email":"zengande@outlook.com"}],"dist":{"shasum":"83094224732570d9e96520e05235428c5543e234","tarball":"https://registry.npmjs.org/@biutech/vue-oidc/-/vue-oidc-2.0.0.tgz","fileCount":5,"integrity":"sha512-nKgzFeqaRTVzlidlP/BIA16Y9m79O/nk9b3F+X6Ji4oA5ujljQym0vsE0YxSV7hY31xDW5W3IumX1g6MmJOpgA==","signatures":[{"sig":"MEYCIQD02l/qnXc6le/mX/anfdWRQWmUCtG983f/fOCjOSj8HAIhAItNqS9urf2wHhKi8QGfjmcz/Kj6mAedwA5CFAhYs5bc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80762},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"f863b06fb05debc2b783a54161f5279f2a12b32b","scripts":{"lint":"echo \"No lint configured for package yet\"","test":"vitest run","build":"tsup src/index.ts --format esm,cjs --dts","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"vue-tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"zengande","email":"zengande@outlook.com"},"_npmVersion":"10.8.2","description":"Vue 3 OIDC integration built on top of @axa-fr/oidc-client","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@axa-fr/oidc-client":"^7.25.0"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.13","tsup":"^8.4.0","jsdom":"^26.1.0","vue-tsc":"^2.2.8"},"peerDependencies":{"vue":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-oidc_2.0.0_1775011742840_0.6226611213157418","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@biutech/vue-oidc","version":"2.0.1","license":"MIT","_id":"@biutech/vue-oidc@2.0.1","maintainers":[{"name":"zengande","email":"zengande@outlook.com"}],"dist":{"shasum":"2088f8a1b607354e3e0902237ca33ffbd4aadc16","tarball":"https://registry.npmjs.org/@biutech/vue-oidc/-/vue-oidc-2.0.1.tgz","fileCount":5,"integrity":"sha512-WGV4Ms23PrRstY/GqmXnggcA6O2EiUm0Yb4YsI3q6c2By7LUDpR4f4CT9eGriawOQHSNZgkNmpMPkpSLuu9caQ==","signatures":[{"sig":"MEYCIQDYRFVH49ISUz1pOYFsl4wMMnYWEAlohHXYhmzjSg9VggIhAIhWbGVRkeqAv7c6pDV93Pe6aPM+lqj1fmvPaDMk3gWN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91070},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"d8c209980b7976a6181c3070d4f9ba718c5e83cd","scripts":{"lint":"echo \"No lint configured for package yet\"","test":"vitest run","build":"tsup src/index.ts --format esm,cjs --dts","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"vue-tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"zengande","email":"zengande@outlook.com"},"_npmVersion":"10.8.2","description":"Vue 3 OIDC integration built on top of @axa-fr/oidc-client","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@axa-fr/oidc-client":"^7.25.0"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.13","tsup":"^8.4.0","jsdom":"^26.1.0","vue-tsc":"^2.2.8","vue-router":"^4.5.0"},"peerDependencies":{"vue":"^3.4.0","vue-router":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-oidc_2.0.1_1775013619907_0.7053611385805485","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@biutech/vue-oidc","version":"2.1.0","license":"MIT","_id":"@biutech/vue-oidc@2.1.0","maintainers":[{"name":"zengande","email":"zengande@outlook.com"}],"dist":{"shasum":"eb8a087584f6dda08153f49afffb088ec7487ab0","tarball":"https://registry.npmjs.org/@biutech/vue-oidc/-/vue-oidc-2.1.0.tgz","fileCount":5,"integrity":"sha512-MAQYs+sxhXl01IQji6hFtIIWDJyggyefmBQrQtJXkQ8bA0z56Pjl15tM0qymisDMTlYt6n5wokEBkrx6arFNig==","signatures":[{"sig":"MEUCIQCXw3fN4OxGmbY4n1r/9aFjAUk5vZCsEWx0LNwqye9o8gIgVYR1PQnQO+J2FFkAUWbycqjheFBCLBdTaE5uqT3TL7A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":114526},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"6b717cb70d8aae65f83f1980f29e79b5d9d41ca1","scripts":{"lint":"echo \"No lint configured for package yet\"","test":"vitest run","build":"tsup src/index.ts --format esm,cjs --dts","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"vue-tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"zengande","email":"zengande@outlook.com"},"_npmVersion":"10.8.2","description":"Vue 3 OIDC integration built on top of @axa-fr/oidc-client","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@axa-fr/oidc-client":"^7.25.0"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.13","tsup":"^8.4.0","jsdom":"^26.1.0","vue-tsc":"^2.2.8","vue-router":"^4.5.0"},"peerDependencies":{"vue":"^3.4.0","vue-router":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-oidc_2.1.0_1775024334354_0.06921497424982759","host":"s3://npm-registry-packages-npm-production"}},"7.27.3-bate.1":{"name":"@biutech/vue-oidc","version":"7.27.3-bate.1","keywords":["oidc","OpenID Connect","openid","oauth2","oauth","vue","vue2","vue3"],"license":"MIT","_id":"@biutech/vue-oidc@7.27.3-bate.1","maintainers":[{"name":"zengande","email":"zengande@outlook.com"}],"homepage":"https://github.com/AxaFrance/oidc-client#readme","bugs":{"url":"https://github.com/AxaFrance/oidc-client/issues"},"dist":{"shasum":"c4a5fd1c96a9dc12160a007fb9110ee7b007329e","tarball":"https://registry.npmjs.org/@biutech/vue-oidc/-/vue-oidc-7.27.3-bate.1.tgz","fileCount":66,"integrity":"sha512-338Quv6BYCGzqy3/Y/LJ8NkSppPmm9XgK5vv3W8joYukbyYmffBahDPe3nJXd5D6jI0wZeR5o8sNg3XSDnvlQg==","signatures":[{"sig":"MEUCIGnuvd8Pn0xpGjWaB9MWn6mke1xmb3PHAnRXWRDUUj0HAiEArhlvJvoHh5PHVEFCP1uifGn0SXmK32bMI37kfZAJdP4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98713},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","gitHead":"83a188321da0fa6991636f17470ab33096860dc4","private":false,"scripts":{"lint":"eslint src","test":"vitest --root . --coverage","build":"vite build","clean":"rimraf dist","serve":"vite preview","prepare":"pnpm run clean && pnpm run copy-service-worker && pnpm run build","postinstall":"echo 'WARNING keep sink OidcServiceWorker.js version file'","copy-service-worker":"node ./bin/copy-service-worker-files.mjs dist"},"_npmUser":{"name":"zengande","email":"zengande@outlook.com"},"repository":{"url":"git+https://github.com/AxaFrance/oidc-client.git","type":"git"},"_npmVersion":"10.8.2","description":"OpenID Connect & OAuth authentication using Vue 2 and Vue 3","directories":{},"_nodeVersion":"20.19.6","dependencies":{"vue-demi":"^0.14.10","@axa-fr/oidc-client":"^7.27.3","@axa-fr/oidc-client-service-worker":"^7.27.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.13","vite":"7.3.1","jsdom":"27.4.0","rimraf":"6.1.2","vitest":"4.0.18","typescript":"5.9.3","@types/node":"^22.12.0","vite-plugin-dts":"4.5.4","@vitest/coverage-v8":"4.0.18"},"peerDependencies":{"vue":"^2.7.0 || ^3.3.0","@vue/composition-api":"^1.7.2"},"peerDependenciesMeta":{"@vue/composition-api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/vue-oidc_7.27.3-bate.1_1777258230644_0.5173796548991207","host":"s3://npm-registry-packages-npm-production"}},"7.27.3-bate.2":{"name":"@biutech/vue-oidc","version":"7.27.3-bate.2","keywords":["oidc","OpenID Connect","openid","oauth2","oauth","vue","vue2","vue3"],"license":"MIT","_id":"@biutech/vue-oidc@7.27.3-bate.2","maintainers":[{"name":"zengande","email":"zengande@outlook.com"}],"homepage":"https://github.com/AxaFrance/oidc-client#readme","bugs":{"url":"https://github.com/AxaFrance/oidc-client/issues"},"dist":{"shasum":"01ee03c66cbffb4852954a91aa1ddab965edc372","tarball":"https://registry.npmjs.org/@biutech/vue-oidc/-/vue-oidc-7.27.3-bate.2.tgz","fileCount":67,"integrity":"sha512-0TpQzwewq3ahJtgd0OOj/lfEz2FBIgWQ7jHXFoFCL/KKlMicmbDT/enmM331ANIpqlqhE9PSmXTyWdLp+fPMfQ==","signatures":[{"sig":"MEUCIGyfFoPN3rV7vic4keEc094nvflICy8DZs97Px4CP7wMAiEA8/WgfxxVVVlm9jwv1Fd9s+D2RG4tCUHqsFYQn1hufXY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116786},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","gitHead":"83a188321da0fa6991636f17470ab33096860dc4","private":false,"scripts":{"lint":"eslint src","test":"vitest --root . --coverage","build":"vite build","clean":"rimraf dist","serve":"vite preview","prepare":"pnpm run clean && pnpm run copy-service-worker && pnpm run build","postinstall":"echo 'WARNING keep sink OidcServiceWorker.js version file'","copy-service-worker":"node ./bin/copy-service-worker-files.mjs dist"},"_npmUser":{"name":"zengande","email":"zengande@outlook.com"},"repository":{"url":"git+https://github.com/AxaFrance/oidc-client.git","type":"git"},"_npmVersion":"10.8.2","description":"OpenID Connect & OAuth authentication using Vue 2 and Vue 3","directories":{},"_nodeVersion":"20.19.6","dependencies":{"vue-demi":"^0.14.10","@axa-fr/oidc-client":"^7.27.3","@axa-fr/oidc-client-service-worker":"^7.27.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.13","vite":"7.3.1","jsdom":"27.4.0","rimraf":"6.1.2","vitest":"4.0.18","typescript":"5.9.3","@types/node":"^22.12.0","vite-plugin-dts":"4.5.4","@vitest/coverage-v8":"4.0.18"},"peerDependencies":{"vue":"^2.7.0 || ^3.3.0","@vue/composition-api":"^1.7.2"},"peerDependenciesMeta":{"@vue/composition-api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/vue-oidc_7.27.3-bate.2_1777258370610_0.48130083644035726","host":"s3://npm-registry-packages-npm-production"}},"7.27.3-bate.3":{"name":"@biutech/vue-oidc","version":"7.27.3-bate.3","keywords":["oidc","OpenID Connect","openid","oauth2","oauth","vue","vue2","vue3"],"license":"MIT","_id":"@biutech/vue-oidc@7.27.3-bate.3","maintainers":[{"name":"zengande","email":"zengande@outlook.com"}],"dist":{"shasum":"36bf52c9f7d568da684d7c014da610504b6984af","tarball":"https://registry.npmjs.org/@biutech/vue-oidc/-/vue-oidc-7.27.3-bate.3.tgz","fileCount":67,"integrity":"sha512-Y9PjYXJPgrW/qHch5pS471bxXFHK6jRHPWVgK4xuqjvN57ZvYDpQtYuTdPPTAGZYCTcw1ualxeQ5O4P2YMEiYw==","signatures":[{"sig":"MEUCIQDI6ThnS/PbhI09+q9q6ZgU0MIn3J8Am47MCHwah83adgIgZyFbqbbhhhoqrQBuobZdWh3kLe0H36gen+c0mnRzxJ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116781},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","gitHead":"b95bdb05e982b34030f5a2db8750c3e0b09102cf","private":false,"scripts":{"lint":"eslint src","test":"vitest --root . --coverage","build":"vite build","clean":"rimraf dist","serve":"vite preview","prepare":"pnpm run clean && pnpm run copy-service-worker && pnpm run build","postinstall":"echo 'WARNING keep sink OidcServiceWorker.js version file'","copy-service-worker":"node ./bin/copy-service-worker-files.mjs dist"},"_npmUser":{"name":"zengande","email":"zengande@outlook.com"},"repository":{"url":"https://c.wqu8.com/biutech/vue-oidc.git","type":"git"},"_npmVersion":"10.8.2","description":"OpenID Connect & OAuth authentication using Vue 2 and Vue 3","directories":{},"_nodeVersion":"20.19.6","dependencies":{"vue-demi":"^0.14.10","@axa-fr/oidc-client":"^7.27.3","@axa-fr/oidc-client-service-worker":"^7.27.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.13","vite":"7.3.1","jsdom":"27.4.0","rimraf":"6.1.2","vitest":"4.0.18","typescript":"5.9.3","@types/node":"^22.12.0","vite-plugin-dts":"4.5.4","@vitest/coverage-v8":"4.0.18"},"peerDependencies":{"vue":"^2.7.0 || ^3.3.0","@vue/composition-api":"^1.7.2"},"peerDependenciesMeta":{"@vue/composition-api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/vue-oidc_7.27.3-bate.3_1777258622672_0.4803360728319044","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-03-30T07:59:01.777Z","modified":"2026-09-02T15:46:41.714Z","1.0.0":"2026-03-30T07:59:02.066Z","1.0.1":"2026-03-30T08:30:11.882Z","1.0.2":"2026-03-30T09:35:39.325Z","1.1.0":"2026-03-31T08:38:25.899Z","2.0.0":"2026-04-01T02:49:03.028Z","2.0.1":"2026-04-01T03:20:20.056Z","2.1.0":"2026-04-01T06:18:54.483Z","7.27.3-bate.1":"2026-04-27T02:50:30.867Z","7.27.3-bate.2":"2026-04-27T02:52:50.725Z","7.27.3-bate.3":"2026-04-27T02:57:02.818Z"},"license":"MIT","keywords":["oidc","OpenID Connect","openid","oauth2","oauth","vue","vue2","vue3"],"repository":{"url":"https://c.wqu8.com/biutech/vue-oidc.git","type":"git"},"description":"OpenID Connect & OAuth authentication using Vue 2 and Vue 3","maintainers":[{"email":"ender@biumoney.com","name":"anderbiu"},{"email":"zengande@outlook.com","name":"zengande"},{"email":"tech@biumoney.com","name":"zambia_biutech"}],"readme":"# @biutech/vue-oidc\r\n\r\n`@biutech/vue-oidc` 是对 [`@axa-fr/oidc-client`](https://www.npmjs.com/package/@axa-fr/oidc-client) 的 Vue 封装，并通过 `vue-demi` 同时兼容 Vue 2 和 Vue 3。\r\n\r\n这个包不会重新实现 OIDC，而是复用现有的协议客户端，并为 Vue 提供以下集成能力：\r\n\r\n- `OidcProvider`\r\n- `OidcSecure`\r\n- `useOidc`\r\n- `useOidcAccessToken`\r\n- `useOidcIdToken`\r\n- `useOidcUser`\r\n- `useOidcFetch`\r\n\r\n## 安装\r\n\r\n```sh\r\nnpm install @biutech/vue-oidc vue-demi\r\n```\r\n\r\n如果你使用 Vue 3：\r\n\r\n```sh\r\nnpm install vue\r\n```\r\n\r\n如果你使用 Vue 2：\r\n\r\n```sh\r\nnpm install vue @vue/composition-api\r\n```\r\n\r\n如果启用了 service worker 模式，需要先把 service worker 文件复制到 public 目录：\r\n\r\n```sh\r\nnode ./node_modules/@biutech/vue-oidc/bin/copy-service-worker-files.mjs public\r\n```\r\n\r\n推荐的 `package.json` 脚本：\r\n\r\n```json\r\n{\r\n  \"scripts\": {\r\n    \"postinstall\": \"node ./node_modules/@biutech/vue-oidc/bin/copy-service-worker-files.mjs public\"\r\n  }\r\n}\r\n```\r\n\r\n## 基础接入\r\n\r\n`OidcProvider` 是根级集成入口。它会创建或复用 OIDC 客户端，处理回调路由，恢复已有会话，并向 Composition API hooks 暴露响应式状态。\r\n\r\n```ts\r\n// src/configuration.ts\r\nimport { TokenAutomaticRenewMode, TokenRenewMode } from '@biutech/vue-oidc';\r\n\r\nexport const configuration = {\r\n  client_id: 'interactive.public.short',\r\n  redirect_uri: `${window.location.origin}/authentication/callback`,\r\n  silent_redirect_uri: `${window.location.origin}/authentication/silent-callback`,\r\n  scope: 'openid profile email api offline_access',\r\n  authority: 'https://demo.duendesoftware.com',\r\n  service_worker_relative_url: '/OidcServiceWorker.js',\r\n  service_worker_only: false,\r\n  refresh_time_before_tokens_expiration_in_second: 40,\r\n  token_renew_mode: TokenRenewMode.access_token_invalid,\r\n  token_automatic_renew_mode: TokenAutomaticRenewMode.AutomaticBeforeTokenExpiration,\r\n};\r\n```\r\n\r\n```ts\r\n// src/main.ts\r\nimport { createApp, defineComponent, h } from 'vue';\r\nimport { RouterView } from 'vue-router';\r\nimport { OidcProvider } from '@biutech/vue-oidc';\r\n\r\nimport { configuration } from './configuration';\r\nimport { router } from './router';\r\n\r\nconst Root = defineComponent({\r\n  setup() {\r\n    return () =>\r\n      h(OidcProvider, { configuration }, {\r\n        default: () => [h(RouterView)],\r\n      });\r\n  },\r\n});\r\n\r\ncreateApp(Root).use(router).mount('#app');\r\n```\r\n\r\n注意事项：\r\n\r\n- `redirect_uri` 和 `silent_redirect_uri` 必须不同。\r\n- Provider 不依赖特定路由实现，它会根据 `window.location` 自动识别回调路由。\r\n- 如果使用 `silent_redirect_uri`，你的身份提供方必须允许在 iframe 中进行 silent authentication。\r\n\r\n## Service Worker 配置\r\n\r\n启用 service worker 模式后，请编辑 `public/OidcTrustedDomains.js`：\r\n\r\n```js\r\nconst trustedDomains = {\r\n  default: {\r\n    oidcDomains: ['https://demo.duendesoftware.com'],\r\n    accessTokenDomains: ['https://api.example.com'],\r\n  },\r\n};\r\n\r\ntrustedDomains.default_show_access_token = {\r\n  oidcDomains: ['https://demo.duendesoftware.com'],\r\n  accessTokenDomains: ['https://api.example.com'],\r\n  showAccessToken: true,\r\n};\r\n```\r\n\r\n`oidcDomains` 应包含你的身份提供方域名。`accessTokenDomains` 应包含所有需要注入 access token 的 API 域名。\r\n\r\n## Composition API\r\n\r\n### `useOidc`\r\n\r\n用于触发登录、登出、续期，并读取响应式认证状态。\r\n\r\n```ts\r\nimport { defineComponent, h } from 'vue';\r\nimport { useOidc } from '@biutech/vue-oidc';\r\n\r\nexport default defineComponent({\r\n  setup() {\r\n    const { login, logout, renewTokens, isAuthenticated } = useOidc();\r\n\r\n    return () =>\r\n      h('div', [\r\n        !isAuthenticated.value &&\r\n          h('button', { onClick: () => login('/profile') }, '登录'),\r\n        isAuthenticated.value &&\r\n          h('button', { onClick: () => logout('/') }, '退出登录'),\r\n        isAuthenticated.value &&\r\n          h('button', { onClick: () => renewTokens() }, '续期 token'),\r\n      ]);\r\n  },\r\n});\r\n```\r\n\r\n### `useOidcUser`\r\n\r\n加载用户信息接口数据，并保持与会话状态同步。\r\n\r\n```ts\r\nimport { defineComponent, h } from 'vue';\r\nimport { OidcUserStatus, useOidcUser } from '@biutech/vue-oidc';\r\n\r\nexport default defineComponent({\r\n  setup() {\r\n    const { oidcUser, oidcUserLoadingState, reloadOidcUser } = useOidcUser();\r\n\r\n    return () => {\r\n      if (oidcUserLoadingState.value === OidcUserStatus.Loading) {\r\n        return h('p', '正在加载用户信息...');\r\n      }\r\n      if (oidcUserLoadingState.value === OidcUserStatus.Unauthenticated) {\r\n        return h('p', '尚未认证');\r\n      }\r\n      return h('div', [\r\n        h('pre', JSON.stringify(oidcUser.value, null, 2)),\r\n        h('button', { onClick: reloadOidcUser }, '重新加载用户信息'),\r\n      ]);\r\n    };\r\n  },\r\n});\r\n```\r\n\r\n### `useOidcAccessToken` 和 `useOidcIdToken`\r\n\r\n```ts\r\nimport { defineComponent, h } from 'vue';\r\nimport { useOidcAccessToken, useOidcIdToken } from '@biutech/vue-oidc';\r\n\r\nexport default defineComponent({\r\n  setup() {\r\n    const { accessToken, accessTokenPayload } = useOidcAccessToken();\r\n    const { idToken, idTokenPayload } = useOidcIdToken();\r\n\r\n    return () =>\r\n      h('pre', JSON.stringify({\r\n        accessToken: accessToken.value,\r\n        accessTokenPayload: accessTokenPayload.value,\r\n        idToken: idToken.value,\r\n        idTokenPayload: idTokenPayload.value,\r\n      }, null, 2));\r\n  },\r\n});\r\n```\r\n\r\n### `useOidcFetch`\r\n\r\n如果你没有完全依赖 service worker，可以使用封装后的 fetch 来发起已认证 API 请求。\r\n\r\n```ts\r\nimport { defineComponent, h, ref } from 'vue';\r\nimport { useOidcFetch } from '@biutech/vue-oidc';\r\n\r\nexport default defineComponent({\r\n  setup() {\r\n    const { fetch } = useOidcFetch();\r\n    const data = ref(null);\r\n\r\n    const load = async () => {\r\n      const response = await fetch('https://demo.duendesoftware.com/connect/userinfo');\r\n      data.value = await response.json();\r\n    };\r\n\r\n    return () =>\r\n      h('div', [\r\n        h('button', { onClick: load }, '加载'),\r\n        data.value && h('pre', JSON.stringify(data.value, null, 2)),\r\n      ]);\r\n  },\r\n});\r\n```\r\n\r\n## 路由保护\r\n\r\n有两种可用模式。\r\n\r\n### 方式 1：`OidcSecure`\r\n\r\n这是最简单的方式。把受保护内容直接渲染在 `OidcSecure` 内部即可。\r\n\r\n```ts\r\nimport { defineComponent, h } from 'vue';\r\nimport { OidcSecure } from '@biutech/vue-oidc';\r\n\r\nexport default defineComponent({\r\n  setup() {\r\n    return () =>\r\n      h(OidcSecure, null, {\r\n        default: () => [h('h1', '受保护页面')],\r\n      });\r\n  },\r\n});\r\n```\r\n\r\n### 方式 2：`vue-router` 守卫\r\n\r\n如果你需要按路由粒度进行保护，可以在注册守卫前先初始化 OIDC 客户端，然后在 Provider 中复用同一个 configuration name。\r\n\r\n```ts\r\n// src/oidc.ts\r\nimport { OidcClient, OidcLocation } from '@biutech/vue-oidc';\r\nimport { configuration } from './configuration';\r\n\r\nconst configurationName = 'default';\r\n\r\nexport const initOidc = () => {\r\n  return OidcClient.getOrCreate(() => fetch, new OidcLocation())(\r\n    configuration,\r\n    configurationName,\r\n  );\r\n};\r\n\r\nexport const getOidc = () => OidcClient.get(configurationName);\r\nexport const oidcConfigurationName = configurationName;\r\n```\r\n\r\n```ts\r\n// src/router.ts\r\nimport { createRouter, createWebHistory } from 'vue-router';\r\nimport { getOidc, initOidc } from './oidc';\r\n\r\ninitOidc();\r\n\r\nconst router = createRouter({\r\n  history: createWebHistory(),\r\n  routes: [\r\n    { path: '/', component: HomePage },\r\n    { path: '/profile', component: ProfilePage, meta: { requiresAuth: true } },\r\n  ],\r\n});\r\n\r\nrouter.beforeEach(async to => {\r\n  if (!to.meta.requiresAuth) {\r\n    return true;\r\n  }\r\n\r\n  const oidc = getOidc();\r\n  await oidc.tryKeepExistingSessionAsync();\r\n\r\n  if (oidc.tokens) {\r\n    return true;\r\n  }\r\n\r\n  await oidc.loginAsync(to.fullPath);\r\n  return false;\r\n});\r\n\r\nexport default router;\r\n```\r\n\r\n这种方式更接近真实项目的组织方式，但要注意初始化顺序。\r\n\r\n## 高级 Provider 参数\r\n\r\n`OidcProvider` 支持与 React 版本相同的常用覆盖点：\r\n\r\n- `configurationName`\r\n- `configuration`\r\n- `callbackSuccessComponent`\r\n- `authenticatingComponent`\r\n- `authenticatingErrorComponent`\r\n- `loadingComponent`\r\n- `sessionLostComponent`\r\n- `serviceWorkerNotSupportedComponent`\r\n- `onEvent`\r\n- `onSessionLost`\r\n- `onLogoutFromAnotherTab`\r\n- `onLogoutFromSameTab`\r\n- `withCustomHistory`\r\n- `getFetch`\r\n- `location`\r\n\r\n示例：\r\n\r\n```ts\r\nh(OidcProvider, {\r\n  configuration,\r\n  onEvent: (configurationName, eventName, data) => {\r\n    console.log(`oidc:${configurationName}:${eventName}`, data);\r\n  },\r\n  onSessionLost: () => {\r\n    console.warn('OIDC 会话已丢失');\r\n  },\r\n});\r\n```\r\n\r\n## 示例\r\n\r\n仓库包含一个 Vue 示例：\r\n\r\n- `examples/vue-oidc-demo`\r\n\r\n本地运行：\r\n\r\n```sh\r\npnpm install\r\npnpm --filter vue-oidc-demo start\r\n```\r\n\r\n示例使用了：\r\n\r\n- `vue-router`\r\n- `OidcProvider`\r\n- `meta.requiresAuth` + `beforeEach`\r\n- `useOidc`\r\n- `useOidcUser`\r\n- `useOidcFetch`\r\n\r\n## 说明\r\n\r\n- `@biutech/vue-oidc` 目前是建立在 `@axa-fr/oidc-client` 之上的 Vue 绑定层。\r\n- 如果启用了 service worker 模式，请确保 `OidcServiceWorker.js` 与包版本保持同步。\r\n- 会话恢复在 `tryKeepExistingSessionAsync()` 完成后，会同时更新 `isAuthenticated` 和 `useOidcUser()` 的状态。\r\n","readmeFilename":"README.zh-CN.md"}