{"_id":"@sftech/nestjs-auth","_rev":"44-dd0cfb30dc6f4f5309ddce5f9e5e059a","name":"@sftech/nestjs-auth","dist-tags":{"latest":"2.0.0"},"versions":{"0.0.1":{"name":"@sftech/nestjs-auth","version":"0.0.1","_id":"@sftech/nestjs-auth@0.0.1","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"6721b4909065c3c5bcbd41070b49cfa5716f334b","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.0.1.tgz","fileCount":35,"integrity":"sha512-P4dNBXGwDVuZZnVTsfCc+6mYL5fLs6EQ2iC113EPeSHVuvTgVl7Jy7FN8G7Alt6GXUcvz/1cGgIRqGzZQ6RJJg==","signatures":[{"sig":"MEQCIHk8rAwM9LSHWXQfnK8XqesCI4iSWrVGjI3M7keRaYxAAiAexrm5HdPEY5LVQ2cDdvSCYJbGv3YCa7LPWaXTfb5QUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19907},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"95f5583043900fb2d9d3045a00347f765b859ec6","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@sftech/nestjs-core":">=0.0.20"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.0.1_1756286421336_0.5411673172618265","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@sftech/nestjs-auth","version":"0.0.2","_id":"@sftech/nestjs-auth@0.0.2","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"d20f5444044782a5dfc46e1e44dc05269758cd6d","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.0.2.tgz","fileCount":35,"integrity":"sha512-PZ/YwPvhzTpzEvzim2kyq48yRBFgeCJGKum90cIKRIB58ScIL8I9HOt73rFGdYWvNTx2S/hpgpYlquy7LV6OQA==","signatures":[{"sig":"MEUCIC3SqqmP18OvCQ0h5XDgwBy2XgerpG7LV9Ky71kb92GQAiEA47Brih8lD5i2GDrbnyMm+HH/gsvSAADKdQbZkCq0rrQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24496},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"95f5583043900fb2d9d3045a00347f765b859ec6","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@sftech/nestjs-core":">=0.0.20"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.0.2_1756304183063_0.20770551741841836","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@sftech/nestjs-auth","version":"0.0.3","_id":"@sftech/nestjs-auth@0.0.3","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"ffcd6a2f7bcc4081014c6f0814ededd164fe9c10","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.0.3.tgz","fileCount":35,"integrity":"sha512-OcfFHOufFqksANp+napAZn91Mdla3Dm+Aijph6UziVLgskpPEISoB3CX4QWud96OktoDD9mAQqfAl6p6Uo4AJg==","signatures":[{"sig":"MEYCIQCMAwpL/NE7RC+WbT/4NK8QmT053n5eWZC+j7zBw/jBhgIhAJTN3sPENEP1NgQ6oCe9nI4e+QaVRt5gmXpN90a8YC3Q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24528},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"95f5583043900fb2d9d3045a00347f765b859ec6","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.21"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.0.3_1756304611260_0.8051227831601662","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@sftech/nestjs-auth","version":"0.0.4","_id":"@sftech/nestjs-auth@0.0.4","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"664ff71116213ece2e3e27f03434f64d2b9c8d1d","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.0.4.tgz","fileCount":35,"integrity":"sha512-6Krq+LJErpWGuJkvF+UmkzzyScwu5LIL/GpTZsMsukbtp1fonXkyJI2MOHM/zQJpdsVZ/bFOjQIiZBFjMVIltw==","signatures":[{"sig":"MEQCIEGeky+DazbtchwigZE9dvVDkRckZv5IiqvLTg1QfuflAiAiix/qCzhX7yQUOD2TQ+sBr+PHfD5iQ/+DReED0kM5uA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24622},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"5fc90f0e572aa939b364735448c2bc5262a04d10","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.21"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.0.4_1756310642052_0.2720599892697051","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@sftech/nestjs-auth","version":"0.0.5","_id":"@sftech/nestjs-auth@0.0.5","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"15b1196aeff1bdb38a8d5edcc73d687ba9608028","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.0.5.tgz","fileCount":38,"integrity":"sha512-G8yIxZTiw28VJVGD9ztudswsJ5MG6N1udZ4Ekj00df2xhD047pohncsNmp/nuUZ5He0Dq4+caFDYYeEsBJBm0w==","signatures":[{"sig":"MEUCIQDOIvoLFKWlH4ZF+9SmhmCFw/qrlAjlEHA8Eh0dhqxWrgIgZAbdxTk4xSnD4WHVl4flMYexqJfZfxc5mDxxGSnDYew=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29422},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"5fc90f0e572aa939b364735448c2bc5262a04d10","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.21"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.0.5_1756374756788_0.46322498489799524","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@sftech/nestjs-auth","version":"0.0.6","_id":"@sftech/nestjs-auth@0.0.6","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"c452cdfae3eaa22e77a032f30e164aed45411b00","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.0.6.tgz","fileCount":38,"integrity":"sha512-X+RF5QAlk7Oh9pf/hN6hmM5MmPc6DCK6hU1DE+n8oEVFoh94AfSddIhXWiIlYQrmvGGyMSzxME/1RpDdPGxAkA==","signatures":[{"sig":"MEQCIBsX0cZyyL/+2/LerpU7coWbT5mCTHDZIDSfJbkTBSHzAiAEGIlWYY4wwKPLv6ZjEa8FZStanLJolTvO1/FbidfPdg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29422},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"680dfd14c9910d2a4492ee1803616e3c6235159d","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.21"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.0.6_1756376040083_0.8547579001839005","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@sftech/nestjs-auth","version":"0.0.7","_id":"@sftech/nestjs-auth@0.0.7","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"d57a2643334b15bc8a39a707286b51f0aeecf031","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.0.7.tgz","fileCount":110,"integrity":"sha512-zNgbt5Mz1ryLvojFybnag2Ah1TAAQzq14w5kIV5NMEMIszvHhkdtHdFTvRaOxgMXL7qgAxwBxsnXQOY+TiZyuQ==","signatures":[{"sig":"MEQCIEOEFRZZgJBCKVKrXtP++CLqoQLtqr1tkqZAeACvP+CaAiAUhmlviuQ7FdllCTgkcq6aC6TOWAGKt2DZAqzMbCfvsA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69033},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"680dfd14c9910d2a4492ee1803616e3c6235159d","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0","@casl/ability":"^6.7.3"},"_hasShrinkwrap":false,"peerDependencies":{"@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.21"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.0.7_1756923730912_0.3045262000385325","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@sftech/nestjs-auth","version":"0.0.8","_id":"@sftech/nestjs-auth@0.0.8","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"1cce080f3a47a70d85c50012a1bdf6ae476f0c8a","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.0.8.tgz","fileCount":110,"integrity":"sha512-dnf+FT/DjCEjfnydg0B4EFKCgo4mfTzZU6VqMYV6XzDUkrQgfHvC1YSIxMc+WgOF/hgLX3ZheDFnC2uICcESCg==","signatures":[{"sig":"MEUCIQCAniMFswH5Hn4Av97lVdR8hcHmxYt8B+n13vP54ejRcgIgHpCknK4cvLYOwp4N0GTZOSjC29RwyzqROgd46aFeKIY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69033},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"680dfd14c9910d2a4492ee1803616e3c6235159d","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.21"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.0.8_1756923894266_0.7221121072260483","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@sftech/nestjs-auth","version":"0.0.9","_id":"@sftech/nestjs-auth@0.0.9","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"a08d6191c2ef9ed6eee6b80103a5d5079bce74be","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.0.9.tgz","fileCount":110,"integrity":"sha512-jwjs/WoYDUMYPei9As1Tk1KQFHXxL8BpQc6qRdTOUXNs3nhllGcclKqAUGAg2FfENGgyySUQ5FvkFdriN/l3yw==","signatures":[{"sig":"MEUCIQCN0j3WepfNyEDr1qYeX8byKMti6vbHxyeYv18D2XyevAIgf1XZ0YhBT2immbMj4HKU9/tK8IYgWZ1ITDlCvBoCZ6I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70635},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"680dfd14c9910d2a4492ee1803616e3c6235159d","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.21"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.0.9_1756924190250_0.35761989383234694","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@sftech/nestjs-auth","version":"0.0.10","_id":"@sftech/nestjs-auth@0.0.10","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"0095af6c98a197b08b09535e5ad83fbd74a0faaa","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.0.10.tgz","fileCount":110,"integrity":"sha512-dxZb9W2c81KtVOeCmppZzBjJanob/VNLTMuwx8kCPY45rbfw2652vVUEXlhtTqk2JTRnJ3mUfsWIj0etv6QiuA==","signatures":[{"sig":"MEYCIQDNDIR8s+ASyBjWUYI42/qoSV8NiBNV58tPHA1sZC8qngIhAMZ2Ys//7hujlGMUv6ZkgsR7PKBdB/Zi3cy36vz8A79A","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70637},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"680dfd14c9910d2a4492ee1803616e3c6235159d","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.21"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.0.10_1756927299777_0.1618132214114265","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"@sftech/nestjs-auth","version":"0.0.11","_id":"@sftech/nestjs-auth@0.0.11","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"766fbc99527ed5d79ce7f31fe3d177f424752c28","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.0.11.tgz","fileCount":110,"integrity":"sha512-PgN0F4apO0FvzNofvsE9Qf9SkldVheGQ+/V9+PChIc8LWu0uYDBT3FYwVC+aZnqt733k3+WD3NKGsi3eCxY8tw==","signatures":[{"sig":"MEUCIQCaWhmOt+AZp/vzU0LMpLJGxbcmM345lWqSLJr3opKNKQIgX5h6McpcnV40Hu/7xNkrDkNS5Li9mYNiQWV3/qVhM7U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71104},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"680dfd14c9910d2a4492ee1803616e3c6235159d","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.21"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.0.11_1758095024580_0.5501659565359265","host":"s3://npm-registry-packages-npm-production"}},"0.0.12":{"name":"@sftech/nestjs-auth","version":"0.0.12","_id":"@sftech/nestjs-auth@0.0.12","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"39151923a6b985932b4197538995c82a73860e33","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.0.12.tgz","fileCount":110,"integrity":"sha512-haoGIvzDwClbG0M7sajxPBf57pHPVhvKnN38kSpT7675zp53IGPv0OQwCxGNJsHzio68t2l9Krz8iTbJhfRfGg==","signatures":[{"sig":"MEUCIHn94i7c0bPeRe/KxsFWB9iZq6Ygfwi+brHoXj2ric+iAiEAl2lftsm2j6gBqUdhezxUj9DJA62G2EHnyjmiu1qx9Is=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71135},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"680dfd14c9910d2a4492ee1803616e3c6235159d","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"jsonwebtoken":">=9.0.2","@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.21"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.0.12_1758095115508_0.05191674400116186","host":"s3://npm-registry-packages-npm-production"}},"0.0.13":{"name":"@sftech/nestjs-auth","version":"0.0.13","_id":"@sftech/nestjs-auth@0.0.13","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"9834e836c02ae1e323fae41a4c0dbbc1ea230851","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.0.13.tgz","fileCount":110,"integrity":"sha512-s/wp0mLnaGuxLK2CnTeP+kwufyRB1vgmnfXMTsn+A/LzwckKF+ib9ouyq73qx6OfM1g4h0oqziAL9U1jF08Gkg==","signatures":[{"sig":"MEUCICAQSH+t/uMhCLU7n/IAo0buonuuLgVqpcg/SMhuh3NVAiEAjnLoQ1U55qhE79mvfhklhStMo+yPLK16KgiUniRwVm8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72365},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"680dfd14c9910d2a4492ee1803616e3c6235159d","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"jwks-rsa":"^3.2.0","jsonwebtoken":"^9.0.2","@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.21"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.0.13_1758118548278_0.4890552648189659","host":"s3://npm-registry-packages-npm-production"}},"0.0.14":{"name":"@sftech/nestjs-auth","version":"0.0.14","_id":"@sftech/nestjs-auth@0.0.14","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"bcb5c2c754f6741a10a8c035b7ccbd856bf8024d","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.0.14.tgz","fileCount":110,"integrity":"sha512-fS0y6Oxe+Cp4C9b5Duv9z9INWfU6E2YRioMfRvZHGjbvgHviiuY7QWMpKxC/3Xag30n/Y3PNZuanflb/np/R/A==","signatures":[{"sig":"MEUCIFOZdxjjWGtww2nomRt7PCmQYbCOfbzEh2UhLl31Hu07AiEAi4P7uTJXwbox2h4Psok+v6yDjEVOqAFdWt+f9rnkq+8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71920},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"680dfd14c9910d2a4492ee1803616e3c6235159d","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"jwks-rsa":"^3.2.0","jsonwebtoken":"^9.0.2","@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.21"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.0.14_1758118868027_0.21186484128730454","host":"s3://npm-registry-packages-npm-production"}},"0.0.15":{"name":"@sftech/nestjs-auth","version":"0.0.15","_id":"@sftech/nestjs-auth@0.0.15","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"111445458bd295ea20a8d3a315b6e2dd1a6daf63","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.0.15.tgz","fileCount":110,"integrity":"sha512-D+6HjvcupPaEJb93yhFjh/ZZ9isNLrdE/U7JZm4KskazjQ6xx8L1nYhj2Aygoe95IlJOGqvC5SJQexDAalw5mg==","signatures":[{"sig":"MEUCIQCtltPa6B/ZloMCITITPjpl2hrfjOQaupwa91md6nTbTgIgBaQ5QwqGBPcuzFkp9KTRC5vf7n1t2udd+FAPp8sYrXY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71835},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"680dfd14c9910d2a4492ee1803616e3c6235159d","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"jwks-rsa":"^3.2.0","jsonwebtoken":"^9.0.2","@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.21"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.0.15_1758119524455_0.9945562328207598","host":"s3://npm-registry-packages-npm-production"}},"0.0.16":{"name":"@sftech/nestjs-auth","version":"0.0.16","_id":"@sftech/nestjs-auth@0.0.16","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"02b2d892f099ba36937038ecdc702f4195b51d2e","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.0.16.tgz","fileCount":110,"integrity":"sha512-WMhz+QhUB61Chd/wiXXL2kXLXIOVLyuk/UCX6GoRoV7qS44E59R9iY/WRBXnoxX6xq0HvwQMwwucMtRdD1G+qA==","signatures":[{"sig":"MEUCID8rNow1/4gHcgxuIR10PPcjO5cL6eH9FG5K3BYsEsX5AiEA8tEdC7qfPRBHONMj/c+L/EmPsm/j0wRrj+2rIqFsO7A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71954},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"680dfd14c9910d2a4492ee1803616e3c6235159d","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"jwks-rsa":"^3.2.0","jsonwebtoken":"^9.0.2","@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.21"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.0.16_1758119690345_0.2649298989918647","host":"s3://npm-registry-packages-npm-production"}},"0.0.17":{"name":"@sftech/nestjs-auth","version":"0.0.17","_id":"@sftech/nestjs-auth@0.0.17","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"8f9a8a480d3f9d2514fc8fdf44c58698ca8d2bbf","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.0.17.tgz","fileCount":110,"integrity":"sha512-jLgKgUmyvmXbKLrI3qQEp/h8l8u+ufnHwGhZCIxeQ9tbhVLu7jamUfdARSkV4gTykCVpkuIZ8n5v4BNJ67rrvg==","signatures":[{"sig":"MEUCIQDjHYxeOkfRz9ukNr2/alHBGmsrdMCanFUZ8HGQ/s2PtgIgO9Jk6+2IzPTaflY7ZXIlNS8h6m4xNKVoA4tel78a2Po=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71973},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"680dfd14c9910d2a4492ee1803616e3c6235159d","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"jwks-rsa":"^3.2.0","jsonwebtoken":"^9.0.2","@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.21"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.0.17_1758120301499_0.5240121825618793","host":"s3://npm-registry-packages-npm-production"}},"0.0.18":{"name":"@sftech/nestjs-auth","version":"0.0.18","_id":"@sftech/nestjs-auth@0.0.18","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"ffa85e4e84b212ebb6b9ecd324c8dca58fd8d8fc","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.0.18.tgz","fileCount":110,"integrity":"sha512-5trWtuf3Md6wTgwlqP8BzCJQJjJPUarmS1QRnfkROlj/gRQaGfnve+ybXMRpA8SNLagpeS9sLNJ11THXS7BQMw==","signatures":[{"sig":"MEYCIQCnwii1VWxxmPTbQmiq54qXW+mD1JkbGs02xWtkIDF8BwIhAMbk3DosUfGMUN29M44STsF7eYnHyCNAjXJlnOBx4rb1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72088},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"3edff395743b3c125e8fbf69d5569188ab3e1d17","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"jwks-rsa":"^3.2.0","jsonwebtoken":"^9.0.2","@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.25"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.0.18_1766063213914_0.2794068205424687","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"@sftech/nestjs-auth","version":"0.1.18","_id":"@sftech/nestjs-auth@0.1.18","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"17434d396044a29fc19cc88d3b7c7036d44c9b41","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.1.18.tgz","fileCount":117,"integrity":"sha512-AXE6Lih7MIuBY6Hp6C+4JD5OOnsSbn251KZl4ycDGbNhYNZh+19neHbNyTC73tvTBcighCh6FVdVcMYfZS2u0A==","signatures":[{"sig":"MEYCIQDVTANOuoRshSxoi17pFm2yojHRuCIaGv6TE7NioMSefQIhAOHrlD3lzRSR0xOQ4KW+x1f25Qj+GXAD5kw/z+R5P+bi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107598},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"52f3f9039393f375331fdc8cae39fbd799d1137a","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.25"},"peerDependenciesMeta":{"jwks-rsa":{"optional":true},"jsonwebtoken":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.1.18_1767807012127_0.26108949332960285","host":"s3://npm-registry-packages-npm-production"}},"0.1.19":{"name":"@sftech/nestjs-auth","version":"0.1.19","_id":"@sftech/nestjs-auth@0.1.19","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"0994b5299b573302e56363604bf282ac9213de47","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.1.19.tgz","fileCount":117,"integrity":"sha512-W12ttgvQfJLdc9Rz+ekthqoEz5frZu3F/6UUFp99fxsrIh7fljJ1PW5dOglfrm50uOmse/+P0oWLUPtjjcEbUQ==","signatures":[{"sig":"MEQCIFo+pbBUOABu5+qFX57EReVXPuLEfP0ZUhGZF6mYdX/GAiB5Srf1S7X1yp+epI0sUIKZ2dX8XuYYuHlH4miDqpbXcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106781},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"ddc95f08c20a98b32ba9103c797df32662275035","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.25"},"peerDependenciesMeta":{"jwks-rsa":{"optional":true},"jsonwebtoken":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.1.19_1767808905637_0.0969003245618747","host":"s3://npm-registry-packages-npm-production"}},"0.1.20":{"name":"@sftech/nestjs-auth","version":"0.1.20","_id":"@sftech/nestjs-auth@0.1.20","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"168504490760a47473eb825ea24d225672d1804c","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.1.20.tgz","fileCount":117,"integrity":"sha512-dSEtrQuNQeWUcQLdDKgC2FB2LLJ8tdxc+Eydq2fd1kVFA+zAke9rkgIDke2Fn06Qti/baiTzISJR75K1BPIcZw==","signatures":[{"sig":"MEUCIEYFj66jZ3kWSCnlYSgfWrndlXgZQOHvYIAwtfDUZkhvAiEAu0Zjm81bRiL5mkp2rLb6dq5NouLXXH71PcfNzHI5WSM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108807},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"ec3b0f2bff25b7d4e7fe45abc749c87405bc5762","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.25"},"peerDependenciesMeta":{"jwks-rsa":{"optional":true},"jsonwebtoken":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.1.20_1767857943966_0.46056690523642363","host":"s3://npm-registry-packages-npm-production"}},"0.1.21":{"name":"@sftech/nestjs-auth","version":"0.1.21","_id":"@sftech/nestjs-auth@0.1.21","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"3c145a3b2938ea80e815868d0dee8d677252d06c","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.1.21.tgz","fileCount":117,"integrity":"sha512-6zx17DzLtsVf1YqqkimYx25A2cI2GpUo7UDv+NqZ4W3ki1/J5aIemZLeyMdzUjZ9VNOgBYzlRYFl6hnvaPMIGQ==","signatures":[{"sig":"MEUCIBEoJyEAxOzS6YLsGHBbHzb7R8PIHhx8lwxFc2WO6jk8AiEAna5BPEs0AY0PiZLmSY+rIjp9YtnNIgrc1i/tb0a1mH8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108870},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"00c710de93f340a10f8442334a35d727d41a8997","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.25"},"peerDependenciesMeta":{"jwks-rsa":{"optional":true},"jsonwebtoken":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.1.21_1767874335644_0.48825371113804783","host":"s3://npm-registry-packages-npm-production"}},"0.1.22":{"name":"@sftech/nestjs-auth","version":"0.1.22","_id":"@sftech/nestjs-auth@0.1.22","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"4cebc56283776283b2b0ce02d1be1bf3db338530","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.1.22.tgz","fileCount":117,"integrity":"sha512-UxStf1buVbROtIc1Bh3nQnXA/13S0vugv45pxL5AYpXdILu/yItBxLrbVWXt+oBOx3FWH2gTlKyn06arbCMOfQ==","signatures":[{"sig":"MEQCIEH9i/zgb5y0L9aIWIovNB8x79rHN4TXj+wqtFghJkAYAiBqSABZ/xvilvkI7dJfzheug4MraWt2MHWrN8s0pZJcvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108870},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"cd934d9e33e25342b4fef5e1e6dd209e107fb7e5","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.25"},"peerDependenciesMeta":{"jwks-rsa":{"optional":true},"jsonwebtoken":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.1.22_1767960532334_0.17602468085964085","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@sftech/nestjs-auth","version":"0.2.0","_id":"@sftech/nestjs-auth@0.2.0","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"b7f6c8a640a99472fc732ea14e758b7ec11aaf7b","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.2.0.tgz","fileCount":135,"integrity":"sha512-WXgTH3NxHpa/uJowFUQdzTHwaGqngikfmCfDyw5xSPdGTZMPS3fvZBv69AmDzcIAIGK/1prg5YGZb7YdIY4+Ew==","signatures":[{"sig":"MEQCIH9XZLiSzV7+uVUDX9aUqy/MIwwvItVLjUXnQ6l36IsuAiAYJzKkZcnOtbHKJunPsQApbbot5fmg2JRokfBRW7KYpA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":145166},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"5fc05a3018dcc57591d24a236322020d61463b18","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.25"},"peerDependenciesMeta":{"jwks-rsa":{"optional":true},"jsonwebtoken":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.2.0_1768498270370_0.4282888029698495","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@sftech/nestjs-auth","version":"0.2.1","_id":"@sftech/nestjs-auth@0.2.1","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"bc9c976639a17d17ed13aa52ab8d8a0c8ca614d9","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.2.1.tgz","fileCount":135,"integrity":"sha512-JcJNlVkP3dwXgs+9n/wcJgVKpYw8f+tLORe84KsDQZhNKA7ee958uZu98c4o9pkNNDeUyrfVEsEA9cd8aKjPyQ==","signatures":[{"sig":"MEQCICKs2fFG+7ONZsckHuVcIMZCuByVH8KaXiILqJ6A4lXmAiBioXdgPUKyotrwyG73kAzCKGMnpWGwYm4l2JPpEz654g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":151607},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"5fc05a3018dcc57591d24a236322020d61463b18","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.25"},"peerDependenciesMeta":{"jwks-rsa":{"optional":true},"jsonwebtoken":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.2.1_1768546665058_0.3395180069188395","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@sftech/nestjs-auth","version":"0.2.2","_id":"@sftech/nestjs-auth@0.2.2","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"5d324dd7d76eeaa02edb8bb7943194092f753ae0","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.2.2.tgz","fileCount":126,"integrity":"sha512-APDOPCs3lfiYPMvAMMe5wCHrEaHBy4FqUuCve+j03vkrqJMhnRPSouxJiYDaMVYAc9ifXsx8go3z4cEOw+p6vQ==","signatures":[{"sig":"MEUCIBe18Dk+rjDaA0Zh6Tw6f9r1A+WvlNab4xBSGTLyFF6fAiEAtD0hGAJgCmsg7qr6Fdb3LT0m+c8hGtLehA9AATBwcrg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":130419},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"5fc05a3018dcc57591d24a236322020d61463b18","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.25"},"peerDependenciesMeta":{"jwks-rsa":{"optional":true},"jsonwebtoken":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.2.2_1768547832032_0.566453471803896","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@sftech/nestjs-auth","version":"0.2.3","_id":"@sftech/nestjs-auth@0.2.3","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"16320499dfbda1e6a615af21bea044147f48a2d8","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.2.3.tgz","fileCount":135,"integrity":"sha512-mv9z3yIYSiad0XiTlbVUkaeyeFzTsGMtxR0lEVmaSky0WV88Sf0mxojAdv9YlzEY6XIEJagJN6rLvM3dMHJeag==","signatures":[{"sig":"MEUCIQD0YPYLFUFzVt+/g9tU3bIS3TVHGow0k3Med8wS+n3MFwIgfGLeFIYTjiXkQLg1pXGlYfxoDJM/lLjj0ZH7q4J/Ymo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":150922},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"d1eb6f82e902b811e565a26701796fd29642636b","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.25"},"peerDependenciesMeta":{"jwks-rsa":{"optional":true},"jsonwebtoken":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.2.3_1769075807794_0.2827928502793897","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@sftech/nestjs-auth","version":"0.2.4","_id":"@sftech/nestjs-auth@0.2.4","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"16fd946d3b9ffff05a280001988da3c14ec516a9","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.2.4.tgz","fileCount":135,"integrity":"sha512-ssyXXi1o30SlaoA+yYk5Jtkx9IMsHWdhVnbZkCWbg7qKoE0xvvPx8S99Cbh4rHzhj6m8Zx2cE1AhbOpZnufsiA==","signatures":[{"sig":"MEYCIQCTh7iw2HB0YSGdHITwdrtfQ/0Lv9nKlbRTBz4xFpvprgIhANK+PgKUcutO44tLj+InkXinBEU9IWt8OLObqsRkcsO+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":151113},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"d1eb6f82e902b811e565a26701796fd29642636b","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.25"},"peerDependenciesMeta":{"jwks-rsa":{"optional":true},"jsonwebtoken":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.2.4_1769076102305_0.27017565222033624","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@sftech/nestjs-auth","version":"0.2.5","_id":"@sftech/nestjs-auth@0.2.5","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"0ffb9d31d79c2867f1198cf2b59785ac0db93a51","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.2.5.tgz","fileCount":135,"integrity":"sha512-cdAHYvN1+a+2e1SYx9iPB+RjFBr/xiL6Gt89wDQSs+4rMt3+8WewCGn0Jbr84XbOBSZotmgsAZqO1csjUStSsw==","signatures":[{"sig":"MEUCIQDST5LbS6l2ERDcjM5mpg3RHpTplDimRPDH7Eq6GHyKLwIgLtP5t1bey18qhuq6MUkMf8m9L+up6AdfhwvJko+2PdE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149786},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"d1eb6f82e902b811e565a26701796fd29642636b","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.25"},"peerDependenciesMeta":{"jwks-rsa":{"optional":true},"jsonwebtoken":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.2.5_1769078979280_0.4727108491175136","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@sftech/nestjs-auth","version":"0.3.0","_id":"@sftech/nestjs-auth@0.3.0","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"54d4fbb70adb3c7bbe7052445d9e692760d23aaf","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.3.0.tgz","fileCount":126,"integrity":"sha512-P+aJb7OETIraBVTRCl4hTD2iTteGjEAV6fKL9ZbmMInsWiSvLYb1tnCgQ1g/ifl2p7jAh+5OfX28q5eek1MWnA==","signatures":[{"sig":"MEYCIQDhMc7qhVEePm3GZNYXSBnh0+Yik8g2cyXDyhbsVEtzqQIhAPR/pS/fZlg+oBLF2AgHZSBcK76RW9evrqLsXYxPTQ/W","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":130419},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"ceab63db2f2ed20826d1147b52382c41aa13fe87","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.25"},"peerDependenciesMeta":{"jwks-rsa":{"optional":true},"jsonwebtoken":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.3.0_1769079796314_0.501136747572833","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@sftech/nestjs-auth","version":"0.3.1","_id":"@sftech/nestjs-auth@0.3.1","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"178bedcc5ea9f70fd2743fcf3378d1ad1df36501","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-0.3.1.tgz","fileCount":126,"integrity":"sha512-QPPgEA0EFduPRLzHFKxYu3raCYgjYQiy7xsjSxXVeDhXw1xTxEHznTa+DQ8Fce3Y1j0mEV35z1587pp+MlHoPg==","signatures":[{"sig":"MEQCIAmxcKJBs7+EQg7rLXUUa6TkaGMOVbCtEFmdM8m2+awLAiBJZA0J6sDjejzQdntT3+Hlxl3VLmpj4r2Ecmb9txuqaA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":130120},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"4bdb7e7368178f7f06c6f5029993df4d22cd9895","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@sftech/nestjs-core":">=0.0.25"},"peerDependenciesMeta":{"jwks-rsa":{"optional":true},"jsonwebtoken":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_0.3.1_1769085881514_0.09552864748630019","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@sftech/nestjs-auth","version":"1.0.0","_id":"@sftech/nestjs-auth@1.0.0","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"7379d30ebb0643fa94e88a4dd2db599d77a11206","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-1.0.0.tgz","fileCount":126,"integrity":"sha512-uDWbvWoiJj/s6qpU2Q7LDWOwKoV0+ilyoDxkrLZvARbp99QBsyKhjrjYqhVsoqCp/34UipuQihQwMc+qVeetDA==","signatures":[{"sig":"MEUCIGoNdf3FvWx72hiTrJ2y3sGRxoDuXy71f2hXN5q6SQh4AiEA2/BHhHrS4R3VN0D4xTq1VCzp3xIIW/hdTB3eVtrfPKQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":130205},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"128a9467142d84372b8501caa005d88fa8f83457","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@nestjs/core":"^10.0.0 || ^11.0.0","@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@nestjs/common":"^10.0.0 || ^11.0.0","@sftech/nestjs-core":">=1.0.0"},"peerDependenciesMeta":{"jwks-rsa":{"optional":true},"jsonwebtoken":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_1.0.0_1770069628777_0.461679783199449","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@sftech/nestjs-auth","version":"1.0.1","_id":"@sftech/nestjs-auth@1.0.1","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"60250657a69957465ec1c46d0df4b9ba2a8fc2a2","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-1.0.1.tgz","fileCount":126,"integrity":"sha512-y3yRR6MXqHuwTXP3RnuqNEMVVngK0Rcj4WMWJcccMVyZ//gSDfO0rDJDCicR4RsKDt/1G9CAGNjB2emAsY83Pw==","signatures":[{"sig":"MEYCIQDevNJvXjVQgWKEU+21GtKMEG8+WxnrqGaU1eYbCqOHbgIhANx0Wfj/A4+KHbYVtIrr2zAoCmTBNHFgQWsIKcRqp1fQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":130262},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"128a9467142d84372b8501caa005d88fa8f83457","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@nestjs/core":"^10.0.0 || ^11.0.0","@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@nestjs/common":"^10.0.0 || ^11.0.0","@sftech/nestjs-core":">=1.0.0"},"peerDependenciesMeta":{"jwks-rsa":{"optional":true},"jsonwebtoken":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_1.0.1_1770367595501_0.3141365992339247","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@sftech/nestjs-auth","version":"1.0.2","_id":"@sftech/nestjs-auth@1.0.2","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"dcf4709c301d27d9a4b5236e3b272add681f0493","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-1.0.2.tgz","fileCount":126,"integrity":"sha512-z8A7vY+hBdccC67OKb1ISDPLeTAKMUpJGjMfrwhVBhJzM+ddwNOhlztPGeXMMF1F7BXUFxfeE8j3stZl2Jym4w==","signatures":[{"sig":"MEQCIES79pvwBsZuv51TeNjhGSF6i6bgwSNAc2OBAntRJUIqAiAGbYpkKYwBzE5QFfi+iE+02iNYv6m5+Z0Y/Ip+aKDKow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":130262},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"79bc528a59aceb16e71ea7827a72089cdbaa46b8","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@nestjs/core":"^10.0.0 || ^11.0.0","@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@nestjs/common":"^10.0.0 || ^11.0.0","@sftech/nestjs-core":">=1.0.1"},"peerDependenciesMeta":{"jwks-rsa":{"optional":true},"jsonwebtoken":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_1.0.2_1770371693801_0.4180708286901731","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@sftech/nestjs-auth","version":"1.1.0","_id":"@sftech/nestjs-auth@1.1.0","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"4f40c97243477b44707c4b6930299933b488ce32","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-1.1.0.tgz","fileCount":132,"integrity":"sha512-McVT1RJ6FMYujOlcJ+AqHGxMvMKJqrIUxrFcXV9G9rfQn9gcSRbiyo5mkvfPz749yQ0X0q+ltMr2G6mSxoPzHQ==","signatures":[{"sig":"MEUCIQDiwnNO9dIfREBbkEKE1ity3vbBO0zcNKN7/tfvFaTmDgIgV+QJY/N9LlFDT+SA6vD+WuwmmCnkcztwitQc1W/EmW4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":144872},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"a2635723146c73cbc834b7e0a3190642c92483cd","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@nestjs/core":"^10.0.0 || ^11.0.0","@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@nestjs/common":"^10.0.0 || ^11.0.0","@sftech/nestjs-core":">=1.0.1"},"peerDependenciesMeta":{"firebase-admin":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_1.1.0_1771587294794_0.34448571421207785","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@sftech/nestjs-auth","version":"1.1.1","_id":"@sftech/nestjs-auth@1.1.1","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"bf4061fbeaf64f0969e38fac6930b28b0c1d86a6","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-1.1.1.tgz","fileCount":132,"integrity":"sha512-qO/rDe+sTlYSrijE+wzJUVyABLZF9ZemF8OCV012uJEm80uF10GuvNZVRdB4tM6eD5qFNi7G1X8VLMZqvcpkWA==","signatures":[{"sig":"MEUCIQClhgv2vmZNcIwtp0LW5yhFLOy/BUJhMpF4oUtIwEW6YAIgMiDdPq/mHJhxxgWyLey4XfvAhlBJzneT4cjhzZCzzf4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":144872},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"6adfe56fcf8ca3d8e8330818a0d820179839b722","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@nestjs/core":"^10.0.0 || ^11.0.0","@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@nestjs/common":"^10.0.0 || ^11.0.0","@sftech/nestjs-core":">=1.0.1"},"peerDependenciesMeta":{"firebase-admin":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_1.1.1_1771926383240_0.613208641698372","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@sftech/nestjs-auth","version":"1.2.0","_id":"@sftech/nestjs-auth@1.2.0","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"11932cf6a8a8f02bdad9d1d413699956fcd0dd5c","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-1.2.0.tgz","fileCount":135,"integrity":"sha512-MabnwsBvsNH6ZbP8b2CQvO9zRIIhLqvTcdwxaXB/THSsBCcCY++HSh5EkLWxQKaT3KiS27q3s54PpyvmSSyzxw==","signatures":[{"sig":"MEYCIQCqGqlQ69iWYRINNcLoCkmsnB6zrcC4+olyqWaOtyl4nAIhAOxw8/OE9ObTzYMhaQBA6zkmdaVJksIhWbKoF8BM5qlb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":158957},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"ee1942a073fe1d040d61a02955311c545a4eba64","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@nestjs/core":"^10.0.0 || ^11.0.0","@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@nestjs/common":"^10.0.0 || ^11.0.0","@sftech/nestjs-core":">=1.0.1"},"peerDependenciesMeta":{"firebase-admin":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_1.2.0_1771951254432_0.346735234736091","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@sftech/nestjs-auth","version":"1.3.0","_id":"@sftech/nestjs-auth@1.3.0","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"73f80ba5772fe2578adb9dc9eb98e69f91127b82","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-1.3.0.tgz","fileCount":135,"integrity":"sha512-bR3AL7Z3tfq/2hNP+lajs3aeBSvrDCLAlc/l2xbZhy7Y+PnNQhOx1Jl0yH6u5Mbxe6+3b0GteTIEQdJIFJtrZg==","signatures":[{"sig":"MEUCIQDlc31i6LzEUqgBel1ZgFfQAoPyNI05tHFku8zOryjn+AIgGKNBvQHt25g7lJ1lTPA1jShWC0Xs4CWGBqt4RwDXA70=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":164243},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"d8fba82b3303a0491a3cd16dff1f818d1ef13d09","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_npmVersion":"11.4.2","description":"This library provides authentication and authorization features for NestJS applications. It is part of a monorepo managed with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"24.3.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@nestjs/core":"^10.0.0 || ^11.0.0","@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@nestjs/common":"^10.0.0 || ^11.0.0","@sftech/nestjs-core":">=1.0.1"},"peerDependenciesMeta":{"firebase-admin":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_1.3.0_1772802588104_0.4571228065531525","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@sftech/nestjs-auth","version":"1.3.2","_id":"@sftech/nestjs-auth@1.3.2","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"70bc6804865c63c4c2857c27793a4801868418dd","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-1.3.2.tgz","fileCount":135,"integrity":"sha512-vzC0MeI4HpZcZabtRTW6h/wWYxewSphgJjfxWvSeHMiyM8bVChFmTg10rTwGkGsLDMadvoFyMXqFBN4cP7f4IQ==","signatures":[{"sig":"MEUCIQCIs7VP4O6VCzj7KLS9UJ97j0Dov23TWysvpvB+Ymo/SwIgNKNQ/libmgRVlrUaOtwIE/8/AN44DCLG4UMaeH7Rt0o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":176757},"main":"./src/index.js","type":"commonjs","_from":"file:sftech-nestjs-auth-1.3.2.tgz","types":"./src/index.d.ts","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_resolved":"/tmp/7bc2ff412a63709374b360d200b37c32/sftech-nestjs-auth-1.3.2.tgz","_integrity":"sha512-vzC0MeI4HpZcZabtRTW6h/wWYxewSphgJjfxWvSeHMiyM8bVChFmTg10rTwGkGsLDMadvoFyMXqFBN4cP7f4IQ==","_npmVersion":"10.9.4","description":"Authentication and authorization library for NestJS applications with OAuth2/OIDC support, JWT validation, and CASL-based authorization.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@nestjs/core":"^10.0.0 || ^11.0.0","@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@nestjs/common":"^10.0.0 || ^11.0.0","@sftech/nestjs-core":">=1.0.1"},"peerDependenciesMeta":{"firebase-admin":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_1.3.2_1773002907192_0.39088690958812067","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@sftech/nestjs-auth","version":"1.4.0","_id":"@sftech/nestjs-auth@1.4.0","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"6292a371c6bf5dcee38a23feb6dd9c78dd28d2e8","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-1.4.0.tgz","fileCount":138,"integrity":"sha512-3r7wAJLTneWMYEWe6mLktQCFQjyDjrslT9g+4PBPj5x881eyAtffBmW7RpxF7b1x4Zq4xPc0eSsZ0XuqAlUFmQ==","signatures":[{"sig":"MEYCIQDrl/nIWhwAu40xrXCctl6Vgs9NJQCOX3XKluLkjdVYUwIhAJ8ZbyTxiLY7QdNDMATYOT4S88yVjdO3s0R4/ffG+CLs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189508},"main":"./src/index.js","type":"commonjs","_from":"file:sftech-nestjs-auth-1.4.0.tgz","types":"./src/index.d.ts","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_resolved":"/tmp/2368deb99319e200e155f98e88a9caa4/sftech-nestjs-auth-1.4.0.tgz","_integrity":"sha512-3r7wAJLTneWMYEWe6mLktQCFQjyDjrslT9g+4PBPj5x881eyAtffBmW7RpxF7b1x4Zq4xPc0eSsZ0XuqAlUFmQ==","_npmVersion":"10.9.4","description":"Authentication and authorization library for NestJS applications with OAuth2/OIDC support, JWT validation, and CASL-based authorization.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@nestjs/core":"^10.0.0 || ^11.0.0","@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@nestjs/common":"^10.0.0 || ^11.0.0","@sftech/nestjs-db":">=1.0.0","@sftech/nestjs-core":">=1.0.1"},"peerDependenciesMeta":{"firebase-admin":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_1.4.0_1773078493504_0.026799468715740682","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@sftech/nestjs-auth","version":"1.5.0","_id":"@sftech/nestjs-auth@1.5.0","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"ae89a9ba86fc1e05c20e32e646be319fb0d753e7","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-1.5.0.tgz","fileCount":141,"integrity":"sha512-15mQGvv1DunZ+1HQyqMcyZOBBzKntBcd91/aiwtTM5xCbcF/1s3MbfHgBm9qo2z06lHynVPIQgW1MsaNHvfOGw==","signatures":[{"sig":"MEUCIE0IvwhZ+EIsi/BHY7Jh/B5QQXeYGYNoPbavwwhPq1GdAiEA67jp0QC5o23/nIka3wxazPKoYctH6iGj88A4vtMuuAQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":191545},"main":"./src/index.js","type":"commonjs","_from":"file:sftech-nestjs-auth-1.5.0.tgz","types":"./src/index.d.ts","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_resolved":"/tmp/a7d2d01025444fa112d2140b9cf9ed51/sftech-nestjs-auth-1.5.0.tgz","_integrity":"sha512-15mQGvv1DunZ+1HQyqMcyZOBBzKntBcd91/aiwtTM5xCbcF/1s3MbfHgBm9qo2z06lHynVPIQgW1MsaNHvfOGw==","_npmVersion":"10.9.4","description":"Authentication and authorization library for NestJS applications with OAuth2/OIDC support, JWT validation, and CASL-based authorization.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@nestjs/core":"^10.0.0 || ^11.0.0","@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@nestjs/common":"^10.0.0 || ^11.0.0","@sftech/nestjs-db":">=1.0.0","@sftech/nestjs-core":">=1.0.1"},"peerDependenciesMeta":{"firebase-admin":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_1.5.0_1773079858727_0.5899295085904908","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"@sftech/nestjs-auth","version":"1.5.1","_id":"@sftech/nestjs-auth@1.5.1","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"72a46fd931f125cef95727c5d0d19c618c63e998","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-1.5.1.tgz","fileCount":141,"integrity":"sha512-2HIZSzNtSOvm56tZGEv6nSwtsA7w8F4nxKvv1E4+zKArJzC8hiw01X4HKPXx5/qNCAAJnDDb+jAsJloIyF3Wiw==","signatures":[{"sig":"MEUCIQDrAxel9EXq3RTC3U7XENQlE59bAZW+zVdzHgepi3KT7wIgSiTY4tOE59PJIaFHgx+bSTXdABic0HbgTl9qR1WWt48=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":191545},"main":"./src/index.js","type":"commonjs","_from":"file:sftech-nestjs-auth-1.5.1.tgz","types":"./src/index.d.ts","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_resolved":"/tmp/7b32c9c7b9054bfb7a4d9f7e63f4d51f/sftech-nestjs-auth-1.5.1.tgz","_integrity":"sha512-2HIZSzNtSOvm56tZGEv6nSwtsA7w8F4nxKvv1E4+zKArJzC8hiw01X4HKPXx5/qNCAAJnDDb+jAsJloIyF3Wiw==","_npmVersion":"10.9.4","description":"Authentication and authorization library for NestJS applications with OAuth2/OIDC support, JWT validation, and CASL-based authorization.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@nestjs/core":"^10.0.0 || ^11.0.0","@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@nestjs/common":"^10.0.0 || ^11.0.0","@sftech/nestjs-db":">=1.0.2","@sftech/nestjs-core":">=1.0.3"},"peerDependenciesMeta":{"firebase-admin":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_1.5.1_1773080900840_0.8751039700838246","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"@sftech/nestjs-auth","version":"1.5.2","_id":"@sftech/nestjs-auth@1.5.2","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"dist":{"shasum":"63d00952e148baa0f7b49cb3ffda1d2a2384ddcd","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-1.5.2.tgz","fileCount":141,"integrity":"sha512-YsWNmgaiwR+6Fs4QARle3MPoSOfHdI0AVIXgiIPe0+5xJaA0jZ5R8Mxorm5KjZ8uAXWp/MxPjAjSdxjRY1V8eQ==","signatures":[{"sig":"MEYCIQD3Ew+8hDxHo+5dlpG5dIjVmEUAhinI4yz3itsDaFf5bAIhAJuKlxNHsBQCoa6SFnsQtOw8Ai1GQxw0rZi7V+6F/rQU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":192545},"main":"./src/index.js","type":"commonjs","_from":"file:sftech-nestjs-auth-1.5.2.tgz","types":"./src/index.d.ts","_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"_resolved":"/tmp/faa9ffde0bef4ff0de8a672094e753ca/sftech-nestjs-auth-1.5.2.tgz","_integrity":"sha512-YsWNmgaiwR+6Fs4QARle3MPoSOfHdI0AVIXgiIPe0+5xJaA0jZ5R8Mxorm5KjZ8uAXWp/MxPjAjSdxjRY1V8eQ==","_npmVersion":"10.9.4","description":"Authentication and authorization library for NestJS applications with OAuth2/OIDC support, JWT validation, and CASL-based authorization.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"@nestjs/core":"^10.0.0 || ^11.0.0","@casl/ability":"^6.7.3","@nestjs/axios":">=4.0.1","@nestjs/common":"^10.0.0 || ^11.0.0","@sftech/nestjs-db":">=1.0.2","@sftech/nestjs-core":">=1.0.3"},"peerDependenciesMeta":{"firebase-admin":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nestjs-auth_1.5.2_1775069999260_0.384640483720742","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@sftech/nestjs-auth","version":"2.0.0","type":"commonjs","main":"./src/index.js","types":"./src/index.d.ts","dependencies":{"tslib":"^2.3.0"},"peerDependencies":{"@sftech/nestjs-core":">=1.0.3","@sftech/nestjs-db":">=2.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/axios":">=4.0.1","@casl/ability":"^6.7.3","firebase-admin":"^13.0.0"},"peerDependenciesMeta":{"firebase-admin":{"optional":true}},"_id":"@sftech/nestjs-auth@2.0.0","gitHead":"92cecdf21a2b2d3aae94ed1948f45eced5ab994c","description":"> **Upgrade to >= 1.6.0.** In `1.5.2` and earlier, `RolesGuard` read `@Roles()` > from the route handler only. A controller annotated `@Roles(['admin'])` at > class level with no roles on its methods therefore let every authenticated > user through — whic","_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-YU3CsaOjVv1dmBK7MImuJKyaS0mGzTplm7JWLs9juLldse0oSD9kXIT2ioslS6CeexLJ/rWG0DTYUMzR22maOg==","shasum":"3527c2d76d6a12a51ec6cebbc7334126936ec426","tarball":"https://registry.npmjs.org/@sftech/nestjs-auth/-/nestjs-auth-2.0.0.tgz","fileCount":154,"unpackedSize":238339,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCER38ze+a2N0ogzecNBB3ojWQZEstLrM7r8R6KK+XgkAIgEyb8xSjWMxm+gFa5iMMMnPQzEB+DAAnEsRi/KrOU9ak="}]},"_npmUser":{"name":"afaercher","email":"info@faercher-it.de"},"directories":{},"maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nestjs-auth_2.0.0_1788384941025_0.4276389863678911"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-27T09:20:21.275Z","modified":"2026-09-02T21:35:41.704Z","0.0.1":"2025-08-27T09:20:21.517Z","0.0.2":"2025-08-27T14:16:23.247Z","0.0.3":"2025-08-27T14:23:31.435Z","0.0.4":"2025-08-27T16:04:02.235Z","0.0.5":"2025-08-28T09:52:36.998Z","0.0.6":"2025-08-28T10:14:00.275Z","0.0.7":"2025-09-03T18:22:11.178Z","0.0.8":"2025-09-03T18:24:54.490Z","0.0.9":"2025-09-03T18:29:50.482Z","0.0.10":"2025-09-03T19:21:39.959Z","0.0.11":"2025-09-17T07:43:44.743Z","0.0.12":"2025-09-17T07:45:15.712Z","0.0.13":"2025-09-17T14:15:48.447Z","0.0.14":"2025-09-17T14:21:08.194Z","0.0.15":"2025-09-17T14:32:04.646Z","0.0.16":"2025-09-17T14:34:50.513Z","0.0.17":"2025-09-17T14:45:01.666Z","0.0.18":"2025-12-18T13:06:54.051Z","0.1.18":"2026-01-07T17:30:12.282Z","0.1.19":"2026-01-07T18:01:45.767Z","0.1.20":"2026-01-08T07:39:04.118Z","0.1.21":"2026-01-08T12:12:15.797Z","0.1.22":"2026-01-09T12:08:52.485Z","0.2.0":"2026-01-15T17:31:10.533Z","0.2.1":"2026-01-16T06:57:45.212Z","0.2.2":"2026-01-16T07:17:12.175Z","0.2.3":"2026-01-22T09:56:47.933Z","0.2.4":"2026-01-22T10:01:42.438Z","0.2.5":"2026-01-22T10:49:39.486Z","0.3.0":"2026-01-22T11:03:16.475Z","0.3.1":"2026-01-22T12:44:41.661Z","1.0.0":"2026-02-02T22:00:28.947Z","1.0.1":"2026-02-06T08:46:35.660Z","1.0.2":"2026-02-06T09:54:53.943Z","1.1.0":"2026-02-20T11:34:54.950Z","1.1.1":"2026-02-24T09:46:23.381Z","1.2.0":"2026-02-24T16:40:54.642Z","1.3.0":"2026-03-06T13:09:48.250Z","1.3.2":"2026-03-08T20:48:27.347Z","1.4.0":"2026-03-09T17:48:13.648Z","1.5.0":"2026-03-09T18:10:58.890Z","1.5.1":"2026-03-09T18:28:20.994Z","1.5.2":"2026-04-01T18:59:59.440Z","2.0.0":"2026-09-02T21:35:41.161Z"},"description":"> **Upgrade to >= 1.6.0.** In `1.5.2` and earlier, `RolesGuard` read `@Roles()` > from the route handler only. A controller annotated `@Roles(['admin'])` at > class level with no roles on its methods therefore let every authenticated > user through — whic","maintainers":[{"name":"rs88","email":"rs.88.tech@gmail.com"},{"name":"afaercher","email":"info@faercher-it.de"}],"readme":"# @sftech/nestjs-auth\n\n> **Upgrade to >= 1.6.0.** In `1.5.2` and earlier, `RolesGuard` read `@Roles()`\n> from the route handler only. A controller annotated `@Roles(['admin'])` at\n> class level with no roles on its methods therefore let every authenticated\n> user through — which includes the seven routes inherited from\n> `BaseCrudController`, the case that cannot be annotated any other way.\n> `1.6.0` also refuses to start on an empty or unknown `provider`, which used to\n> fall through to a fake administrator holding `admin`; use `provider: 'dev'`\n> for the development user or `provider: 'none'` to run without authentication\n> on purpose. See `CHANGELOG.md`.\n\n\nAuthentication and authorization library for NestJS applications with OAuth2/OIDC support, JWT validation, and CASL-based authorization.\n\n## Installation\n\n```bash\nnpm install @sftech/nestjs-auth\n```\n\n## Peer Dependencies\n\n- `@sftech/nestjs-core >= 1.0.0`\n- `@sftech/nestjs-db >= 1.0.0`\n- `@nestjs/common`\n- `@casl/ability`\n\n## Features\n\n- OAuth2/OIDC token validation\n- JWT token verification via JWKS (JSON Web Key Set)\n- CASL-based authorization\n- Auth-aware CRUD operations (extends nestjs-db)\n- User context injection throughout application layers\n- Guards and decorators for route protection\n\n## Configuration\n\n```typescript\nimport { NestjsAuthModule } from '@sftech/nestjs-auth';\n\n@Module({\n  imports: [\n    NestjsAuthModule.register({\n      authProvider: 'oauth',\n      oauthValidationUrl: 'https://your-oauth-provider/userinfo',\n    }),\n  ],\n})\nexport class AppModule {}\n```\n\n### Configuration Options\n\nAdd to your `app.config.json`:\n\n```json\n{\n  \"AUTH_PROVIDER\": \"oauth\",\n  \"AUTH_OAUTH_VALIDATION_URL\": \"https://keycloak.example.com/realms/myrealm/protocol/openid-connect/userinfo\"\n}\n```\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| `AUTH_PROVIDER` | `'oauth' \\| 'local'` | Authentication provider type |\n| `AUTH_OAUTH_VALIDATION_URL` | `string` | OAuth userinfo endpoint for token validation |\n\n## API Reference\n\n### Application Layer\n\n| Class | Purpose |\n|-------|---------|\n| `BaseCrudAuthBundle<TDbModel>` | Auth-aware CRUD bundle with user context |\n| `AuthGetByIdUsecase` | Get by ID with auth check |\n| `AuthGetAllUsecase` | Get all with auth filtering |\n| `AuthGetByUserUsecase` | Get entities for current user |\n| `AuthInsertUsecase` | Insert with user context |\n| `AuthUpdateUsecase` | Update with auth check |\n| `AuthDeleteUsecase` | Delete with auth check |\n| `AuthBulkSaveUsecase` | Bulk save with auth |\n| `AuthOdataUsecase` | OData with auth filtering |\n\n### Infrastructure Layer\n\n| Class | Purpose |\n|-------|---------|\n| `BaseAuthDbEntity` | Base entity with userId field |\n| `BaseAuthDbRepository<TDbModel, TDbEntity>` | Repository with auth filtering |\n| `BaseAuthDbMapper<TDbModel, TDbEntity>` | Mapper with auth fields |\n\n### Presentation Layer\n\n| Class | Purpose |\n|-------|---------|\n| `BaseCrudAuthController` | Controller with auth-aware CRUD |\n\n---\n\n## Base Classes & Interfaces\n\n### BaseCrudAuthBundle<TDbModel>\n\nAuth-aware bundle containing all CRUD use cases with user context injection. **Extends BaseCrudBundle with CASL authorization.**\n\n**Generic type parameters:**\n- `TDbModel extends IBaseAuthDbModel` - Your domain model (must include userId)\n\n**Provides out of the box:**\n- All methods from `BaseCrudBundle`\n- `getAllByUserUsecase` - Get entities for current user only\n- User context automatically injected via `RequestContextStorage`\n- CASL ability checks on all operations\n\n**Constructor parameters:**\n- `_repo: IBaseAuthDbRepository<TDbModel>` - Auth-aware repository\n- `_abilityFactory: IBaseCaslFactory` - CASL ability factory\n- `_rcs: RequestContextStorage` - Request context storage\n\n**Usage example:**\n```typescript\nimport { BaseCrudAuthBundle, IBaseAuthDbModel } from '@sftech/nestjs-auth';\nimport { RequestContextStorage } from '@sftech/nestjs-core';\nimport { Injectable } from '@nestjs/common';\n\n// 1. Define your domain model with userId\nexport class Article implements IBaseAuthDbModel {\n    id?: number;\n    createdAt?: Date;\n    userId: string;  // Required for auth-aware entities\n\n    title: string;\n    content: string;\n}\n\n// 2. Create CASL ability factory\n@Injectable()\nexport class ArticleAbilityFactory implements IBaseCaslFactory {\n    createForUser(user: UserInfo) {\n        const { can, cannot, build } = new AbilityBuilder(createMongoAbility);\n\n        // Users can read all articles\n        can('read', 'Article');\n\n        // Users can only modify their own articles\n        can(['update', 'delete'], 'Article', { userId: user.sub });\n\n        return build();\n    }\n}\n\n// 3. Create the auth bundle\n@Injectable()\nexport class ArticleCrudAuthBundle extends BaseCrudAuthBundle<Article> {\n    constructor(\n        repository: ArticleRepository,\n        abilityFactory: ArticleAbilityFactory,\n        rcs: RequestContextStorage,\n    ) {\n        super(repository, abilityFactory, rcs);\n    }\n}\n\n// 4. Use in controller\n@Controller('articles')\n@UseGuards(JwtAuthGuard)\nexport class ArticleController {\n    constructor(private readonly articleBundle: ArticleCrudAuthBundle) {}\n\n    @Get()\n    async getAll() {\n        // Returns all articles (filtered by CASL abilities)\n        return this.articleBundle.getAllUsecase.execute();\n    }\n\n    @Get('my')\n    async getMyArticles() {\n        // Returns only current user's articles\n        return this.articleBundle.getAllByUserUsecase.execute();\n    }\n\n    @Post()\n    async create(@Body() dto: CreateArticleDto) {\n        const article = new Article();\n        article.title = dto.title;\n        article.content = dto.content;\n        // userId is automatically set from RequestContextStorage\n        return this.articleBundle.insertUsecase.execute(article);\n    }\n\n    @Delete(':id')\n    async delete(@Param('id') id: number) {\n        // CASL checks if user owns this article\n        return this.articleBundle.deleteUsecase.execute(id);\n    }\n}\n```\n\n---\n\n### BaseAuthDbRepository<TDbModel, TDbEntity>\n\nAbstract repository extending BaseDbRepository with auth-aware filtering. **Extend this for entities that belong to users.**\n\n**Generic type parameters:**\n- `TDbModel extends IBaseAuthDbModel` - Domain model with userId\n- `TDbEntity extends IBaseAuthDbEntity` - TypeORM entity with userId\n\n**Provides out of the box:**\n- All methods from `BaseDbRepository`\n- `getAllByUser(userId)` - Get all entities for a specific user\n- `getByIdAndUser(id, userId)` - Get by ID with user ownership check\n\n**You must implement:**\n- `_mapper: IBaseAuthDbMapper<TDbModel, TDbEntity>` - Auth-aware mapper\n\n**Usage example:**\n```typescript\nimport { BaseAuthDbRepository, IBaseAuthDbMapper } from '@sftech/nestjs-auth';\nimport { Injectable } from '@nestjs/common';\nimport { InjectRepository } from '@nestjs/typeorm';\nimport { Repository } from 'typeorm';\n\n@Injectable()\nexport class ArticleRepository extends BaseAuthDbRepository<Article, ArticleEntity> {\n    protected readonly _mapper: IBaseAuthDbMapper<Article, ArticleEntity>;\n\n    constructor(\n        @InjectRepository(ArticleEntity)\n        repo: Repository<ArticleEntity>,\n        mapper: ArticleMapper,\n    ) {\n        super(repo);\n        this._mapper = mapper;\n    }\n\n    // Custom auth-aware queries\n    async findPublishedByUser(userId: string): Promise<Article[]> {\n        return this.findBy({\n            where: { userId, publishedAt: Not(IsNull()) },\n        });\n    }\n}\n```\n\n---\n\n### BaseAuthDbEntity\n\nBase TypeORM entity with userId field. **Extend this for all user-owned entities.**\n\n**Provides:**\n- `id?: number` - Primary key (from BaseDbEntity)\n- `createdAt?: Date` - Creation timestamp (from BaseDbEntity)\n- `userId: string` - Owner user ID\n\n**Usage example:**\n```typescript\nimport { BaseAuthDbEntity } from '@sftech/nestjs-auth';\nimport { Entity, Column } from 'typeorm';\n\n@Entity('articles')\nexport class ArticleEntity extends BaseAuthDbEntity {\n    @Column()\n    title: string;\n\n    @Column('text')\n    content: string;\n\n    @Column({ nullable: true })\n    publishedAt?: Date;\n}\n```\n\n---\n\n### BaseAuthDbMapper<TDbModel, TDbEntity>\n\nAbstract mapper extending BaseDbMapper with auth field handling.\n\n**You must implement:**\n- `mapFromDb(from: TDbEntity, to?: TDbModel): TDbModel`\n- `mapToDb(from: TDbModel, to?: TDbEntity): TDbEntity`\n\n**Usage example:**\n```typescript\nimport { BaseAuthDbMapper } from '@sftech/nestjs-auth';\nimport { Injectable } from '@nestjs/common';\n\n@Injectable()\nexport class ArticleMapper extends BaseAuthDbMapper<Article, ArticleEntity> {\n    mapFromDb(from: ArticleEntity, to?: Article): Article {\n        const article = to ?? new Article();\n        article.id = from.id;\n        article.createdAt = from.createdAt;\n        article.userId = from.userId;\n        article.title = from.title;\n        article.content = from.content;\n        return article;\n    }\n\n    mapToDb(from: Article, to?: ArticleEntity): ArticleEntity {\n        const entity = to ?? new ArticleEntity();\n        if (from.id) entity.id = from.id;\n        entity.userId = from.userId;\n        entity.title = from.title;\n        entity.content = from.content;\n        return entity;\n    }\n}\n```\n\n---\n\n### BaseCrudAuthController<TDbModel, TResponseDto, TCreateDto, TUpdateDto>\n\nAbstract controller extending BaseCrudController with authentication. **Extend for auth-protected CRUD APIs.**\n\n**Provides out of the box:**\n- All endpoints from `BaseCrudController`\n- `GET /my` - Get current user's entities\n\n**Usage example:**\n```typescript\nimport { BaseCrudAuthController } from '@sftech/nestjs-auth';\nimport { Controller, UseGuards } from '@nestjs/common';\n\n@Controller('articles')\n@UseGuards(JwtAuthGuard)\nexport class ArticleController extends BaseCrudAuthController<\n    Article,\n    ArticleResponseDto,\n    CreateArticleDto,\n    UpdateArticleDto\n> {\n    protected readonly _converter: ArticleDtoConverter;\n\n    constructor(\n        articleBundle: ArticleCrudAuthBundle,\n        converter: ArticleDtoConverter,\n    ) {\n        super(articleBundle);\n        this._converter = converter;\n    }\n}\n```\n\n---\n\n### IBaseAuthDbModel\n\nInterface for auth-aware domain models. **Implement for all user-owned models.**\n\n**Required properties:**\n- `id?: number` - Entity ID\n- `createdAt?: Date` - Creation timestamp\n- `userId: string` - Owner user ID\n\n**Usage example:**\n```typescript\nimport { IBaseAuthDbModel } from '@sftech/nestjs-auth';\n\nexport class Comment implements IBaseAuthDbModel {\n    id?: number;\n    createdAt?: Date;\n    userId: string;\n\n    articleId: number;\n    text: string;\n}\n```\n\n---\n\n### IBaseCaslFactory\n\nInterface for CASL ability factories. **Implement to define authorization rules.**\n\n**You must implement:**\n- `createForUser(user: UserInfo): MongoAbility` - Create abilities for a user\n\n**Usage example:**\n```typescript\nimport { IBaseCaslFactory } from '@sftech/nestjs-auth';\nimport { AbilityBuilder, createMongoAbility, MongoAbility } from '@casl/ability';\nimport { Injectable } from '@nestjs/common';\n\n@Injectable()\nexport class AppAbilityFactory implements IBaseCaslFactory {\n    createForUser(user: UserInfo): MongoAbility {\n        const { can, cannot, build } = new AbilityBuilder(createMongoAbility);\n\n        if (user.roles.includes('admin')) {\n            // Admins can do everything\n            can('manage', 'all');\n        } else {\n            // Regular users\n            can('read', 'Article');\n            can('create', 'Article');\n            can(['update', 'delete'], 'Article', { userId: user.sub });\n\n            can('read', 'Comment');\n            can('create', 'Comment');\n            can(['update', 'delete'], 'Comment', { userId: user.sub });\n        }\n\n        return build();\n    }\n}\n```\n\n---\n\n## Complete Example\n\n```typescript\n// === DOMAIN ===\n\n// article.model.ts\nimport { IBaseAuthDbModel } from '@sftech/nestjs-auth';\n\nexport class Article implements IBaseAuthDbModel {\n    id?: number;\n    createdAt?: Date;\n    userId: string;\n    title: string;\n    content: string;\n}\n\n// === INFRASTRUCTURE ===\n\n// article.entity.ts\nimport { BaseAuthDbEntity } from '@sftech/nestjs-auth';\nimport { Entity, Column } from 'typeorm';\n\n@Entity('articles')\nexport class ArticleEntity extends BaseAuthDbEntity {\n    @Column()\n    title: string;\n\n    @Column('text')\n    content: string;\n}\n\n// article.mapper.ts\nimport { BaseAuthDbMapper } from '@sftech/nestjs-auth';\nimport { Injectable } from '@nestjs/common';\n\n@Injectable()\nexport class ArticleMapper extends BaseAuthDbMapper<Article, ArticleEntity> {\n    mapFromDb(from: ArticleEntity): Article {\n        const a = new Article();\n        a.id = from.id;\n        a.createdAt = from.createdAt;\n        a.userId = from.userId;\n        a.title = from.title;\n        a.content = from.content;\n        return a;\n    }\n\n    mapToDb(from: Article, to?: ArticleEntity): ArticleEntity {\n        const e = to ?? new ArticleEntity();\n        if (from.id) e.id = from.id;\n        e.userId = from.userId;\n        e.title = from.title;\n        e.content = from.content;\n        return e;\n    }\n}\n\n// article.repository.ts\nimport { BaseAuthDbRepository } from '@sftech/nestjs-auth';\nimport { Injectable } from '@nestjs/common';\nimport { InjectRepository } from '@nestjs/typeorm';\nimport { Repository } from 'typeorm';\n\n@Injectable()\nexport class ArticleRepository extends BaseAuthDbRepository<Article, ArticleEntity> {\n    protected readonly _mapper: ArticleMapper;\n\n    constructor(\n        @InjectRepository(ArticleEntity) repo: Repository<ArticleEntity>,\n        mapper: ArticleMapper,\n    ) {\n        super(repo);\n        this._mapper = mapper;\n    }\n}\n\n// === APPLICATION ===\n\n// article-ability.factory.ts\nimport { IBaseCaslFactory } from '@sftech/nestjs-auth';\nimport { AbilityBuilder, createMongoAbility } from '@casl/ability';\nimport { Injectable } from '@nestjs/common';\n\n@Injectable()\nexport class ArticleAbilityFactory implements IBaseCaslFactory {\n    createForUser(user: UserInfo) {\n        const { can, build } = new AbilityBuilder(createMongoAbility);\n        can('read', 'Article');\n        can(['create', 'update', 'delete'], 'Article', { userId: user.sub });\n        return build();\n    }\n}\n\n// article.bundle.ts\nimport { BaseCrudAuthBundle } from '@sftech/nestjs-auth';\nimport { RequestContextStorage } from '@sftech/nestjs-core';\nimport { Injectable } from '@nestjs/common';\n\n@Injectable()\nexport class ArticleCrudAuthBundle extends BaseCrudAuthBundle<Article> {\n    constructor(\n        repo: ArticleRepository,\n        abilityFactory: ArticleAbilityFactory,\n        rcs: RequestContextStorage,\n    ) {\n        super(repo, abilityFactory, rcs);\n    }\n}\n\n// === MODULE ===\n\n@Module({\n    imports: [TypeOrmModule.forFeature([ArticleEntity])],\n    providers: [\n        ArticleMapper,\n        ArticleRepository,\n        ArticleAbilityFactory,\n        ArticleCrudAuthBundle,\n    ],\n    exports: [ArticleCrudAuthBundle],\n})\nexport class ArticleModule {}\n```\n\n---\n\n## Development\n\n```bash\n# Build\nnpx nx build nestjs-auth\n\n# Test\nnpx nx test nestjs-auth\n\n# Lint\nnpx nx lint nestjs-auth\n```\n\n## See Also\n\n- [@sftech/nestjs-auth-backend](../nestjs-auth-backend/README.md) - Backend OAuth service for session management\n- [@sftech/nestjs-db](../nestjs-db/README.md) - Base database layer\n\n## Changelog\n\nSee [CHANGELOG.md](./CHANGELOG.md)\n\n## License\n\nMIT\n","readmeFilename":"README.md"}