{"_id":"loopback4-authentication","_rev":"84-474db125d2d0804c6256cf295d718c3b","name":"loopback4-authentication","dist-tags":{"latest":"14.0.1"},"versions":{"1.0.0":{"name":"loopback4-authentication","version":"1.0.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@1.0.0","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"352f7bfd7e07d577b60be743d58ccbf43678c36b","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-1.0.0.tgz","fileCount":86,"integrity":"sha512-vkZ8huW0n7YxzzpDHywdsagcVIo2JNknN9dY31KLkiW5rL+hGhEDs+QIyij9zQ71cvoqE+VCV1jL606zRL8T0A==","signatures":[{"sig":"MEUCIQCjF96vVq2FQ6ygm4K4D1noImolIguNq6sg5hiei2PRAwIgA8M+KiYaZvOk8A/ePo3TmSxm6mSc86Y7kTWgTW999KI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":100770,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc1RX9CRA9TVsSAnZWagAArK8P/ifO6nv/sriII3jlGm7Z\n/Sk7yPmWMttvxR0gSA/VwBsN6uPiKCSJsTJFUUtCfenm7FyEuEkInOMtn+d5\nmSQnfp9oCXiq7p4nhXCzdeGopLN6+2tvq6Qjed3qFtgtdetYe56eLnLRhlA8\nDbkxFP0/Hs+qa+hOeA8x6PPqJH2ZFmg4D2rWI80XuOYV5Z8DsYOOVzFy+6MZ\nkJ8ryzOp3emBeuqFjTCUa3BQk2kVQrDURYv1WaPfhvYYzikvVOpFh5UrqzM2\nXdCrsr6xaqAPy/6yjNqCwKl2S/e/ixxqeQITvcECVsZtrT0tjguIXcvQPKYV\n5QlbMTXrwjrFZBX9CRYmDZfyhWhYTrRETfd/FRlHtn8RSLT6oAz0PusIfACt\nUdnsurW2bI+N9ps2Ucn7t1qri25P6A5KQccGa89RkB5zt+PguTEol3qilExS\nT/KSA9R15vIEkIZ7NigAN3LiR7JWzhII8VmzHOwa0zi5r8JlMqtOn+Ydx7Ps\nGRLZlJ/ttvWPqbQB7YvngFrPh53BgG2FWHr729HWD8WAh5ZZDLdIKZ4Dz3yF\nEoOMZzCC/atp+Q740Fs8/3M06XMF8ij7CnyerMkFXu4NXiqLu1xRQ5PDJEY1\nUBz1D5uJV79Uj6EZGfpaEwaRlPIp/W97nTVuwdpwbrpjJ12YmiWnx0bU7t7h\nThZ+\r\n=TIoE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"63ea986ddc1c0fc5546f88e9e21aaa9e14f06423","scripts":{"lint":"npm run prettier:check && npm run tslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"lb-tsc es2017 --outDir dist","clean":"lb-clean dist","tslint":"lb-tslint","pretest":"npm run clean && npm run build","lint:fix":"npm run tslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","tslint:fix":"npm run tslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","build:apidocs":"lb-apidocs","prepublishOnly":"","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"6.9.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"8.15.0","dependencies":{"passport":"^0.4.0","@loopback/boot":"^1.2.3","@loopback/core":"^1.6.0","@loopback/rest":"^1.10.4","passport-local":"^1.0.0","@types/passport":"^1.0.0","@loopback/context":"^1.12.0","passport-http-bearer":"^1.0.1","passport-oauth2-client-password":"^0.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tslint":"^5.15.0","typescript":"^3.4.3","@types/node":"^10.11.2","@types/express":"^4.16.1","@loopback/build":"^1.5.0","@loopback/testlab":"^1.2.5","@types/passport-local":"^1.0.33","@loopback/tslint-config":"^2.0.4","@types/passport-http-bearer":"^1.0.33","@types/passport-oauth2-client-password":"^0.1.2"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_1.0.0_1557468668627_0.3589378335302704","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"loopback4-authentication","version":"1.0.2","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@1.0.2","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"b365d820254c0961cdbe4f63eb9b15460208c344","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-1.0.2.tgz","fileCount":86,"integrity":"sha512-89tPV1uaT7azcwRdKDYMHP/5aI+yqtknJbaProqdtyw8LHjUPuA9PMb5erYhcf4pnQFBW05FECaziVoZgSb9fA==","signatures":[{"sig":"MEQCICXVs6Cz30j52Z9vnuNvh+RsZnTG7pjBhv5OnMzaT+iEAiAwYOtdLGmn0RJbOntQk9VseRYTEm7Rcwtb6ohniMuH3g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":100551,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc1RldCRA9TVsSAnZWagAAOXkQAIpzWlh/nWnH3kU++l5Z\nQ0hF4hhVIYaR8jEn5btMc+zGuujB/BNrbUqoj50c7lQNHYDw7CmHcoPKcUtb\nE6gSCCzWxmkUV1WFlteTuH3HDgkpDFaa5AYYtVLhjsbJ9Lozv2QZjeBr5ipY\nUcRjMDNRSTnhbF/DlZrYbQnHaPPqsbljGioFTvWwRqFIc3WFZsMZSZU+tGLV\nR0Emsy08nsVwQL6xlje7vUvYumUjTW0T1HL4V/GKnUC1i+6LnJmddoEI1bBT\nHxg0o43QnGXGktlEMsmOVLrXXrgL90cbUzR3Y+pQQy5/ibsTK9OO/c5flewi\nRkru+H+cceUY/u+xdyrkasQ1LaVeNAS4OxW1KE2Gl5GkrUI64IRXaetvTxWX\niOzUsfeluFcPQzJdPUW8VXVsa4Kpjx+vYLLI577yj88ObLqXj6FbZgElgjEA\nvy9XboV6/RAqhR5Z8xft+y+H7xc+UbgCRgMBPvWwhsGQHAx/uekwz+InHSLx\nxxNGeSxWLzfnSUsXYKE+4VsnBkKHqJo2ZZBDNzrbQnfoQMjM0Et2fcarmUHp\nBtuX4Vl27HrOrxr+zp8TbG7g4EpNZhiVkZXgjipq+OFFC6aSvTlxCcWK0SPB\nz7OlH+qARTDF4TXxUOOP5A47BT8PEWLUp+DnQD4rTeTXw/i+AENxlb6qWqe3\nEBTi\r\n=Qq/h\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"557ff8e660a6418a573d7280cce4cf03b938df44","scripts":{"lint":"npm run prettier:check && npm run tslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"lb-tsc es2017 --outDir dist","clean":"lb-clean dist","tslint":"lb-tslint","pretest":"npm run clean && npm run build","lint:fix":"npm run tslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","tslint:fix":"npm run tslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","build:apidocs":"lb-apidocs","prepublishOnly":"npm run clean && npm run build && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"6.9.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"8.15.0","dependencies":{"passport":"^0.4.0","@loopback/boot":"^1.2.3","@loopback/core":"^1.6.0","@loopback/rest":"^1.10.4","passport-local":"^1.0.0","@types/passport":"^1.0.0","@loopback/context":"^1.12.0","passport-http-bearer":"^1.0.1","passport-oauth2-client-password":"^0.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tslint":"^5.15.0","typescript":"^3.4.3","@types/node":"^10.11.2","@types/express":"^4.16.1","@loopback/build":"^1.5.0","@loopback/testlab":"^1.2.5","@types/passport-local":"^1.0.33","@loopback/tslint-config":"^2.0.4","@types/passport-http-bearer":"^1.0.33","@types/passport-oauth2-client-password":"^0.1.2"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_1.0.2_1557469533017_0.5137537510179262","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"loopback4-authentication","version":"1.0.3","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@1.0.3","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"8b9439d37413e3924ee10a2ef7f47c234edc735d","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-1.0.3.tgz","fileCount":86,"integrity":"sha512-aJYPYv6x9mv0p3LYiHxZNCJCoUP0g53u1NWqhxsRKR3fUGJjTsP00cep75rOCrR3oQqTTPvrSMspkP0rfWla6g==","signatures":[{"sig":"MEQCIGgkURU2wrnnb7pYsh0f1zinvuPTTuY/toIU3vp9RaOvAiAdnMrO4to0eUkCunxxEwQVZgmnxLMh4l6h6HfSHgDvdA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117946,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc3HnOCRA9TVsSAnZWagAAnB4P/28EHmzCTK+rBBS7niVv\nwpGphJqlgbPFSC4QIU3i2zdGa+dkhtVZ1fePsjlyqfvQE+pOhQEs+7sDSeFr\nYPnHi0SsKRN+4XvW922GAY/CX5oHkg4lwrMka5fgYxY6cSzdFx+w4u3rrK3Z\nY61kkLiflxmWWkG868aFrhWBVhm2EG/wqjdN+5fyMGWwBFzgXUV/K3VQU6EK\nCNNwG1Uw+YPz4gUhKkbtqZoriJLQghU48Ds/3KXCZTWyDCzFkK+qrxV9QEis\n5Xn2UZ6mqeQNQO5BZTO7K+LxlPFRBE0lq1938+ZGhg2sUM7DD0U+Ljs9u1qG\nDvy7qrMU3N/jqj1L/bhgYo5OTBK7Tg8vxE31Qznd6opzLc2k915OxnGPGn4t\niv8LX85Q77BbzwqYA2Zn0X+7yCx3POHple2JJOLX/jt8BcRre71bfGeVszbB\nyR1u6y7s13RyTFl2SFEclbgG+WcfwUKvGhfwu16ebKouqfjcdAWFUiAAbb+k\nQ7qcMpEyUX3cZD9idloMleXRKZi52entZ/heLc6BJCrGGjIMMi6jNtCd1ZOU\nd/GZG7GmpMfQvYerjjwAXHa8417+kB2zYqQLYofVgCYhLc/tTrkamy8Grjos\neBa5IHOI2oBw7QnVUntxzZBe6pi85F961Bf+i+ZGhkR8YqNnLg0XWvkFNMYo\nKCMq\r\n=j2gE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"005d520657531a823812e4c2b86cb582dca86880","scripts":{"lint":"npm run prettier:check && npm run tslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"lb-tsc es2017 --outDir dist","clean":"lb-clean dist","tslint":"lb-tslint","pretest":"npm run clean && npm run build","lint:fix":"npm run tslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","tslint:fix":"npm run tslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","build:apidocs":"lb-apidocs","prepublishOnly":"npm run clean && npm run build && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"6.4.1","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"8.16.0","dependencies":{"passport":"^0.4.0","@loopback/boot":"^1.2.3","@loopback/core":"^1.6.0","@loopback/rest":"^1.10.4","passport-local":"^1.0.0","@types/passport":"^1.0.0","@loopback/context":"^1.12.0","passport-http-bearer":"^1.0.1","passport-oauth2-client-password":"^0.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tslint":"^5.15.0","typescript":"^3.4.3","@types/node":"^10.11.2","@types/express":"^4.16.1","@loopback/build":"^1.5.0","@loopback/testlab":"^1.2.5","@types/passport-local":"^1.0.33","@loopback/tslint-config":"^2.0.4","@types/passport-http-bearer":"^1.0.33","@types/passport-oauth2-client-password":"^0.1.2"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_1.0.3_1557952973165_0.48130458309428326","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"loopback4-authentication","version":"1.0.4","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@1.0.4","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"02c20571a2805f578dce43a5f60aedf30b1bfb42","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-1.0.4.tgz","fileCount":86,"integrity":"sha512-84RhyWVZwseJad14sk++k1BQf9TMpJ30QercEHx+pE7CNyPle3lH3RnvfkVvnr/KujNr/BjCRtRJJEwYGFhPgQ==","signatures":[{"sig":"MEUCIFLZHGIoQ4uYxG09TNbO5shfvxaOiJeCoH8b7zAlYv8gAiEA3B+6/i3K6Ah8SIJSy46Y383Lhr2Uw+Tc2W0Ne9aEUJ8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":118924,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc3VEeCRA9TVsSAnZWagAA7nwP/3Z3zQyid3+qF5fZPL8a\nruKvOuN/Bx/YIML4mMW0yCJC1bgNpuViEwkQMmxm1hmPaY1ndeqWgUzWccuS\nbRuNT+CTUFVRyl/6lfiMWzvrZDAC+Mhj7o6S4hy8//VdpLYgvuLXgVBg3Ezm\nnB2a0wOL09cjIsNF3EpnoB5f0kxmlpgOk0F6dVLn5BKZv8gcN2gmpvIDdPRD\nqgxoibn18f5fk+hj70+X6aucMLYT8KooQckIoaOsTbiq/ZqBRxa5M+DdAV9r\nE7N8qBUHMigIk+/0xDHYADfsVvtYopjNYgpACY88nQVtX9gP1RMju3irthM+\ndjmKvfij79rFFPHv8f8VLd7jDB4cxWDkNUr8AaQWUa0BbtuYG/g4XwPSx8Pi\nsobZ8LsCFV/AQ2oTGvEATE+Ccr3Lxsp9RNHG4KJhRJXwzVKTdDilhagJf4RP\nyP07dmYEgGa8YbMThBF3yelwEdYrro+7pfqKa2bGOJlmilk+DwrQ3sLew3Vd\ngLgDszcg2+F/pJImlNMU3AEVhbfp6GfKAq1MjVkGiM7LkI0k2/VTKPYNwI1H\nIj1UV4K7aR9aiCHQJr2ObfEee/tITybbLMr2dVvhAgjVzH4waJyNkQ+m2+0R\nwYS/SgjbX1jpdAhzEqLBpdJG19L7Ks+MSHSphv4UvLJpe0Zu6U3S+/uoT/3F\nHhLU\r\n=T68o\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"ac42e295d3274dbf62384f468a2a81f0e85d9f27","scripts":{"lint":"npm run prettier:check && npm run tslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"lb-tsc es2017 --outDir dist","clean":"lb-clean dist","tslint":"lb-tslint","pretest":"npm run clean && npm run build","lint:fix":"npm run tslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","tslint:fix":"npm run tslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","build:apidocs":"lb-apidocs","prepublishOnly":"npm run clean && npm run build && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"6.4.1","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"8.16.0","dependencies":{"passport":"^0.4.0","@loopback/boot":"^1.2.3","@loopback/core":"^1.6.0","@loopback/rest":"^1.10.4","passport-local":"^1.0.0","@types/passport":"^1.0.0","@loopback/context":"^1.12.0","passport-http-bearer":"^1.0.1","passport-oauth2-client-password":"^0.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tslint":"^5.15.0","typescript":"^3.4.3","@types/node":"^10.11.2","@types/express":"^4.16.1","@loopback/build":"^1.5.0","@loopback/testlab":"^1.2.5","@types/passport-local":"^1.0.33","@loopback/tslint-config":"^2.0.4","@types/passport-http-bearer":"^1.0.33","@types/passport-oauth2-client-password":"^0.1.2"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_1.0.4_1558008093683_0.06104356666106958","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"loopback4-authentication","version":"1.0.5","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@1.0.5","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"10f914d23956ac5b410686384b340ee1a76b6979","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-1.0.5.tgz","fileCount":86,"integrity":"sha512-DWLE3wqZlNGYBKSg5tXASKLLwjQ2Kc1LaC2icv0Mtsg2JwFPitN/uB8fSGN32GMMs3gnkyRp8gJ+VUXiLp09tw==","signatures":[{"sig":"MEQCIG0basEfRaWgA87FzUFA82xfeUHoo3RGnuV5XnI/yJGiAiAak3VkHxnQu3yVXia2HNPDUeoHAP9ppLfbdZ93b9c/yQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":119596,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc5VpmCRA9TVsSAnZWagAARbMP+wUFMMaTb1J9hqd+ejix\n0a8FtFWvyyLwvq9Z2JAjZTytRFZ27PEA6SS3Yy0ikGOxNzgkNdDAmZe5jg4Y\nlw5IIypa+sFbP2EoZH7qneO+lwE2a4b357BTNjKa1SS7JVbkWXuZX46oyueb\nDLvZ5NNUdcpnKBHQeaDTIl9YoNFAsdFiQ+Z4to6n5SfR6pqZAD6ebfMD8T32\nTZDc9xY2SgQOR8OVrNRltmKIB24iYjBg5aLK3VN0oqG+6fRiTwiTceIRsgSc\n2kr3XvsG3W4liTv/p3bISUBw5LEA5O52EYoAtPK7NgUAExQknQjOGo10DUUq\nkCUwUNa56G7YJfdF0j0EOTF9X2ZG18zkJcjmURI5SiEsfXqqiuEH0zC68P/W\n+ccd++eNu4qlB3QJQ5+4GimXCmZdEN3lKnqm5u6UiFebDRbhMHQyLlETHRbL\nwmtCZpbL5gORCp+fUuC4yxb8nkhEFHGXh0GgGkHIG8H5BHVeEjzBuLAKo4Dy\nRnihRcMYGgg0wVmMpKcVuutIHLmZw1iv9zmfF00TD5MBXBrYEfDZvKY0dC4A\nE1T69m00IKwEFpoiARC4NfiiIXKir2r0+GJjgAvlqwPZ8TlVd2HWtqUXcZVM\nAnxShFw3nyaYD/EiNKPfUoz6A8t4KsiPOZz66lHNURy/z4ylzlY6rgsr3g99\nB+c8\r\n=vwIv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"71dd054444414c77ce88cd55d646346d541f155b","scripts":{"lint":"npm run prettier:check && npm run tslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"lb-tsc es2017 --outDir dist","clean":"lb-clean dist","tslint":"lb-tslint","pretest":"npm run clean && npm run build","lint:fix":"npm run tslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","tslint:fix":"npm run tslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","build:apidocs":"lb-apidocs","prepublishOnly":"npm run clean && npm run build && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"6.4.1","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"8.16.0","dependencies":{"passport":"^0.4.0","@loopback/boot":"^1.2.3","@loopback/core":"^1.6.0","@loopback/rest":"^1.10.4","passport-local":"^1.0.0","@types/passport":"^1.0.0","@loopback/context":"^1.12.0","passport-http-bearer":"^1.0.1","passport-oauth2-client-password":"^0.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tslint":"^5.15.0","typescript":"^3.4.3","@types/node":"^10.11.2","@types/express":"^4.16.1","@loopback/build":"^1.5.0","@loopback/testlab":"^1.2.5","@types/passport-local":"^1.0.33","@loopback/tslint-config":"^2.0.4","@types/passport-http-bearer":"^1.0.33","@types/passport-oauth2-client-password":"^0.1.2"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_1.0.5_1558534757667_0.7934829290844381","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"loopback4-authentication","version":"1.0.6","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@1.0.6","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"f4908ebee4bd6fc55e5bf2128b693c54dbb030a8","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-1.0.6.tgz","fileCount":86,"integrity":"sha512-bqf743tI6u0XxbklmwKhS8TXHz1gGXmXkE7D+iHI6LGsyJciKN0DfUSlQc9bsboyJm7klDwgwbHtJ8tFxluVMQ==","signatures":[{"sig":"MEUCIQDlEm4LK5Um/mEJAxvqb1t6ceOR2wlER3Q0tYSBsllqeQIgWRJm7Juh40ytXNXjvTwh7uq6Rhe794qDES2CGuXId+E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":120850,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc84YACRA9TVsSAnZWagAAw4IQAKKfaJEhIgI0asjIvLR7\nxGBb5lXAfhF369HC8r6ZBz+zKx5KRa4/ZqivAdm76f6gTRrnJxiFSe2Tp4rm\nl2YNn8CSP6YJuxz+iL1M9y9L1tAS+1MdO1p+N0HUHNr652RS1bMEsIIK74I7\n+/If0ZOE3QXPmH+kmNSHhZrX7FOufDymsLcSbkoUSSNIhgHmphWXMOZWjrJp\nFTxjJtgmbs+216od6KgMYE2omJ3LTsk8EgcAWJV23wUMDfmINZkD+KJXZMAa\nsolZtudoqSyHjsBMhq0PqOG3KYAauTzVFcPjXG71uUtgyQural8N49jz2tcC\n68gzzO4jZdDIT+PrzEXtAc3SaAbS7Fl7X5qy9fy9tWh8RNUHjrSOkU9sUd3B\n0NZmbsBrFYcJfITXgIzzoLacheamJpewkGwhgR0SJ7l8Crz29BAX5wfmxhKY\n2q7LO+G0ruxKt1WAxs8m94QL1ZbHoVMiNIyKJHe5SyRn6KAneJQDlHxh9J8H\ne4hRnZ0C27YcpI2JFDrLJkxj8ReV6I3FTtOhvcUGs6bbUkZswLEM4bEUy2Vu\nsfzl4Npv93tkrPF/dUmPRJ8xomJPwU7k/ASfwYXad1N48kICP47b02VaPHg8\ndfqn7IDFEBacvNoZdVS26b3pZut6EqWDjWTFUlSSCgOBeGwWDxfEsd6lO/3X\nMuLy\r\n=HQuR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"5acfbe839053995462fa533991f4f35b3476bacb","scripts":{"lint":"npm run prettier:check && npm run tslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"lb-tsc es2017 --outDir dist","clean":"lb-clean dist","tslint":"lb-tslint","pretest":"npm run clean && npm run build","lint:fix":"npm run tslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","tslint:fix":"npm run tslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","build:apidocs":"lb-apidocs","prepublishOnly":"npm run clean && npm run build && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"6.9.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"8.16.0","dependencies":{"passport":"^0.4.0","@loopback/boot":"^1.2.10","@loopback/core":"^1.7.3","@loopback/rest":"^1.13.1","passport-local":"^1.0.0","@types/passport":"^1.0.0","@loopback/context":"^1.17.1","passport-http-bearer":"^1.0.1","passport-oauth2-client-password":"^0.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tslint":"^5.17.0","typescript":"^3.5.1","@types/node":"^12.0.4","@types/express":"^4.16.1","@loopback/build":"^1.6.1","@loopback/testlab":"^1.3.0","@types/passport-local":"^1.0.33","@loopback/tslint-config":"^2.0.4","@types/passport-http-bearer":"^1.0.33","@types/passport-oauth2-client-password":"^0.1.2"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_1.0.6_1559463423256_0.4492635561006051","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"loopback4-authentication","version":"1.1.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@1.1.0","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"aac4072424083be82fa94ceed191ec9e63daede2","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-1.1.0.tgz","fileCount":106,"integrity":"sha512-Ti+0H/hmfl3ea+qDbKl6XzPyUoKev8vK80WoW+5m5vu0tGNRqi4Ln+VbfkQ+LTLMBdb8+u3gz54m1lXISErmOg==","signatures":[{"sig":"MEQCIDMMlnOj864kxJC2hq3MeyP2yOXyyvj+t77tWSKKvobiAiBxdH/LWB5QBz70bvp/NTf8cSRV6/RYxkUqbHo3pRtu8w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":128278,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdAmF2CRA9TVsSAnZWagAAvI8P/jX2otPSuw82F8z6bThd\nRL6uO970o+J6947P/3Vh/pTWh1C2KE6k3rsd3xfQFh/4jv9nlLikVWeFXufM\njxd0rGeDeQP5d7HCMT+cJLb5Fn5BcyvFxXeHLh8nEi1PWpCCAlFGCGg8p7Qq\naSFEVNK3Ww8IFHcVufnCjr9UIDkDeJmNVmAAs8f/cU4GFRpEHK5tZH8GIbS7\nHCFPReqmFKsoZIktqUymB5Waaw1VqqKxzdEn8lavFaij46s0gOjvLGxXPuJC\ncxdz2RIldnl/yKRyKEinG6ZD0MVA4slPBuh1yJjc/0Ltex8+2AlBJeyM3apR\nY0Y3H3w616+1TaRgd3l3keWqo7GqXkCzxumuqUGSNnw10pqvHLuSiVXtYg4l\nMx26L1rc2HalNXLFVTvNE2L53f2o3OD8R/pYR957ugepXCZJgltekC4pSKG2\nNRSfaPcqGMhq8PQuOwWR7WhC+cQqvnwa+SoB0qEzPkXLok1ZJabap3NCGXlq\nHpWh+/TX5X+k0dpaLguD02VX7u+dD7JtJ1yDgFhaCsln2pYJK+VuwTpced8j\n/5aInxF1V1id71nlttIIK3eWJgPpGMN9YuhsgOLaBVjNhJTIoQ9Haem3QuYI\n9C9tfnExk4tstFTaglpeQ7Kbusfxtj4Nv6riPK1F/Z2m5Cxiv55NJLTdGdDK\n5HqT\r\n=SM3c\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"901451b9da4a4e91f9423d8b8e7d8008d55642d1","scripts":{"lint":"npm run prettier:check && npm run tslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"lb-tsc es2017 --outDir dist","clean":"lb-clean dist","tslint":"lb-tslint","pretest":"npm run clean && npm run build","lint:fix":"npm run tslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","tslint:fix":"npm run tslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","build:apidocs":"lb-apidocs","prepublishOnly":"npm run clean && npm run build && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"6.9.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"10.16.0","dependencies":{"passport":"^0.4.0","passport-local":"^1.0.0","passport-http-bearer":"^1.0.1","passport-oauth2-client-password":"^0.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tslint":"^5.17.0","typescript":"^3.5.1","@types/node":"^10.14.8","@loopback/boot":"^1.4.0","@loopback/core":"^1.8.1","@loopback/rest":"^1.15.0","@types/express":"^4.17.0","@loopback/build":"^1.7.1","@types/passport":"^1.0.0","@loopback/context":"^1.19.0","@loopback/testlab":"^1.5.0","@types/passport-local":"^1.0.33","@loopback/tslint-config":"^2.1.0","@types/passport-http-bearer":"^1.0.33","@types/passport-oauth2-client-password":"^0.1.2"},"peerDependencies":{"@loopback/boot":"^1.4.0","@loopback/core":"^1.8.1","@loopback/rest":"^1.15.0","@loopback/context":"^1.19.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_1.1.0_1560437109456_0.6168701096218112","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"loopback4-authentication","version":"1.1.1","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@1.1.1","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"013728fffa59d057eff0c7f79d589b0e5f9b44cf","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-1.1.1.tgz","fileCount":106,"integrity":"sha512-lBG8jKQ5jLVYt9lxB34ItqTdwoxYz2PvPPz6Y2t80ETllev89TNb0T+vliqFOBrBpEwfU9jRcYjwo9tsptqz3w==","signatures":[{"sig":"MEUCIF1+m7kYVT94M7KKPq3vs0bDZRW9psm6QVrWni/zOt3xAiEA23sM26gqHFou5hnrKxOIxwo6YYdM24jXKV5QuTZtdEA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":128289,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdAmKDCRA9TVsSAnZWagAAlk8P/0031qJLkmML5CtHlRR/\nfvxz7XbNmyLPBWHR55ipMt//2XzPV1wHxQVwarY3XAa20gaameMt5PtKrCox\nygyoHgu02l8EaX9nDkxliPDxA4gjrLMt7WhABPO45dK5rpeOCp2+PvH57A7w\nGOPOLSYXkPEfjG2KfLbbRq7CuSIKuSfjZdXHyu7CltkJxN0RSLsE7djEUtaR\nIhynevV7QtTSyWJk8qg1GyyozGbvuurWWT9X4SdvW0YBSGDlnEjjChCOxJE3\nblMAd+hYotwmLeeQZtbWKs+cRT5L8BpLCJikwJ7je62xb17AO5nR2muCNXOT\nqQEqglsMHp8Lbwlwxzsr0yrYSdtE8GhAyxAO/Q9u1Tm2SMsXYawDyZcUoldJ\nuPCeVdcCGN0BXnlVi0dVQYyeNJQLoWZn9lNDKrMGQFG5cbLyCTW4O9vsy4tY\nFWQHfe01d2EWM1EZ2pbdMIKdaLzh6M1JCQffuMSBzACJ+Bj8Ru7QFUabvbju\nSV9WFDFW+6u1gTEcqGKfBf+RS+IBIklYLTSXVkegRZxABYERKKMMcECAp+38\nxbxE6vo1P8MppN+m9UeygFuFbRJjcYVlHYJ3wE6i52Ih1h3EPbwrcx+Mfs+C\nf6wbAi3PjJe4jf3t9sW3xIbnNajnM1yVrXnhgbfF8lEmvyotMW+9tQ+nDcQX\nF11e\r\n=yPSv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"8e2fba085958af31ba0db1abade8f24a2eab1063","scripts":{"lint":"npm run prettier:check && npm run tslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"lb-tsc es2017 --outDir dist","clean":"lb-clean dist","tslint":"lb-tslint","pretest":"npm run clean && npm run build","lint:fix":"npm run tslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","tslint:fix":"npm run tslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","build:apidocs":"lb-apidocs","prepublishOnly":"npm run clean && npm run build && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"6.9.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"10.16.0","dependencies":{"passport":"^0.4.0","passport-local":"^1.0.0","passport-http-bearer":"^1.0.1","passport-oauth2-client-password":"^0.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tslint":"^5.17.0","typescript":"^3.5.1","@types/node":"^10.14.8","@loopback/boot":"^1.4.0","@loopback/core":"^1.8.1","@loopback/rest":"^1.15.0","@types/express":"^4.17.0","@loopback/build":"^1.7.1","@types/passport":"^1.0.0","@loopback/context":"^1.19.0","@loopback/testlab":"^1.5.0","@types/passport-local":"^1.0.33","@loopback/tslint-config":"^2.1.0","@types/passport-http-bearer":"^1.0.33","@types/passport-oauth2-client-password":"^0.1.2"},"peerDependencies":{"@loopback/boot":"^1.4.0","@loopback/core":"^1.8.1","@loopback/rest":"^1.15.0","@loopback/context":"^1.19.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_1.1.1_1560437378689_0.18626907413280835","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"loopback4-authentication","version":"2.0.1","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@2.0.1","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"2677199ff0babf739f003737a98f61cda89b7c49","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-2.0.1.tgz","fileCount":158,"integrity":"sha512-32Og1RSHj6xAUQvQ4tnCJA0WLyZLpNNREZSM5ASwJTzcn3zjvWLnPTwDIIGtIn9ph5lmtFVnOBCE9+oA7aScsg==","signatures":[{"sig":"MEYCIQDQnojb1XllqHH4apK8cuORBnJImxJAyj2zW7ho9WiYjgIhAL5L0tVBgTD3Zn/l5eI+nWlxZCM+1OG+80DVbACBkSB6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":176486,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdDTSCCRA9TVsSAnZWagAARXwP/i/azZbnlNNxR/NGflVX\n93X1pgJ8DP1dDTsfTBphazPmpVqGhLZLOvxtwFUu2Nf/5SpDo1npzxdiHKiR\nCW5yLnUpZkp6imMzmnobNFVXloJO0Qt/m7pUUsfE5Dw0FSmm87/zvuDTeOkB\nbfCW+w7In3s94J82upD3nIG557pCznjernsS+G73PFX0zhv4UjhBNRBLB8+K\nxG8JtQcmSMRyeJNFlAFCVXwksHAOvZ/MA4OajeXB4S9xhpPJN2+TfldCJm9u\ncmKIc+x9ZrY8uE8oddd1bTV1lkzvBw2MP0A+2gRU/XTzebrVZR+kKsTxKJWa\n/5ZeatEK1UdRbsAH1vRJucECGGEeaRDCBaF13iutmnyeS3UveZn02UgK1hWB\nFbHZj9X+dFZBZ7TMIG7WNXvkqJdknyac1zbyWlzMgDIs8ZPjzRnv+5tjHDgU\nH6yLMZslKFhB+sY1W6+faJEdPB6R9tEQQwZ/EwPmMx6od+LufWMPZPjrnVxE\nOUN+t5mPCoU6gNtJLf+e0n78Dpqmq8+gonUagaS2csTxPGXuN5BFdu2/LmFo\n41q9z7e6psCFud2tJGzr8sokNk9bmGA8R4ZeJQxO5Y0GsuG1CET3EFZCUuAe\nvJZzXASCJ9x5hLD5g5Ce1VBIlyV91bSdz2md5qCJJMiM8nAqUIsPt2L66E79\nEDrE\r\n=J/67\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"01daa5f1c5a92f418b3e46b98390dda91d07394c","scripts":{"lint":"npm run prettier:check && npm run tslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"lb-tsc es2017 --outDir dist","clean":"lb-clean dist","tslint":"lb-tslint","pretest":"npm run clean && npm run build","lint:fix":"npm run tslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","tslint:fix":"npm run tslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","build:apidocs":"lb-apidocs","prepublishOnly":"npm run clean && npm run build && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"6.9.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"10.16.0","dependencies":{"passport":"^0.4.0","passport-local":"^1.0.0","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","passport-oauth2-client-password":"^0.1.2"},"_hasShrinkwrap":false,"devDependencies":{"lodash":"^4.17.11","tslint":"^5.18.0","typescript":"^3.5.2","@types/node":"^10.14.8","@loopback/boot":"^1.4.2","@loopback/core":"^1.8.3","@loopback/rest":"^1.16.1","@types/express":"^4.17.0","@loopback/build":"^1.7.1","@types/passport":"^1.0.0","@loopback/context":"^1.20.0","@loopback/testlab":"^1.6.1","@types/passport-local":"^1.0.33","@loopback/tslint-config":"^2.1.0","@types/passport-http-bearer":"^1.0.33","@types/passport-google-oauth20":"^2.0.1","@types/passport-oauth2-client-password":"^0.1.2"},"peerDependencies":{"@loopback/boot":"^1.4.0","@loopback/core":"^1.8.1","@loopback/rest":"^1.15.0","@loopback/context":"^1.19.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_2.0.1_1561146498042_0.28894116316774454","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"loopback4-authentication","version":"2.1.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@2.1.0","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"2e3a56a3d931de11afeee58766d6a4c968c73eba","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-2.1.0.tgz","fileCount":47,"integrity":"sha512-ODiV0+1tusRXRekUiEFxo0md7sXWAZaA9mxqMqpBN9CHOSTScUatp4bmVURBnuMMDzRsEJWpV2jAkEJK1DyirQ==","signatures":[{"sig":"MEUCIBqJw6hkSKwHCqq+Wlrw9j1fl8wA9d29guS7LvI3/39qAiEAqdtFsc/GFSef4GvgUIueOVtAur44K4f9TDvcv32f1Y8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88087,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdIhmaCRA9TVsSAnZWagAAynYQAJPDhNkivGUCauFFEUfV\ndU/60K+L/Vyc6mElIOIpB2jPcqtn1ho0pkgy0heug2KxXNQhl81WxdkZ5gnn\nkguO/Id1N89D9CQiJ0djADMspGIgSIvWzmkDvjQlP0lnxyi+nod4Wjs8z/02\nN4nybn6OlIWVM/tD8uunle+DIdczCIcAYJobuQ1NUhVBRDUTTTDiQjP4g2qI\ncLpHB99N7ZnPPsVJIZ5LAyt9PZJ8jQo4uzRtB0BkAb+57mv0A9z0I0LVoB+/\nzMXCtKtdYdDEPmxG3d3j7AjKCXteJA1ZRrr0Z6Jsa0G/D+v3Pm+vjQAXTkyQ\n0/zeTbp6e2fvwE/Nzq2YYW11NXD5CqIrFP5JPLuq/3FplaN4LjoeE7uJqBBT\ncFcnoUsaDoJ0eOvk4Ws92WTnCXyNBUmacHqkCGntjeghnB08w+co5o47t2+w\n2WYiSkkP2z5Ck3xnaOrF6pvoH7zjbgcHmlaae7Ri5AANXJj2RE2yiIaKd4cz\nUHNfqaipV0WXsWh+rb6qvl/YV45fyVQcsyfbqUj6+rQf/9+Yn5+UrtDfbsFm\nS8EEtzhljdgcyCjoUIRGNad+AJ5jYLdpPAf40xoFCw0FZkXPJ9ePalybXZSv\nePm9EbUZmWvhy6gN5RjKvUl8YuLcOGxqlpDxINrxX6jItlr62YSW68vkdnSy\nl/tJ\r\n=AfMG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"3b54ebcab78ee9db3f7163c1deae2a2ee631f0b5","scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"lb-tsc --outDir dist","clean":"lb-clean dist","eslint":"lb-eslint --report-unused-disable-directives .","pretest":"npm run clean && npm run build","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run clean && npm run build && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"6.9.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"10.16.0","dependencies":{"passport":"^0.4.0","passport-local":"^1.0.0","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","passport-oauth2-client-password":"^0.1.2"},"_hasShrinkwrap":false,"devDependencies":{"lodash":"^4.17.11","tslint":"^5.18.0","typescript":"^3.5.2","@types/node":"^10.14.8","@types/lodash":"^4.14.135","@loopback/boot":"^1.4.4","@loopback/core":"^1.8.5","@loopback/rest":"^1.16.3","@types/express":"^4.17.0","@loopback/build":"^2.0.3","@types/passport":"^1.0.0","@loopback/context":"^1.20.2","@loopback/testlab":"^1.6.3","@types/passport-local":"^1.0.33","@loopback/tslint-config":"^2.1.0","@types/passport-http-bearer":"^1.0.33","@types/passport-google-oauth20":"^2.0.1","@types/passport-oauth2-client-password":"^0.1.2"},"peerDependencies":{"@loopback/boot":"^1.4.4","@loopback/core":"^1.8.5","@loopback/rest":"^1.16.3","@loopback/context":"^1.20.2"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_2.1.0_1562515865578_0.7839096668820882","host":"s3://npm-registry-packages"}},"2.1.1":{"name":"loopback4-authentication","version":"2.1.1","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@2.1.1","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"b8f6f68579a56cb8bef2a06b1032325d445d8aed","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-2.1.1.tgz","fileCount":158,"integrity":"sha512-eah+6bhM0UqgrRvj6uEyxohSy92e2xqJpsoXhr8n5i38ai5MLO9+HwVUOI7ZUNJv+sUjYqcpFXKafyE30GEPMA==","signatures":[{"sig":"MEUCIQDvEHvyd7+nH5YoCXL41quETxfL0Pla1BSBcs+y0aPLNAIgPZjZ3WRnsemDmrf15dQCWvYZB7ZrGLZAzOfsf0SoheE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":186285,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdIh/3CRA9TVsSAnZWagAAMUoQAJo3nCLMy0AO+Pqif/gu\nR9r0A/iO3wsBum9+0qeKAyic5SQhlWi0qguMNaZlEzx4HwYFwbkQlmHekWwx\nNbDMDYQu2X8NNZn/tfBicJreZlxrZQXH0mhcJmPpPW3IA/dKqPbKQiEP0jll\n82svr00+ffUODEdl15hmDyuem+eMhFMsuyC+qJNEbmHC0RspQz8FBcZ9iFBG\nmjTeJyIWmBnIJzi9twv/9ZvPx35mzLoCUv1Bzg++NdwsExfsL1KJHI1YCdo/\n6nJSgNaOHl9eJTvw3E9ZYXcuVODBdZ0+vggcMJ7T896TkWSVfJOlXXAtYYKm\nSN9PNMq0cXfdyJ29+fewUmF0VR68T+whG4xyWnXC8gwZsaYLzd5RnoAaWOT+\nYqMLL7Zbwzk6r8jraMBexrsrY5PLcZf8TjR/dHCZ14JWwfCSOFnYef7kaZsv\n3o8PV2VQzxqjq5ng/e9Qxd+FTj8HyI9ys6ysUMJeOyo+R/zRQAw6xNyu0QfN\n85jyEcvUt7vQzzAEbUj8vBnFId2Vjm8yP0fT57oKkeRC2A5pp6l/DioM4Iau\nggWKgR/3FDlDMNIG782RJ2ZRMdE7e/byk0TSQuuKw45F3V+QxGkniRCnsxtg\nzp/cdyVPwYa5gGjjfPvWgP3DdDgJDQf1m/WaKCxyjzyIO3bdTAkfleeqDAIC\ndw6j\r\n=Nmig\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"dcbc908162fdf2760e60f52f9ba39ffbe48cc1fe","scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"lb-tsc --outDir dist","clean":"lb-clean dist","eslint":"lb-eslint --report-unused-disable-directives .","pretest":"npm run clean && npm run build","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run clean && npm run build && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"6.9.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"10.16.0","dependencies":{"passport":"^0.4.0","passport-local":"^1.0.0","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","passport-oauth2-client-password":"^0.1.2"},"_hasShrinkwrap":false,"devDependencies":{"lodash":"^4.17.11","tslint":"^5.18.0","typescript":"^3.5.2","@types/node":"^10.14.8","@types/lodash":"^4.14.135","@loopback/boot":"^1.4.4","@loopback/core":"^1.8.5","@loopback/rest":"^1.16.3","@types/express":"^4.17.0","@loopback/build":"^2.0.3","@types/passport":"^1.0.0","@loopback/context":"^1.20.2","@loopback/testlab":"^1.6.3","@types/passport-local":"^1.0.33","@loopback/tslint-config":"^2.1.0","@types/passport-http-bearer":"^1.0.33","@types/passport-google-oauth20":"^2.0.1","@types/passport-oauth2-client-password":"^0.1.2"},"peerDependencies":{"@loopback/boot":"^1.4.4","@loopback/core":"^1.8.5","@loopback/rest":"^1.16.3","@loopback/context":"^1.20.2"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_2.1.1_1562517494802_0.7810017202759747","host":"s3://npm-registry-packages"}},"2.1.3":{"name":"loopback4-authentication","version":"2.1.3","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@2.1.3","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"85975efa240ec2ccbc810a67435ca38304c18e2b","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-2.1.3.tgz","fileCount":158,"integrity":"sha512-9EFp1M3HJe8Jstzhx12BAb4xJvEM4Ns3qN18vgxrmlcC+pcyW5CoQsBQezsc51Qg5/q1SnZFXmheyomOeW3Ugw==","signatures":[{"sig":"MEQCIGVgkDnLSaJ4EQJZJsbzRLv3c8ruZZ2Bu/ii/MOuKRBPAiAip9eEtnbZhLmtaMPJIt4abV5oMIVdTElLIOh0g12P2w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":187027,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdNx3nCRA9TVsSAnZWagAAn6cQAJ7qqFrvKxtT/GJqi7hY\nkVC17e5JjRQ/EorjaxYIEqXQKMcD7moOPjGKt7H92jIQQZCFbg2mJOMvXfR/\nuP/wC9WQbmcvcNk53gD+VVE5MKizXVbGp2UVG9HCH01PWLsAAmfM1i6p2/PP\nQ6JuzZuax3UXTBFWJKEfvLUsVzmryo0kSPdDmeiYTBO8rV7IE0RQyEljY6lH\nrrs1KX0kIrZAYCM8FPZoywx51a20vyzfRuqg+QKq2cB52wpgwuTqgyKBnwpF\nLwMarjrH2kXB+D2aM3GjhfAHz8CTnhz510LuTYA+/XeaoVk1O7dhDP/sK8+v\nTcS1k3nRJxSqFsXJaZ9tIm6aHrj022OPB0V5HaGt66k2ak4f6SFG+zR8PrDW\nqe/XnywC7A3q2BOKTvj3pVoz9PhIPfDZ7WeAxnUlp447rT7kWMEXfk6v/wCs\nJbx0gKqwH/PkpXfDPwGGH7AH+/KLkrO7rYZ0uigPuUW8chQJ6RRNWbghxFMJ\niuXHQAdhWA9ES8pJ9qWSdsAXcAxJo2SZoEk9v+czl8G+W2YPRjyjLh8xHJTk\nW8zmqvmVWggQv3LqtRgeA093/fslkdhwDqPD1SzCi+sGIsqLRGr8UBbGRcG1\nOBnMzQTx5ZIZWWvzOo3+M3c+Mcb1j8a5DEZeCGLyqR5V3uUbRlHUQR/a8Lcp\n3/vx\r\n=DrHl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"665190b0e429d628b0d36c23dfde411b2b30e16c","scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"lb-tsc --outDir dist","clean":"lb-clean dist","eslint":"lb-eslint --report-unused-disable-directives .","pretest":"npm run clean && npm run build","coverage":"nyc --reporter=html npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"6.9.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"10.16.0","dependencies":{"passport":"^0.4.0","passport-local":"^1.0.0","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","passport-oauth2-client-password":"^0.1.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","lodash":"^4.17.14","tslint":"^5.18.0","ts-node":"^8.3.0","typescript":"^3.5.2","@types/node":"^10.14.8","@types/lodash":"^4.14.135","@loopback/boot":"^1.4.4","@loopback/core":"^1.8.5","@loopback/rest":"^1.16.3","@types/express":"^4.17.0","@loopback/build":"^2.0.3","@types/passport":"^1.0.0","@loopback/context":"^1.20.2","@loopback/testlab":"^1.6.3","source-map-support":"^0.5.12","@types/passport-local":"^1.0.33","@loopback/tslint-config":"^2.1.0","@types/passport-http-bearer":"^1.0.33","@types/passport-google-oauth20":"^2.0.1","@istanbuljs/nyc-config-typescript":"^0.1.3","@types/passport-oauth2-client-password":"^0.1.2"},"peerDependencies":{"@loopback/boot":"^1.4.4","@loopback/core":"^1.8.5","@loopback/rest":"^1.16.3","@loopback/context":"^1.20.2"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_2.1.3_1563893222171_0.9722302656828523","host":"s3://npm-registry-packages"}},"2.1.4":{"name":"loopback4-authentication","version":"2.1.4","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@2.1.4","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"a9a4a695f2010e98ae9b772444493eae24882a97","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-2.1.4.tgz","fileCount":158,"integrity":"sha512-kx4I0n07Bpn5/8Gr1yXQxikELiCP/4U9nNx/OTkrkuyOST1SbMLMzRs8OtlaLBZZSW5lSfA5hKpmN5DW5SJlbQ==","signatures":[{"sig":"MEYCIQCSVNrI808/vbQgrcI0MHjQ3bzJjdnTyxTLCVOp9+d0KQIhAJURTft7IZnh5YHHClctgyURJTh8vaWCK3GtfZXlOWo5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":187045,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXq0bCRA9TVsSAnZWagAAZsoP/1StqNwDcAgNhScxIpjg\nz8h/sedjsRAhmKtPpX68nbp72DCTSq2foxjNKlo8UVNvUSkGN49WXhSp/D53\ngMZMx+RUS3rb2Rpn467Yxlcf0Uj0x1Jw0qULFiVssSi8K8g9XQ2PtoOJ3ACd\n2p/hx7/LLn5DwKd2tuLClMCu+xnT4gNPldDnlc+iK3gG30slM9cYhD9FoCss\nP5WJyfB1vhrT2lpGsrm9nhjR51zLXMcHMEd2DBHkRNF0iKd38KRhfPsPWo2L\nly41t96mMaUjVqSWP1zNJuT5XISWyqL5HhS5NtKVHvvIFtY4JViFywj2IRGJ\nrAU1U/GgLDX+St2maxineInEDgS5kDmMz8S1yjkaKYSijIIB54gvI8kpp8Ek\nnhanB/+AYp18u9HdZ0yD3bI4sVNpgOp+GEblihq6WoZAzUzbm61ZQjEAD/HO\nZZ3wdMPULryaMcJhYBJxVKSp7RALQaAFgHgkkcybuduZc+E22eBTAndCRq+b\nMzR2L6e7vMGsvoLibx9vMcUpA2ZTooWSVK0cntxv0MUwZQDSzgJitANurwRD\nEPdU2xPeMq3lab/+Ns95qwD/lbJUJ2bPypTJDWeBb8Yy9DGZW2m65RPjQOKo\n0yj2Xid1nQDTgAt5sBn0LJrOU/EV01sA5v27vKquEtOqegfpdI2XqmLjVZJW\nsywK\r\n=sxFx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"9d35f56a45e8e24efeb8c6ea6dd47660f0aca579","scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","pretest":"npm run build","coverage":"nyc --reporter=html npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"6.9.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"10.16.0","dependencies":{"passport":"^0.4.0","passport-local":"^1.0.0","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","passport-oauth2-client-password":"^0.1.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","lodash":"^4.17.14","tslint":"^5.18.0","ts-node":"^8.3.0","typescript":"^3.5.2","@types/node":"^10.14.8","@types/lodash":"^4.14.135","@loopback/boot":"^1.4.4","@loopback/core":"^1.8.5","@loopback/rest":"^1.16.3","@types/express":"^4.17.0","@loopback/build":"^2.0.5","@types/passport":"^1.0.0","@loopback/context":"^1.20.2","@loopback/testlab":"^1.6.3","source-map-support":"^0.5.12","@types/passport-local":"^1.0.33","@loopback/tslint-config":"^2.1.0","@types/passport-http-bearer":"^1.0.33","@types/passport-google-oauth20":"^2.0.1","@istanbuljs/nyc-config-typescript":"^0.1.3","@types/passport-oauth2-client-password":"^0.1.2"},"peerDependencies":{"@loopback/boot":"^1.4.4","@loopback/core":"^1.8.5","@loopback/rest":"^1.16.3","@loopback/context":"^1.20.2"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_2.1.4_1583263002974_0.1252968793721554","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"loopback4-authentication","version":"3.0.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@3.0.0","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"a6a14e2a5ed83ecfa3235176de7fba0034d5578d","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-3.0.0.tgz","fileCount":170,"integrity":"sha512-6txclHBETWomVLNh6BgF6xX1Moh4OvFvMEpL9zhK7tOy9zO0ixw6mXXXBLq4GfyNLywp7NPi113n9sBSxNevQA==","signatures":[{"sig":"MEUCIBCJaJPrQ1pcwbtQFLGIjREZY6o1LmfobBLZRfk397EYAiEA4rGGU5RJoMCGcYIS023Xq/jIZAol2OJfPvDum/NJPHQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":199454,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezp/LCRA9TVsSAnZWagAAV/kP/1weYiavsNlAD7WcM43S\nL4Qu/Kf7T9imJDMBJa/HBKK/xImB2e7SaMF/aKFcUKb5fWfY6KImb911Mw0V\n+mEIiySO7XWea4JM+1N/whiVARlukbc7SppfEeaZP5xYIbqpJpMXQZhra0d+\nZAlB4FS1X2JWnSDoDSQGmMR3H1OXwQKkd1juWX5MPH+IACnYLg8xvSnG7I8X\neQnoI5UKbDholiZgS/WJgoHofEgUO9AOiiOG6JhwAojQPQ2AVri0uU3dTCqO\nYLVWaB6Mni0I9KGv+YX2GpPI1ef2AeZSYY+BnDpO+WQLCaCnnGBD7oUCrwit\nbQaHoyVKFv65884q3LpjVP9GUhBcodWVHd3B3fH+ylEiaRLYjFbpIW7aXm4b\nyu/WtohC5EP+2MU1lBtHNTdqp49mI5gynKgYxMjNNSpzb+X+yDccJMhKP+OZ\nPGGDk8/Ts/+PdhBrctAvDt0NJsZXEZj5k2XO1+BEHKqTCnHUtdpohEFsSolD\nBTD67ujxtUwSt0y+wNzh8zOh61Lu0D/8RoFZzGbzyXsp+/lKIgVl1YcsinYe\nzSsGVYDS3qYXrp1eMmoFdA/tXPL1wywXOoj0QS7CCBh+8H14P2DuoxMHELTI\n0ek199pPqWmeF2HIo/dbS1COk7muYXGML+BEhJ1kOsELkNLd1hIYeL9U77O9\nlqkj\r\n=eIbP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"9b05d4295fad840238fb71b4592704a9a8bb9182","scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","pretest":"npm run build","coverage":"nyc --reporter=html npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"6.9.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"10.16.0","dependencies":{"passport":"^0.4.1","@loopback/core":"^2.7.0","passport-local":"^1.0.0","passport-azure-ad":"^4.2.1","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","passport-oauth2-client-password":"^0.1.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.1","lodash":"^4.17.15","tslint":"^6.1.2","ts-node":"^8.10.1","typescript":"~3.9.3","@types/node":"^10.17.24","@types/lodash":"^4.14.150","@loopback/boot":"^2.3.1","@loopback/rest":"^5.0.1","@types/express":"^4.17.6","@loopback/build":"^5.4.1","@types/passport":"^1.0.3","@loopback/context":"^3.8.1","@loopback/testlab":"^3.1.5","@loopback/metadata":"^2.1.5","source-map-support":"^0.5.19","@types/passport-local":"^1.0.33","@loopback/tslint-config":"^2.1.0","@types/passport-azure-ad":"^4.0.5","@types/passport-http-bearer":"^1.0.35","@types/passport-google-oauth20":"^2.0.3","@istanbuljs/nyc-config-typescript":"^1.0.1","@types/passport-oauth2-client-password":"^0.1.2"},"peerDependencies":{"@loopback/boot":"^2.1.2","@loopback/core":"^2.4.2","@loopback/rest":"^3.3.2","@loopback/context":"^3.6.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_3.0.0_1590599626804_0.6515569707250564","host":"s3://npm-registry-packages"}},"3.0.1":{"name":"loopback4-authentication","version":"3.0.1","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@3.0.1","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"00768c4b866a4f95ead97782b3c0bd3660093edd","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-3.0.1.tgz","fileCount":170,"integrity":"sha512-U1guSMCou71VDTsdPI8mm15eqZ6902L7+BhTBg0u5FvWsUyouLfYOmxbb1qfrCe1q7+W7+VMlk+m8j2aOqX3bA==","signatures":[{"sig":"MEUCIGdNYddLRg1/1a9FUGk0g4LUIGFPvuYHtkrPs2ggezo7AiEAmheZe7iRwJkGL1dpl0IIa1604rnPT5z7WqcMadC3bDs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":199526,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezqBtCRA9TVsSAnZWagAA4p8P/3PkbdChAJt5TJAlcGdH\nKL198XEu8UuTUZgmlXQogpDJR642c7LxfUhv34yjZkNntqxihhiMLTWRIhuk\nHU8+vmMQ7few+fydmOwLqr3SKfYvh3hFtpqhThqoi2lIx6opKJxkWj064BKO\n9mxJedZ6Xr5VEyq+ayKWzuzG63h8a8iCernXW9OsSr3lB7/ZY8DiiZrASqOl\ntBEsPgw7FEKJ7MxGSJE6q1GunJUWa1QDmeQkcqBB9DpbjexkkUl0m0Jl1tM4\n4k0EvvvHcNgso8tKk+LKTWXr0wlR+Xcx01mOec0ETe+WZJNDUiTcPDQK2mb4\n8fShygnjPOuKF2ahI1lrlHpMQLbrwgN87+huOMiXRxWKDIuXSN9sMHEU3DPi\nw9race6U6dUr0QBY+DtyGcw/+CSOQkHwQ5ckVApMdUUC5wxRSa+h7sLaKYK/\niDGq744SRnSPif/moi8RyMW7Q3CRNLJqx7rTk7T7aNco1XLokQCLEOYWIIxc\nRRdvHYMQ9EP+e5DdMh+CCVMpzJ0ohvwr82xKflcLwMz0CL3MiFaqcGuf6WIo\n/t4ngB4X13byGsV7PECGqEA6ry2DGBz47EXl8d1al02xSwLfgfuC6Rqqjlbn\nCRgOztReEL882+Cx3s6RHth8jkblmAOZ10zFr30sCfmf0VIp9oy2tOYDGk1H\nXMYu\r\n=MK56\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"a9988b2cd46a17064dd94e2e14c7c453b3db7219","scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","pretest":"npm run build","coverage":"nyc --reporter=html npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"6.9.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"10.16.0","dependencies":{"passport":"^0.4.1","@loopback/core":"^2.7.0","passport-local":"^1.0.0","passport-azure-ad":"^4.2.1","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.1","lodash":"^4.17.15","tslint":"^6.1.2","ts-node":"^8.10.1","typescript":"~3.9.3","@types/node":"^10.17.24","@types/lodash":"^4.14.150","@loopback/boot":"^2.3.1","@loopback/rest":"^5.0.1","@types/express":"^4.17.6","@loopback/build":"^5.4.1","@types/passport":"^1.0.3","@loopback/context":"^3.8.1","@loopback/testlab":"^3.1.5","@loopback/metadata":"^2.1.5","source-map-support":"^0.5.19","@types/passport-local":"^1.0.33","@loopback/tslint-config":"^2.1.0","@types/passport-azure-ad":"^4.0.5","@types/passport-http-bearer":"^1.0.35","@types/passport-google-oauth20":"^2.0.3","@istanbuljs/nyc-config-typescript":"^1.0.1","@types/passport-oauth2-client-password":"^0.1.2"},"peerDependencies":{"@loopback/boot":"^2.1.2","@loopback/core":"^2.4.2","@loopback/rest":"^3.3.2","@loopback/context":"^3.6.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_3.0.1_1590599788832_0.43800529903381435","host":"s3://npm-registry-packages"}},"4.0.0":{"name":"loopback4-authentication","version":"4.0.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@4.0.0","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"19e4272f35b291d211aa4fa0d9cb989824cccadd","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-4.0.0.tgz","fileCount":182,"integrity":"sha512-fsQCPV+Edotf3Y1nR4bDNtW9i750Xos42iumd2A32K+uwbyQjP4967plfwie5LSnPXDFMUafhA8on9fODHcaJg==","signatures":[{"sig":"MEUCIQDkgwf4OvZ1I2QAjbw71kZqRZ4ytPQVIPFaFMmTbpTISgIgSQb7eTkpWG+TgDIMZEsJclCRqQkT4jo+kILwrohufZg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":209486,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDnl3CRA9TVsSAnZWagAARl4P/3eVbDs/0mUPWY2H3/IU\nleSq7FUbF7aPbKj7zGs3xXz3QzMmA8wDNIKGodu8XFrl7wVlkvpGY5Ain0WI\nGVlQe7DuTHmeF865EDieLz0R++BsusoeSuuykqXJlpDEE5IA5Fdi6MxHk0zi\n6IXkn0WtE2Lisnsv28wOACiy4ZIXCUTpIUg/JATB33V+rRADO92VxfwLLgSC\nccJTuMiuEQE4WduJIEBJ2WfpluKQvEVNwV0UTvoMTeNcvtlOBG/4QEpBWkWi\nJW47FI8XihScbl3GjGD6ym0jF4QNmhF3edPRnZz9KMnPfYq7N+rzUM9qz/WG\nJyp4SJQrL3EA0IwLo89MrkRG7GAZ4xL9t+JfNJuNJaFH4TQY35ZD24EWwbkh\nJaKu62S+8R+XuVlBoBeHG3XTPDdaAmdB5SgHxhPZIxFx1xRzh0RtpEIa07+y\nVjMGHWdYCOaDOTzlXRy2hr5+V3Rs7R4oEiKHYN0ddyr2pPkGSw1IKVd45Rfv\nkpd0Bakp/SWfSiOsPAOJPEcHQmwUzUgBT7AX14cAt8Z0IA0Uv30zKgu/bGMB\nMsvCfr25GO4TSTpdxtqqidPOl9VwVs6F6O1aJGjN6tl4BtnyJwhSAyghjQls\nXLSMs5UBt8XsWBff+fD7P0ogzaY0UBgaJGNRd9DWMS6+ZB/70/UrM/GV8bXy\nmPw+\r\n=wM+t\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"7cb3142b1a998b33ff7c34463c17a4fbfce83bd1","scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","pretest":"npm run build","coverage":"nyc --reporter=html npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"6.9.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"10.16.0","dependencies":{"passport":"^0.4.1","@loopback/core":"^2.9.1","passport-local":"^1.0.0","@loopback/context":"^3.9.2","passport-azure-ad":"^4.2.1","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.1","lodash":"^4.17.19","tslint":"^6.1.2","ts-node":"^8.10.1","typescript":"~3.9.3","@types/node":"^10.17.24","@types/lodash":"^4.14.150","@loopback/boot":"^2.3.1","@loopback/rest":"^5.0.1","@types/express":"^4.17.6","@loopback/build":"^5.4.1","@types/passport":"^1.0.3","@loopback/testlab":"^3.1.5","@loopback/metadata":"^2.1.5","source-map-support":"^0.5.19","@types/passport-local":"^1.0.33","@loopback/tslint-config":"^2.1.0","@types/passport-azure-ad":"^4.0.5","@types/passport-http-bearer":"^1.0.35","@types/passport-google-oauth20":"^2.0.3","@istanbuljs/nyc-config-typescript":"^1.0.1","@types/passport-oauth2-client-password":"^0.1.2"},"peerDependencies":{"@loopback/boot":"^2.1.2","@loopback/rest":"^3.3.2"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_4.0.0_1594784119009_0.6178817626805984","host":"s3://npm-registry-packages"}},"4.0.1":{"name":"loopback4-authentication","version":"4.0.1","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@4.0.1","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"eebb8fc4a314ad1048bd55e4097bde81a7b3729f","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-4.0.1.tgz","fileCount":182,"integrity":"sha512-Ba07SIwsVo/ieU2OCJcjwULZg/GUcmGoM3UGGriQqK9dEetdXjszWn1/3iQtMNCphNoKYTWfvGx7AWbRORpKtg==","signatures":[{"sig":"MEYCIQDod1a4UjzEuhbMj6pdRkVuGxjBdeVx3OLIJwKcZ6h3vgIhAPDHZiumX7FStMZZ1wgeEVeInZo6QvXhkeW4K36dJWsb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":211085,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDoF3CRA9TVsSAnZWagAAEZ4QAKQH3oQfJsib+5LIaKnZ\nUmD19j7SktdHW3BDrUZR6f93hN7n+Mu8oJM2kAZypTaVffX/NkSDDspZBooD\n2pdCOTlTjt0JFksiK3M7MuPZQ0YEjHSpzWH/xhRfdJDw9K7aQQr9S6bw12i7\neA8+eqJxa+xa3ZZ0i66lPIKzlJy92y75GW7b6zhP8Di16vKPZ6g7Ahc8Le50\nCVc/FpGc5nWF3DURWsGMO7jDmBzeVLEjGoCSmJF40MoGhy2roNIstSNOAdkt\nIRKH6EfGwF2ZAtqiw+P/+acL7bY1gTdg/qHxLVRksLs7D++UdYBA2zDtDaOE\nBRihtv/c17tJ5W+WCGM4IZ2CORyLNx/GrYnEeKsn1V+s5aMiGFT0bvD8TvKV\nlc4rL4XchNbdLfsqA+jvNqYxPWMvWxVfLvwhpIXeJBVbAuadlU7gx9NhyHHW\nb3YxdGgwMf6Qef4Sk3gnYaqeciySd9HUQ4bnmT9UW9JOV/W3LRkrk70hKrrw\ngwiFZv7DD/+E2YEZOPmJivHd9RA0L11D7uT5DWj6y/zOewmNukp9jLVeyDMu\n4OViQdQEoClowvsYtnP6Qo664Dy1ewKubY+AAuAlLViF5+aIhpiBv6VAFcqU\np5mw7zMwksLa//As0oDQCb4e5AQgbpm7K+sT0DYyhw6b+ed9ORHQY5HF8Ds0\nat7P\r\n=cacS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"62c8dcd4da5e69e61d4c83f1fd3a5da000ea6272","scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","pretest":"npm run build","coverage":"nyc --reporter=html npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"6.9.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"10.16.0","dependencies":{"passport":"^0.4.1","@loopback/core":"^2.9.1","passport-local":"^1.0.0","@loopback/context":"^3.9.2","passport-azure-ad":"^4.2.1","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.1","lodash":"^4.17.19","tslint":"^6.1.2","ts-node":"^8.10.1","typescript":"~3.9.3","@types/node":"^10.17.24","@types/lodash":"^4.14.150","@loopback/boot":"^2.3.1","@loopback/rest":"^5.0.1","@types/express":"^4.17.6","@loopback/build":"^5.4.1","@types/passport":"^1.0.3","@loopback/testlab":"^3.1.5","@loopback/metadata":"^2.1.5","source-map-support":"^0.5.19","@types/passport-local":"^1.0.33","@loopback/tslint-config":"^2.1.0","@types/passport-azure-ad":"^4.0.5","@types/passport-http-bearer":"^1.0.35","@types/passport-google-oauth20":"^2.0.3","@istanbuljs/nyc-config-typescript":"^1.0.1","@types/passport-oauth2-client-password":"^0.1.2"},"peerDependencies":{"@loopback/boot":"^2.1.2","@loopback/rest":"^3.3.2"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_4.0.1_1594786166843_0.7084492943836387","host":"s3://npm-registry-packages"}},"4.1.0":{"name":"loopback4-authentication","version":"4.1.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@4.1.0","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"f6fde76d9f74309a620ba96507ac42a38f1d420e","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-4.1.0.tgz","fileCount":182,"integrity":"sha512-Dci0R2nGygY2WzGFYJXflaIL9pIdz/nPhJPPK00/x5wVzg4fBqKIy4OGWsUBIeqWgJU0Zd8awsw0yb7c/DTYTw==","signatures":[{"sig":"MEUCIGae9zRTq5+hunbPSzntoaaY8zXgDcuqgPUkGGPTFu7oAiEApe4XMupvHSoAH5ttsIUaca1WxP1HlNDjkaILr2W2uXE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":216835,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2MiVCRA9TVsSAnZWagAA8DIP/i2o+DpcgQVA2C1HqCHq\n5GBpqCkgCpV4vCrqwgsc01j8sabNnuNT30MLY3+CNVVGmt7A+AW7s2rZOkQb\n+oTIdzBnJYdny9Nn8L2CaWbdjKCYi2dZlK469NiFwtWE+MTjELVYOYkXGIF5\nzZYmqrgbmpe+kdYDFHVGWhCtTnVS8WUbG4WXYPHAd0lm9wAXSWAWJr/b7eom\n75T/hARDm+HEfgOG3KPxJTZkSKVRPmSQ/xDGkazRv9cNB4L5Qt7qmvxFnMEA\nRenIDxwEpcZE+nYuJ66KRZfgKVxVULwUbSsU4/Zk21pG9VwpbU0GgoXMwOGg\nqA7euq0hMS9hwP5Wc8DLP+jP6/XPiv00oskSMykK5cfYRV8lQREbyAeBvtle\nS3eWrZvtdStpWngsN2gDcHAH56Gj1LfutoLKLU6tKVVFaT4SAMMtArrDLBq/\n+FR1OKaM1RiYg1waI3k+6DZv7nq/NqdDWk31u2GMzSY53TQkxiyRfGio04LJ\nVt0jw5EouYghJl4N0IkiZ3lZ1EJq8uZ/xLKKbBsVSwKJr1kKeTsuK4LfmTjP\nr7Ex+cz3xXfHP5K0Y+JqTbfgom4r/1azR7CnPA/nzmE9XuLtUmjeobqfMo+u\nEhHzL2cTtPKxOFWH0tnGKTBZLQmcinQ8QRoA4yN+2zv7bQqGZib3po3plzPM\n5/pE\r\n=zeEO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"5a6fd271a25554dcbbc08e30821cd2a1fb6059e5","scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","pretest":"npm run build","coverage":"nyc --reporter=html npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"6.9.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"10.16.0","dependencies":{"passport":"^0.4.1","@loopback/core":"^2.12.0","passport-local":"^1.0.0","@loopback/context":"^3.13.0","passport-azure-ad":"^4.2.1","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","lodash":"^4.17.20","tslint":"^6.1.2","ts-node":"^8.10.1","typescript":"~4.0.5","@types/node":"^10.17.44","@types/lodash":"^4.14.150","@loopback/boot":"^3.1.0","@loopback/rest":"^9.0.0","@types/express":"^4.17.9","@loopback/build":"^6.2.6","@types/passport":"^1.0.3","@loopback/testlab":"^3.2.8","@loopback/metadata":"^3.0.3","source-map-support":"^0.5.19","@types/passport-local":"^1.0.33","@loopback/tslint-config":"^2.1.0","@types/passport-azure-ad":"^4.0.5","@types/passport-http-bearer":"^1.0.35","@types/passport-google-oauth20":"^2.0.3","@istanbuljs/nyc-config-typescript":"^1.0.1","@types/passport-oauth2-client-password":"^0.1.2"},"peerDependencies":{"@loopback/boot":"^2.1.2","@loopback/rest":"^3.3.2"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_4.1.0_1608042644687_0.288338996060056","host":"s3://npm-registry-packages"}},"4.2.0":{"name":"loopback4-authentication","version":"4.2.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@4.2.0","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"92d84bf468fd90b34c47534efdaabbeff541d6c6","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-4.2.0.tgz","fileCount":182,"integrity":"sha512-Y2NBLf6JOUCz2+5KeJ4uXf+Y5IDRkem8ejJEeaKxYtCXT8qjbICaJ27AVcBQFqqTy+WtaJgmEhw2Gl2+lnO5vQ==","signatures":[{"sig":"MEQCIDQK2XBxW+Vus+AI5vRsBexrijii1TeHIEVhoip7ML+DAiAyKL9oBkhbETnqzWPJXoWzh/+2ao8j3NSbwImU/hj2tg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":223793,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQj72CRA9TVsSAnZWagAA9v0QAIzb+Db9Ekh1DlbipCSW\n24l9wciRsN/GsjBq0mYI9BujrHmG3FcrU0K78xsBp342Rx/E3EFDVZU/s2aR\nKCV4iPvDht4+nOYz5ro/69j9Q5bcq3KkRuQrxg94XPFVnDGyQKc5m2JSnPek\nfFEvW8q378dTSzk6O4ROMFzmq8vetlMLvDDwoFz08NGyr+LBp/oUnZ8YzJSl\n/1pDNGalVHdP7ZB3ybIOnwVpbVVw0GWlL3QnB6WyYQ/pCBJBZ3su2AhgLMMH\nRNV7MENX/mIxn5B14OQpVj8YAQXdKFIVoZN8aiPZqzTPjRDnmoRiB4VCyYP2\nC096ITlS6KMrACznur6pxgPLToEnnyHdSiuiYWxCiShOe0id9+v17UbP8eDh\nBSrXshTXSCZzwATFruMtdgRl2jYcdVK+eLE3Ji4j7bnkjdKKcTxtZ4my0KO2\nSYgJksDdi/sLZIntW/f4OWdeJ/wVb+TmfIr/qM0FIMkWZejaw8k3+F/4EjHs\nqxeL0xrknibkFpSk2MTKIzHt+j+CMS9mzlidIdoOUaaY4UgyQLulgjum5L5I\n1bYCn+RUhtHbvfp1QWUX2Gp3cL3VWIaB0AbwDTsuHgEhJPPdiR7V5BzWVs2y\nEScwZ6FLFS+P0ptkhzujyvRUOOFJr//J2TH14VCC77UiSlMdlwh9S0L44Zbp\nXms7\r\n=NHoE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"bc064256362806f166500d1f7a8173c77309cabc","scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","pretest":"npm run build","coverage":"nyc --reporter=html npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"6.9.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"10.16.0","dependencies":{"passport":"^0.4.1","@loopback/core":"^2.12.0","passport-local":"^1.0.0","@loopback/context":"^3.13.0","passport-azure-ad":"^4.2.1","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","lodash":"^4.17.20","tslint":"^6.1.2","ts-node":"^8.10.1","typescript":"~4.0.5","@types/node":"^10.17.44","@types/lodash":"^4.14.150","@loopback/boot":"^3.1.0","@loopback/rest":"^9.0.0","@types/express":"^4.17.9","@loopback/build":"^6.2.6","@types/passport":"^1.0.3","@loopback/testlab":"^3.2.8","@loopback/metadata":"^3.0.3","source-map-support":"^0.5.19","@types/passport-local":"^1.0.33","@loopback/tslint-config":"^2.1.0","@types/passport-azure-ad":"^4.0.5","@types/passport-http-bearer":"^1.0.35","@types/passport-google-oauth20":"^2.0.3","@istanbuljs/nyc-config-typescript":"^1.0.1","@types/passport-oauth2-client-password":"^0.1.2"},"peerDependencies":{"@loopback/boot":"^2.1.2","@loopback/rest":"^3.3.2"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_4.2.0_1614954229467_0.20652921168176652","host":"s3://npm-registry-packages"}},"4.3.0":{"name":"loopback4-authentication","version":"4.3.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@4.3.0","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"523049eb5a42b0f3d87f2bb43d8139adadf575cf","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-4.3.0.tgz","fileCount":182,"integrity":"sha512-r7Bk+e3kX4y3VkUIK1dLoeG1rMccPb4vROfwCH6eeqDH0DsLORf7xEAPTeq4YHUZb2tKF8SMbOX4MulzyvreJQ==","signatures":[{"sig":"MEQCIEiaGV5fZeenG+fRnL8Z6F77K0qznjdS6omQBqOUf6wcAiA/BAww5lWb+ozdppitwROcjywW9XC4LfmFS35XO27IAg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":227767,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZJTcCRA9TVsSAnZWagAAS3wP/3LBM4Id6qD4bEGVujXn\n2j4+rjv6CKythQR2gXg+ZWocwIAvkLlOZQ4Pi3acw8tyIEgdsw8r3Smutx5T\nRHccAJQ6HOou5CUjxkcVAx4RyfOekPu3WMNW1HQAS+93iXtHVAGVusq/TLxR\nR+OxbSKlLD9FLGChWMeiIvFXBALxdwaEMKF1fwpljJWFZu//aOMjAhUBJsQy\n8Cf7SKF83bXA1EMjM2eKKAanCNkCI/cubKGSDX1vxcAUZV1X3otgxZb1pEUG\nqgH4OYl6R8+7YTaB240L6Y76JltFQK7K+xzODOy0vMyWfEdudsCVBE9MWgqJ\nc92VUnH5Zsr5cP9XU+U/AgJ+c9b8iyEn/XC/fkNAtI9RyQWKkG3IKJmgUSNx\n0R/jYCPDGswwO1jlNkTSFO5NK0iMXug4TWFf0V3d1i+gw521/b3EuyFCG5jU\nXAordVHtcCgT/H7SyIp+sfoKORoi0/Th/RKKskJZdGuHOyHOJIsicn3TcEpw\nNLbNrtPAEY0gesL0yX1n6behDCYjzpHxWV58SHZJHPQucqYYhfrehLD+Ex5d\nPp5CitP04JtQsfuB+YANsUs+oFypC8yGfdjmC7J9f74+rZP08/tG8iE/mFhM\nr1ujuZESjV9AGrqx+VxvLj17EaYdmDdq782vqlmJUIOiDDGuU6Fmr10L4grx\nF+Fv\r\n=FDBn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"46ce084464f4f21ca6dcd3124996c43bf6b9f30f","scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","pretest":"npm run build","coverage":"nyc --reporter=html npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"6.9.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"10.16.0","dependencies":{"passport":"^0.4.1","@loopback/core":"^2.12.0","passport-local":"^1.0.0","@loopback/context":"^3.13.0","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.2.1","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","lodash":"^4.17.20","tslint":"^6.1.2","ts-node":"^8.10.1","typescript":"~4.0.5","@types/node":"^10.17.44","@types/lodash":"^4.14.150","@loopback/boot":"^3.1.0","@loopback/rest":"^9.0.0","@types/express":"^4.17.9","@loopback/build":"^6.2.6","@types/passport":"^1.0.3","@loopback/testlab":"^3.2.8","@loopback/metadata":"^3.0.3","source-map-support":"^0.5.19","@types/passport-local":"^1.0.33","@loopback/tslint-config":"^2.1.0","@types/passport-azure-ad":"^4.0.5","@types/passport-http-bearer":"^1.0.35","@types/passport-google-oauth20":"^2.0.3","@istanbuljs/nyc-config-typescript":"^1.0.1","@types/passport-oauth2-client-password":"^0.1.2"},"peerDependencies":{"@loopback/boot":"^2.1.2","@loopback/rest":"^3.3.2"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_4.3.0_1617204443652_0.840669081489752","host":"s3://npm-registry-packages"}},"4.4.0":{"name":"loopback4-authentication","version":"4.4.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@4.4.0","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"07560750e5792dc379f4fb2e3e9ad2c4790e6a2b","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-4.4.0.tgz","fileCount":194,"integrity":"sha512-zwYMs0YLJBANFf7NHDVj/P5D5Y5UBOf8XhghZW6LBD0j6CMwWFHNPQYbNXkafzvEQVoDpNgg6KJEu4uIRQK0EA==","signatures":[{"sig":"MEUCID6wGUgnuUSqZdhK39ZkY0AjCG5ZGLqODYR7qjFdzAH8AiEAhQEiedkHU82AiYMWoZ7YSR715PVoDmrrM+10RNX5xu4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":254213,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkU1lCRA9TVsSAnZWagAAoDgP/RNnB7/0rx1nWk0QPSR0\n43hGNFwtvGuP5zp0JfLKCF37CukUidfnLwocpG7SuswVhj7A2JNMIu7qv5Z3\nUia1CTnlqt2/+A87GNEJbTSuGLQTgrGCuPdQQQdJuzw8qgBlRkFI6IGTOGiR\n3MGppz0xJKKxY2Dk6bMjs+8NcXgH/1bDNqA5P/TCkRxynPONxFEyRzEC9DA/\nr09QsQSqaR/z8QcR1pQ01FweAaWiYJWaBLvAj1ann4nJGcaRsX9Qeo/GsbOc\nB3bJHdt+ree/pOYK1J1DGphR0LDZUNKxf2ShmSnFhBBh/oE1JfbX0dLa2yeq\nEsFlo4f4rYKXpncraQki/+5iPImKHQEQtrHEXmBh7ld3auOWyLSSB6F48g5h\nvhdtbR0tvqRxXawlprZY/b92xvKOw3KDU/Lp5tLh2hJrYtq0IkxmG9R0qogV\nv/POhJTg3JivNy1r+jFRuUa1y+r7MVoMpIIJlzQLxMUphCSxlvXLUoN5Yzio\nA6v3PoPAXFSJ5sm3vL8vY0+ZPfNlpNwcZmC+YH0VLMp896oAvixaUKTOSqnC\n0INwn7MQrMdAWFgcJ0L9IlfNIAbhScqQkhmjfu/qmZxwJQrrXTdl83+MAD+d\naOQ6199ZD98gkThNkk8Qlu7P38SPabMNdNWaS/zLFe9hoFqayTLXDGKkx+v/\nOcRT\r\n=a4Jd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"15b90df04db5c00309058c2194d01210d76d511f","scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","pretest":"npm run build","coverage":"nyc --reporter=html npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"6.9.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"10.16.0","dependencies":{"passport":"^0.4.1","@loopback/core":"^2.12.0","passport-local":"^1.0.0","@loopback/context":"^3.13.0","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.2.1","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","lodash":"^4.17.20","tslint":"^6.1.2","ts-node":"^8.10.1","typescript":"~4.0.5","@types/node":"^10.17.44","@types/lodash":"^4.14.150","@loopback/boot":"^3.1.0","@loopback/rest":"^9.0.0","@types/express":"^4.17.9","@loopback/build":"^6.2.6","@types/passport":"^1.0.3","@loopback/testlab":"^3.2.8","@loopback/metadata":"^3.0.3","source-map-support":"^0.5.19","@types/passport-local":"^1.0.33","@loopback/tslint-config":"^2.1.0","@types/passport-azure-ad":"^4.0.5","@types/passport-instagram":"^1.0.1","@types/passport-http-bearer":"^1.0.35","@types/passport-google-oauth20":"^2.0.3","@istanbuljs/nyc-config-typescript":"^1.0.1","@types/passport-oauth2-client-password":"^0.1.2"},"peerDependencies":{"@loopback/boot":"^2.1.2","@loopback/rest":"^3.3.2"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_4.4.0_1620135268585_0.816359215315567","host":"s3://npm-registry-packages"}},"4.5.0":{"name":"loopback4-authentication","version":"4.5.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@4.5.0","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"85a400f00425afbe81aba2830abed785025123c0","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-4.5.0.tgz","fileCount":194,"integrity":"sha512-OcVo7wvSltB1TLVt+A9tJ8CLsunFGnNCFknIGX3KGpTzvie/4c1QElzbtrcwlv+bMgUDdNpShc0lnA6yuoryRw==","signatures":[{"sig":"MEUCIQDr8utBZ9Y28m9DZs0DaBf+v7s7RC6B2DCIiVrArZ2akQIgQFIg/pUNBcHY8RJ6YY/x0eJaayp4lwWvM/AgguOVD6s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":254863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJglaloCRA9TVsSAnZWagAAQ44P/0aLJiMjrAJJlnzTbz36\noUKWd3DFuK5CSZqzx5zgK2DkE0znsjAytJJtiElmZuq7rAlyHqwWur8tegUd\n43dJ0KzU2iK+siygUEbJsm0dMaqJAc//1t6M2Ap+sBhL0NcBP5+4jJqIzZmY\ntAbt0GyjYufgQTTd7pmoVsF71v0+w4vVDxmPCwZKEGQMra+8Q6PronfZ70cx\nTd8ZtioiEBJH3oglpEunUPLIVKV2O61YHmXwPKBEN11fhzX8vMitvxVLOrEJ\n73YAKrqVR3I/G9+ESwKP9AOh550esdcSvDnVRrLtEcVl7sVvmHL5/9dc5Cl6\nnvGjhx+CwN4NUjt42DotuUroqLOj/XBu04CEnOZj6I0ag+/J2JtXT3PbHCDd\nz7GrHbGUtLYJZsHEIrQEqnUJMeixqTKR5dfgKl5X4NYG5vrAxriHFkBsKY9o\n6c3fiWL20CPcvkBbcqM38OmLqFWWGq7BKiLRRtUv8dfQHUnfbTs5uv6QkS93\nj7pEXGeLBXYXKceMLwPtmutQY+Hrmkyx0fd2y1XqYDnT7mYSl7d+e+eupwfK\n0Tz4LEZ3ErioZuQG1otNa6I+Om8Q5WhrQPXTZbhyYJStsQsB2nxBGGIt4T5g\ntoOzhhsMeDH0TYuFTENdmJES1y9TvoSdo6MnY3mnDHWdYsrxzRihHMW1vdjQ\nSPnm\r\n=Wf+D\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"7d7e8f28ceccd2b55ebfd32b4672a213bfaec975","scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","pretest":"npm run build","coverage":"nyc --reporter=html npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"6.9.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"10.16.0","dependencies":{"passport":"^0.4.1","@loopback/core":"^2.16.0","passport-local":"^1.0.0","@loopback/context":"^3.16.0","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","lodash":"^4.17.21","tslint":"^6.1.2","ts-node":"^8.10.1","typescript":"~4.2.4","@types/node":"^10.17.59","@types/lodash":"^4.14.150","@loopback/boot":"^3.4.0","@loopback/rest":"^9.3.0","@types/express":"^4.17.9","@loopback/build":"^6.4.0","@types/passport":"^1.0.3","@loopback/testlab":"^3.4.0","@loopback/metadata":"^3.3.0","source-map-support":"^0.5.19","@types/passport-local":"^1.0.33","@loopback/tslint-config":"^2.1.0","@types/passport-azure-ad":"^4.0.8","@types/passport-instagram":"^1.0.1","@types/passport-http-bearer":"^1.0.35","@types/passport-google-oauth20":"^2.0.3","@istanbuljs/nyc-config-typescript":"^1.0.1","@types/passport-oauth2-client-password":"^0.1.2"},"peerDependencies":{"@loopback/boot":"^3.4.0","@loopback/rest":"^9.3.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_4.5.0_1620420967847_0.5302734297467706","host":"s3://npm-registry-packages"}},"4.5.1":{"name":"loopback4-authentication","version":"4.5.1","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@4.5.1","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"f59fc2177e19d994fe1d121d8b20518ce1bbe7b3","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-4.5.1.tgz","fileCount":194,"integrity":"sha512-Be9xiBhZOWHYGDk/VFar4QSZtP2dJRolc7Jq1rCcOP2t1NHNYMZ10Y3WvYfFehSnLid+i4qVOibKJw35eCS60A==","signatures":[{"sig":"MEUCIQDTVj9iV/Zhko+7jeD/JKiDbxfD0UpROpV8xOdsU7PIWAIgJkq4cb02PhuDaf8spRPifDMgmkKTIIU/RDuy2BsHbcI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":258626,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgzjSQCRA9TVsSAnZWagAAUtAP+wegHnfwZ2t3BatL4QPe\nXQx9aZNSVO3s/OjQr/xkFRZ1wfRnKp8P9acA53jUJGiejag4IJWXXEHGJt71\nSfLtWIsmL01nrryQv0YrZl/J3zjOVynVKFUFy9lhOOCRzsneQbDFT9LPuczm\n6WyS8vd8bs2IXjuQ6DQVEJFud4cUpiyRIThpvC7vXojV+PQFQIdjt3h1Pjds\nkKWGzwJwlsNGGLjb68GpevFdsTQWVnwgy8cYFMW9BVsaMp40/vCYuH4oh9AT\nHifIITvCqf37+/VI9MkFQgZhLlAqnokDeomCJlPeBjJC3zzh/wBQXXd9K7Pp\nqvrCefI3mRZVVd8i8w4lRSPuSamHcLAoIacZTgvCAmE6py3p3xCy9r/mHwJr\nYE2kBYaQ1lER5rRElZPd1F9nLLCTCall4YRG63VWjX+Wsrt5RIy5vKGZR/Ld\nIlLAd1XTtAXeHbwwRC30mU3mzNM7hG3CypE8K2ZzsRlhmcku0H/pTyWiszw4\najhO4Hr41B2BzvrFytTAEGgEbzFwOB3ibGW8V3YMyMASB5KESyIa6rp0ke0f\nSVPLvaEq4k4Dru3D8AcptOeiUFC6hGU/wukqibFXMvcZFqro2X85OrdKWQwn\n8pO8qz96XxgHzkjv7e9gWRkmLmhsK13fH3WBbwEqYkgIW6vjuEptnS8wKFCk\nS+6j\r\n=LeIj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"5db7f73937149afa48dca40c777e1df927199397","scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","pretest":"npm run build","coverage":"nyc --reporter=html npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"6.9.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"10.16.0","dependencies":{"passport":"^0.4.1","@loopback/core":"^2.16.0","passport-local":"^1.0.0","@loopback/context":"^3.16.0","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","lodash":"^4.17.21","tslint":"^6.1.2","ts-node":"^8.10.1","typescript":"~4.2.4","@types/node":"^10.17.59","@types/lodash":"^4.14.150","@loopback/boot":"^3.4.0","@loopback/rest":"^9.3.0","@types/express":"^4.17.9","@loopback/build":"^6.4.0","@types/passport":"^1.0.3","@loopback/testlab":"^3.4.0","@loopback/metadata":"^3.3.0","source-map-support":"^0.5.19","@types/passport-local":"^1.0.33","@loopback/tslint-config":"^2.1.0","@types/passport-azure-ad":"^4.0.8","@types/passport-instagram":"^1.0.1","@types/passport-http-bearer":"^1.0.35","@types/passport-google-oauth20":"^2.0.3","@istanbuljs/nyc-config-typescript":"^1.0.1","@types/passport-oauth2-client-password":"^0.1.2"},"peerDependencies":{"@loopback/boot":"^3.4.0","@loopback/rest":"^9.3.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_4.5.1_1624126605333_0.3433707155911052","host":"s3://npm-registry-packages"}},"4.5.2":{"name":"loopback4-authentication","version":"4.5.2","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@4.5.2","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"bab3ef4e289dcb080cf2dd1e49f3db8cd3bb2e55","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-4.5.2.tgz","fileCount":194,"integrity":"sha512-diyK+0f/fwSYk+YGzaIvuqz7T9qWF74PIMNA73oa3Etx++bTjqfokEQ2k+epoAlziuX4n9bag05pDZVujJacvA==","signatures":[{"sig":"MEYCIQDuiPzTnkGf9oyb9IZaZpU4Rkm+2i764JkGuiXcHRNYrAIhAN+0dNerzZl1QNIDIydb/9PNtgc+IuQEjuupHvWsF9qq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":259601,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgzzUHCRA9TVsSAnZWagAAMDkP/jqYxG7UL3+bsEz03h6/\niU2bAiPMn2J0KLPEAOO6euc4fqltW2HYikMe8Tl/wSqyEJULdUAptf9I1aS/\nbvxNYrQuq+nf7lF/FFmYSMmfBLc1frjqq0abY068Yyl+c736bz509uwoOxKG\numDvvp7wkK/pD0TfX03pLn+l1nXyzBdN224Iy68jQobGh/x2cB7OepkIFeVk\nikLvPt7aw1wUImC9hbuiF6f8cF0BnWtp3xTmqkA13kgqixAHK7wJlqRZYQnz\ndvfWUGorDfXoODl1oK9ftg1gB5XQCEU+/VANEs6TY+GN+ftyFdIlV8qj9Q9M\neP2BmnIllPTeTGqL+qhqoMFhoXGF1BkMbV5pK2838pkWrtAv9agVC2CXumX2\nhX5ptmTZgYS84q1isLAR1SsptiwHGpJ6NxAweAvvNiLKGYIT7apwAggPw71b\neYK7Pe3QRu+zm4BpJLCX7sr8EtJM/XEie3NMDmwEAqkYqK9b2bVu34XL+RvE\nAxAY7SZ/CM+C6zikpsi2oA4uaI7wtXg72a22vchzwrTi/oDailbU0u4yqcxL\ny68Znr5OzA8f670rRU487XQ9K8QkjFLXqc5nsj69u9cACfB6WXH8yz9NKOC6\n1ObvjNxA3A1VndUuuiTN2vlLgSHThnXlVdsHfLELPSWiWQ8mUTnKf5TyVh4d\n2/xV\r\n=MdnM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"e46998e0579485b5c4c01ed6f228daebf04c0eae","scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","pretest":"npm run build","coverage":"nyc --reporter=html npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"6.9.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"10.16.0","dependencies":{"passport":"^0.4.1","@loopback/core":"^2.16.0","passport-local":"^1.0.0","@loopback/context":"^3.16.0","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","lodash":"^4.17.21","tslint":"^6.1.2","ts-node":"^8.10.1","typescript":"~4.2.4","@types/node":"^10.17.59","@types/lodash":"^4.14.150","@loopback/boot":"^3.4.0","@loopback/rest":"^9.3.0","@types/express":"^4.17.9","@loopback/build":"^6.4.0","@types/passport":"^1.0.3","@loopback/testlab":"^3.4.0","@loopback/metadata":"^3.3.0","source-map-support":"^0.5.19","@types/passport-local":"^1.0.33","@loopback/tslint-config":"^2.1.0","@types/passport-azure-ad":"^4.0.8","@types/passport-instagram":"^1.0.1","@types/passport-http-bearer":"^1.0.35","@types/passport-google-oauth20":"^2.0.3","@istanbuljs/nyc-config-typescript":"^1.0.1","@types/passport-oauth2-client-password":"^0.1.2"},"peerDependencies":{"@loopback/boot":"^3.4.0","@loopback/rest":"^9.3.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_4.5.2_1624192262258_0.8367909395891104","host":"s3://npm-registry-packages"}},"4.6.0":{"name":"loopback4-authentication","version":"4.6.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@4.6.0","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"0ee817bbb38bdd6bd03985115a274847f60e308c","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-4.6.0.tgz","fileCount":222,"integrity":"sha512-u4/R8PigTAzvhApC+L4g7Ph/HoiEyF4Sm9mDgaFkIobF5U7oSE7TV1WJpuZQfmjToa8LDAaV0imBR2BffwG7rQ==","signatures":[{"sig":"MEUCIEPhfMIfnk6JQ4w9xtqBaYq1xOqiSZWeMRBC57GN5+xoAiEAreLDcC6bnbdBIz8g6FASkMxklC89km4tYuXLSzeUHkg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":314737,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5cbjCRA9TVsSAnZWagAAVkwP/jbZsYRT2iUwV+x09p/x\ndx99xitKUi+XQo/sxM+AGVrujim7HT/rSp58xcDgz34/Xd5ou+UY57pGxTlC\nHjuqPqwkARqZAwre9gH3qzIwokaPKh4OZGXK57JQYNR4hGybLh3o+S2ZK+bl\nw8tJflVQemi6K9SZwsN1uvbVHaKztFQMUUpaPpf7Pl28E/Uu1a4YkdAUpJOO\n7fkb3l1zeWZcBjEM6be9MKdT9VLCm3fR1J/8BY/anV6Lz2Yv/k8Y+9ihQB/u\nnF4x/bJrdb5Fac7159L+cQIvj2x8gZVV1vEAqAD8KppTlcbteT3zVPc8BvxS\nkbytwBzknsrzfIFVlDp8JseNAwGMrXhM9UBqdA25ABNjiMc66ID79VJj+bAh\nb+JH3ogVd3nREoTXxFXqFa5xIApTVxKnD6NZ8DEYjYco0q8M/0F8OND9IksN\nRMmm1QPythyvIRsJcZ8mh9wax/DQlW3yH1z4/6k1synmFmZYcbBl9s65xxrU\nX9nSQ+4wjjZtuFlJam+nmyrGSTr4hCwMW1WfInWjc+EOp8WCxS/jveY3nxsC\nQotPxnRA5DRHGJhVOpqZzrFiMej9vpCbt/PzX3D/slKd3cg0BI+eUWpojBLo\nCo5aunp9FBObiRhTvvycNpBvUoin/HpVTXwJCnALUYSwlX2RlsyWvdS6eqpq\nTXsN\r\n=kq0Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"75f443a78570601c2b4400670bf0f3d2fe884440","scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","pretest":"npm run build","coverage":"nyc --reporter=html npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"6.9.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"10.16.0","dependencies":{"passport":"^0.4.1","@loopback/core":"^2.16.0","passport-apple":"^2.0.1","passport-local":"^1.0.0","@loopback/context":"^3.16.0","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.0","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","lodash":"^4.17.21","tslint":"^6.1.2","ts-node":"^8.10.1","typescript":"~4.2.4","@types/node":"^10.17.59","@types/lodash":"^4.14.150","@loopback/boot":"^3.4.0","@loopback/rest":"^9.3.0","@types/express":"^4.17.9","@loopback/build":"^6.4.0","@types/passport":"^1.0.3","@loopback/testlab":"^3.4.0","@loopback/metadata":"^3.3.0","source-map-support":"^0.5.19","@types/passport-apple":"^1.1.0","@types/passport-local":"^1.0.33","@loopback/tslint-config":"^2.1.0","@types/passport-azure-ad":"^4.0.8","@types/passport-facebook":"^2.1.10","@types/passport-instagram":"^1.0.1","@types/passport-http-bearer":"^1.0.35","@types/passport-google-oauth20":"^2.0.3","@istanbuljs/nyc-config-typescript":"^1.0.1","@types/passport-oauth2-client-password":"^0.1.2"},"peerDependencies":{"@loopback/boot":"^3.4.0","@loopback/rest":"^9.3.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_4.6.0_1625671395071_0.03193433597023221","host":"s3://npm-registry-packages"}},"5.0.0":{"name":"loopback4-authentication","version":"5.0.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@5.0.0","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"4f944c720c3f6db7391a73230191c102ccabdfdd","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-5.0.0.tgz","fileCount":230,"integrity":"sha512-9Z/sun694pRKG7ndXL4u0/pD/7tWmwhUugrPJuBND9vubZBCowgKe4EH+TyuN1KnTvKp96K6fjDSSj6q1+bR4g==","signatures":[{"sig":"MEQCIGZGm3mm/AX9PoapLKFUqfTcOeslVHF9La9dflMX3EV0AiA23eir2fwVY8m7KQ7b6Zi5akpUlpe19OqsdQZ7Yk1tIw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":318091},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=8.9"},"gitHead":"ae46eff007504a08f86aad57b9dc92cfdcf64871","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github","@semantic-release/changelog","@semantic-release/git"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"8.1.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"tslib":"^2.3.1","passport":"^0.4.1","@loopback/core":"^2.18.0","passport-apple":"^2.0.1","passport-local":"^1.0.0","@loopback/context":"^3.18.0","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.1","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.1","lodash":"^4.17.21","tslint":"^6.1.2","ts-node":"^8.10.1","fs-extra":"^10.0.0","commitizen":"^4.2.4","typescript":"~4.4.4","@types/node":"^10.17.60","@types/lodash":"^4.14.150","@loopback/boot":"^3.4.4","@loopback/rest":"^10.1.0","@types/express":"^4.17.9","@commitlint/cli":"^13.1.0","@loopback/build":"^7.0.2","@types/passport":"^1.0.3","cz-customizable":"^6.3.0","semantic-release":"^17.4.4","@loopback/testlab":"^3.4.4","@loopback/metadata":"^3.3.4","source-map-support":"^0.5.20","@semantic-release/git":"^9.0.0","@types/passport-apple":"^1.1.0","@types/passport-local":"^1.0.33","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.0.8","@types/passport-facebook":"^2.1.10","@types/passport-instagram":"^1.0.1","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^5.0.1","@types/passport-http-bearer":"^1.0.35","@types/passport-google-oauth20":"^2.0.3","@commitlint/config-conventional":"^13.1.0","@istanbuljs/nyc-config-typescript":"^1.0.1","@types/passport-oauth2-client-password":"^0.1.2"},"peerDependencies":{"@loopback/boot":"^3.4.0","@loopback/rest":"^9.3.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_5.0.0_1636989168785_0.08709313790138484","host":"s3://npm-registry-packages"}},"5.0.1":{"name":"loopback4-authentication","version":"5.0.1","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@5.0.1","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"751648756d88db682f8da4eac6e7818c9b5954d3","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-5.0.1.tgz","fileCount":230,"integrity":"sha512-OnMWDPWbb3bm5lNPOSwOuD43xjw4bIzKK2XC0OfckeCiGOiPCoki/yWka9bIBnAVxaaGW6WQFKF0unLTDV9WQQ==","signatures":[{"sig":"MEUCIQCTk3QsO0mrbimGOs3krtwj0nsysup9OjMNBMNQ2dpiuQIgW3H3Ih8wdb5vYi0MOkQR4FkbUmiVF3fwUlvsaCaoyT8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":318091,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhkn3GCRA9TVsSAnZWagAAZiQP/j7MJKv1H6exvSZeE8wa\nud7czK/Dlo8lvoLET0XaTeRJ4gDqYYUtv7rtGC2cDkbTd4FvoUiDSWatXlUD\nDvzDgGvRcLjC8g+1sGXb7zD/7lFQzyUOPlyzU8P+UNaWu9hN1d+KJAN776ei\nlHgLyZQuI30A0m7ScCV5madKKyTo0gxsD1K8ksK+JuJqD3MG9EK3dp0YqeII\nKRn9roYlOAzbDXGTJ8KHQXtx4rTs/xy59aHUdX/hya211T3hlwNCQnXj8Yh9\nxMMX9qskzrs8Wk0cN2e+wUutB7FF3CPhKzw9NcKcZ2ymsZlH3tKuy7JL59/z\n6A+YB7ryxajTNljdPc8gzVnqXezLOMFdORJWTknVWjgBkiHYk0sCsvRxZjwc\nPKF504dUlTJSd0UZVxp0xJpcMPNcwRKPfIIrc6ybk4pk/1TWKsfeJ/3JSr5p\n2ruwTo0BK5txX1754yxY/Nrh7ev3++q9aPzrHObYC2It0wXuGcdEqK6qacgA\njVOhdEwjvcfMXNzTMvU3hLTWUuwDE6ldeTEmGRE7o9bj67YM4WprQV8X3O+X\ngQUJXB1pnYeMl+WZdvTFEgiIO/FPAHNRJu8ZElmdrXKQioK6lV4Hly6EIOc8\ndtepzAwqJt91PkTZ+yuWKForTNoyngc+84cUrMmssqdkHeBF9jJX6k2gudzr\npG9T\r\n=aQIu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=8.9"},"gitHead":"237517e73fac97f57d6949a7a6bfda15b9a4d368","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github","@semantic-release/changelog","@semantic-release/git"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"8.1.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"tslib":"^2.3.1","passport":"^0.5.0","@loopback/core":"^2.18.0","passport-apple":"^2.0.1","passport-local":"^1.0.0","@loopback/context":"^3.18.0","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.1","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.1","lodash":"^4.17.21","tslint":"^6.1.2","ts-node":"^8.10.1","fs-extra":"^10.0.0","commitizen":"^4.2.4","typescript":"~4.4.4","@types/node":"^10.17.60","@types/lodash":"^4.14.150","@loopback/boot":"^3.4.4","@loopback/rest":"^10.1.0","@types/express":"^4.17.9","@commitlint/cli":"^13.1.0","@loopback/build":"^7.0.2","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^17.4.4","@loopback/testlab":"^3.4.4","@loopback/metadata":"^3.3.4","source-map-support":"^0.5.20","@semantic-release/git":"^9.0.0","@types/passport-apple":"^1.1.0","@types/passport-local":"^1.0.33","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.0.8","@types/passport-facebook":"^2.1.10","@types/passport-instagram":"^1.0.1","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^5.0.1","@types/passport-http-bearer":"^1.0.35","@types/passport-google-oauth20":"^2.0.3","@commitlint/config-conventional":"^13.1.0","@istanbuljs/nyc-config-typescript":"^1.0.1","@types/passport-oauth2-client-password":"^0.1.2"},"peerDependencies":{"@loopback/boot":"^3.4.0","@loopback/rest":"^9.3.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_5.0.1_1636990405809_0.6682855788772051","host":"s3://npm-registry-packages"}},"5.0.2":{"name":"loopback4-authentication","version":"5.0.2","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@5.0.2","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"cf8c3307893e72e308f1bc41ec22e346139a6800","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-5.0.2.tgz","fileCount":230,"integrity":"sha512-FUr0tg8JA3z/spsW7IHJlteiQsamNk/0qP2+d8AN/YZSepvG8FzM5Gh+oUi4kv/ZN2qyt355O9EAogpNi0Offg==","signatures":[{"sig":"MEYCIQCkw3Pr/7mPsW1Ou9DqSrYjxjnraXQkUMVaamIaGGCv7wIhALzwHBGwrJccxhm6+tQPGFeMn2jVF6RvUoiJH9fxC3CR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":318092},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=8.9"},"gitHead":"4c43212d06cdf5effca10c9fbc9009ec47e7bdc3","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github","@semantic-release/changelog","@semantic-release/git"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"8.1.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"tslib":"^2.3.1","passport":"^0.5.0","@loopback/core":"^2.18.0","passport-apple":"^2.0.1","passport-local":"^1.0.0","@loopback/context":"^3.18.0","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.1","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.1","lodash":"^4.17.21","tslint":"^6.1.2","ts-node":"^8.10.1","fs-extra":"^10.0.0","commitizen":"^4.2.4","typescript":"~4.4.4","@types/node":"^10.17.60","@types/lodash":"^4.14.150","@loopback/boot":"^3.4.4","@loopback/rest":"^10.1.0","@types/express":"^4.17.9","@commitlint/cli":"^13.1.0","@loopback/build":"^7.0.2","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^17.4.4","@loopback/testlab":"^3.4.4","@loopback/metadata":"^3.3.4","source-map-support":"^0.5.20","@semantic-release/git":"^9.0.0","@types/passport-apple":"^1.1.0","@types/passport-local":"^1.0.33","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.0.8","@types/passport-facebook":"^2.1.10","@types/passport-instagram":"^1.0.1","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^5.0.1","@types/passport-http-bearer":"^1.0.35","@types/passport-google-oauth20":"^2.0.3","@commitlint/config-conventional":"^13.1.0","@istanbuljs/nyc-config-typescript":"^1.0.1","@types/passport-oauth2-client-password":"^0.1.2"},"peerDependencies":{"@loopback/boot":"^3.4.4","@loopback/rest":"^10.1.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_5.0.2_1637008683285_0.15245342853316024","host":"s3://npm-registry-packages"}},"6.0.0":{"name":"loopback4-authentication","version":"6.0.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@6.0.0","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"dba6be99684626a63ba853cc82385808acedcbf7","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-6.0.0.tgz","fileCount":230,"integrity":"sha512-lUwzS/rmYfdDSL+g6FQzWNyDiGys29Rhs8JviXlM96EevgX7xKVkqgbqrDmqThP62u3G1CHzUAYc8jKFGyvV1g==","signatures":[{"sig":"MEUCIQCybvATcGiGwx61E91CGEopYQA2PG3HwuC71vtbgr1OigIgfLoA8YniKd2Pq3v+4uYYzdntiy/WkLkJvTX/7St9+Ns=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":317843,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhxLl2CRA9TVsSAnZWagAAZWkP/1G3iuUC8FafCCaIE6/9\nqARjHHV+JJlH5srclLpy0S18WwnNUBd8b6gVqEr0vF7TjVDDWReaVgaI2oof\nPZyBXWKJfrvaxr0pIEaM8ZZ3gl3SwCOtjhQo5RTdLfa45fSbv7ZzneYM0MRT\nnRecQZtRIgCd0LL33gJJGf0mFxRcXTaHedcltMizVghhK+qeLTUyme1Zddh0\nztCXT7lqDvc4SnzMy17qP2Ir3VtuaZh+3uae2nuLOQjuLd/8Fta0QoAf1Zca\nDO5ZvdBArHSTICYFz2/iCQl/qCldcKhrizZ4oDCSMCzimNnuMjdEE3Jo5jaM\nAJKY/5LSKkLrEebh/FlohlCPNrkYQbKoIdYQYNVy/p1asNABzyALWYzXkE/c\n37NmYgx4a9zo6sIYbhPqy2CLP2+ow/Ng2s4v1vypobOKc7t9BujZ8+qex5f9\nEAqvVMSGq0HPhWl0bkY77CZzJj5ULbKvKfQRrQ3sOV/GXaZpcwuVnt4k6Xkn\nI81iUpwiHWiOcxes2ndSxCU3GQ78X9DKCBV4D87udDcjO2wYXMfAZ4mhx45H\n9uN/JVLZxZev6uhAKyufGRXGrNVj7IOYlzXplx0dYgHWsXJOBLA1wMp0hekY\nud8eX4UcTY62s5HQm6rogjjt+hgBgDmw3dMXdqGgkyQA2MWNbqtiHWmOXd/5\n0sSG\r\n=LZ+i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"12 || 14 || 16 || 17"},"gitHead":"42793670bd9e3895a8d8673cb37b3c2a18a51faa","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github","@semantic-release/changelog","@semantic-release/git"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"8.1.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"17.0.1","dependencies":{"tslib":"^2.3.1","passport":"^0.5.0","@loopback/core":"^3.0.0","passport-apple":"^2.0.1","passport-local":"^1.0.0","@loopback/context":"^4.0.0","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.1","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.1","lodash":"^4.17.21","tslint":"^6.1.2","ts-node":"^8.10.1","fs-extra":"^10.0.0","commitizen":"^4.2.4","typescript":"~4.5.2","@types/node":"^10.17.60","@types/lodash":"^4.14.150","@loopback/boot":"^4.0.0","@loopback/rest":"^11.0.0","@types/express":"^4.17.9","@commitlint/cli":"^13.1.0","@loopback/build":"^8.0.0","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^17.4.4","@loopback/testlab":"^4.0.0","@loopback/metadata":"^4.0.0","source-map-support":"^0.5.20","@semantic-release/git":"^9.0.0","@types/passport-apple":"^1.1.0","@types/passport-local":"^1.0.33","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.0.8","@types/passport-facebook":"^2.1.10","@types/passport-instagram":"^1.0.1","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^5.0.1","@types/passport-http-bearer":"^1.0.35","@types/passport-google-oauth20":"^2.0.3","@commitlint/config-conventional":"^13.1.0","@istanbuljs/nyc-config-typescript":"^1.0.1","@types/passport-oauth2-client-password":"^0.1.2"},"peerDependencies":{"@loopback/boot":"^4.0.0","@loopback/rest":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_6.0.0_1640282486061_0.11939067191354136","host":"s3://npm-registry-packages"}},"6.0.1":{"name":"loopback4-authentication","version":"6.0.1","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@6.0.1","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"3bfe8025c173371b28c9b35d738e3b63b2916eb6","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-6.0.1.tgz","fileCount":238,"integrity":"sha512-MjFVXRZjQ77imCATJDA61xmUwn1ChBFfG8RGOIo1Hj3E76LB8v5sZOT8ReLnS3XZ3LkeQ7VQvBtEz1VtpFs9vQ==","signatures":[{"sig":"MEYCIQCb8uzAg+kE3IQ6mLfenNHqpgfUtnkdl7f/UwecLp8umAIhALSGSIBz62mdfD7n79lbxqAFqxJ5B0LuUIEaz3K0PwJz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":321302,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHx03ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo2Uw/9GI9DWoAk+x1Mq1lXDWE6xT82T8MKOYR9ICjFuX5p03NVpPGq\r\nuWUvTbX8x96J3LjuRNdFNeDoLafsVNvaYxhm4MMScNzsj+kfFTfW3zPGl6Tt\r\nu05uCwSQR7BEfMFX8ueFAziCSjHFkmDxggRQ9m4fvaHfhX6URHmoqg9FWAbQ\r\ngaZYEjaOmpJq8NDyacM/qU93HDSVcqajUSTTEVHpnKMx+ua0kEXCHJrQWWzU\r\n/cbtrNsd/XGyUg3xQoa+O+lLchf+5VIFK+wdMB3+ZZAjU2L9aEplntGjLL7p\r\nXTU8B4kZmJDqnJ/NsoarrZ92mjilIofGR2AHZY042U4NwHyBkcTPsgJCNEkl\r\nKgxR2wM7g3beXl+/skQY6O2QpzZIxc2j6lyBgw/ic+mz3UOO3km3b9wa/Mq4\r\nIBSAkiiXDXqFsuUaj1hZ11xM8jVtSnflYklGhzn7CVkFUo9/tGRiC0nP6WAl\r\nHgN21b/ZGoTf7f0wRq+ndkwr6qAHRhPe+OWsPDlCwfT51z4cC4MASVoWTSkm\r\nFaTPHhY91mpChYeBH5Ey1n5KJN4UglQW1/aNwGoHFlASh6i9QLtf89tb8pmu\r\ndcn0kGEM5FR0Jm5hMHwKtMvC55kQnsi4O6ViVzpE29o1fYRoJUEZMsCKw1be\r\nBX6dBVLAKUrmnGhD1u9iB6JHhJUg61Rkve8=\r\n=bR/a\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"12 || 14 || 16 || 17"},"gitHead":"168b3c3e8ec23680e81b8a95a2b22935babfe738","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["dist/","package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"8.1.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"17.0.1","dependencies":{"ajv":"^8.10.0","tslib":"^2.0.0","passport":"^0.5.0","@loopback/core":"^3.1.1","passport-apple":"^2.0.1","passport-local":"^1.0.0","@loopback/context":"^4.1.1","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.1","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.1","eslint":"^8.10.0","lodash":"^4.17.21","tslint":"^6.1.2","ts-node":"^8.10.1","fs-extra":"^10.0.1","commitizen":"^4.2.4","typescript":"~4.5.5","@types/node":"^12.20.46","@types/lodash":"^4.14.150","@loopback/boot":"^4.1.1","@loopback/rest":"^11.1.1","@types/express":"^4.17.9","@commitlint/cli":"^13.1.0","@loopback/build":"^8.1.1","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^17.4.7","@loopback/testlab":"^4.1.1","@loopback/metadata":"^4.1.1","source-map-support":"^0.5.21","@semantic-release/git":"^9.0.1","@semantic-release/npm":"^8.0.3","@types/passport-apple":"^1.1.0","@types/passport-local":"^1.0.33","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.0.8","@types/passport-facebook":"^2.1.10","@types/passport-instagram":"^1.0.1","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^5.0.1","@types/passport-http-bearer":"^1.0.35","@types/passport-google-oauth20":"^2.0.3","@commitlint/config-conventional":"^13.1.0","@istanbuljs/nyc-config-typescript":"^1.0.1","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^4.0.0","@loopback/rest":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_6.0.1_1646206263044_0.8819692268050079","host":"s3://npm-registry-packages"}},"6.0.2":{"name":"loopback4-authentication","version":"6.0.2","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@6.0.2","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"8b6b5ff08c6a94dac74b333f224356624c933c19","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-6.0.2.tgz","fileCount":238,"integrity":"sha512-tThNOaEgzTStZFtETBcBf1hGxMP6Z1TDdI38k7/6TzPllR7HKiQpRicnNImyL5wVuEDo9I0YYx96CX2mfYyeUA==","signatures":[{"sig":"MEUCIBIck51XfxfQTa2e7PRBQGNXL/fH1ZvKPSbtIYnj49yuAiEA/cfO88QcwHloajkuUB3acogBMLmii6YVrInArFgTNRY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":321302,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiIZVfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpEgxAAmAmvPKamxDB6emRyMl8LgzQSgXx5cw9R/YEVG83Vh5WYjQtU\r\nuqqVuAwywENZV69N8FFMx8CHAE34eMQzEZZeGQebgEMeTKyARGVSHJaoLy9g\r\nOxg4+WB5J1YzirOaOZ2g8rCSCXiAu9TXpjRsrwBgasPMuUzzhW5JTw36A4yF\r\nhC/OiZ6cZy24E5nOvYgMQGFJw4zrmFtlqymRdrGMNuA68ssVlts4xzb3AN6q\r\nkGe1ZverdfjQXfAEThInadj5+iskximoz4PPerd7/ROyiN+2VS6ITs2uYgBf\r\nBh+Eu15vSPYvNWsWgQtgbGtqdcb01HpU/V6rb5KWBQQCiBNNmtwdXSfVcLhu\r\n6sGp+rDZRSatNGEzYqCjPQPclf9AM0OrrdcZL1TUOy69ZKoOGV+ubyJYAuu3\r\nXFGAlBBtizNIYC8EHrd6pGCTKRupj0+dCD+KXVJUWw9/fjpuIl8CxNq0cm36\r\nvv8I0JZlhZ7jjdKj4HAssKDF9dw4KIQwR2oseYuHcvmGk8+ynMVn/GIHcw7F\r\ng7AH0ZN8/1R4wKeisDCbMAO55HlK/irv+IKlrho4d9GGTf5GzreKExzYeIx3\r\n7AtVRu0BTPwaYGg69nAvko+YhRpX3TpOt7F+Mn+S0MdZnWVoAYTwvfiSW5RA\r\nwfNg3LRv/Q4ws8a7s+lb1qVR+a3JhDJ2J4k=\r\n=r6e9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"12 || 14 || 16 || 17"},"gitHead":"16070064b3d590df3ace901c29a22df496994a5c","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["dist/","package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"8.1.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"17.0.1","dependencies":{"ajv":"^8.10.0","tslib":"^2.0.0","passport":"^0.5.0","@loopback/core":"^3.1.1","passport-apple":"^2.0.1","passport-local":"^1.0.0","@loopback/context":"^4.1.1","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.1","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.1","eslint":"^8.10.0","lodash":"^4.17.21","tslint":"^6.1.2","ts-node":"^8.10.1","fs-extra":"^10.0.1","commitizen":"^4.2.4","typescript":"~4.5.5","@types/node":"^12.20.46","@types/lodash":"^4.14.150","@loopback/boot":"^4.1.1","@loopback/rest":"^11.1.1","@types/express":"^4.17.9","@commitlint/cli":"^13.1.0","@loopback/build":"^8.1.1","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^17.4.7","@loopback/testlab":"^4.1.1","@loopback/metadata":"^4.1.1","source-map-support":"^0.5.21","@semantic-release/git":"^9.0.1","@semantic-release/npm":"^8.0.3","@types/passport-apple":"^1.1.0","@types/passport-local":"^1.0.33","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.0.8","@types/passport-facebook":"^2.1.10","@types/passport-instagram":"^1.0.1","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^5.0.1","@types/passport-http-bearer":"^1.0.35","@types/passport-google-oauth20":"^2.0.3","@commitlint/config-conventional":"^13.1.0","@istanbuljs/nyc-config-typescript":"^1.0.1","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^4.1.1","@loopback/rest":"^11.1.1"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_6.0.2_1646368095455_0.01809077441403817","host":"s3://npm-registry-packages"}},"6.0.3":{"name":"loopback4-authentication","version":"6.0.3","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@6.0.3","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"e6e047564420c8dd0629d9f1542bc6e15ca4da10","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-6.0.3.tgz","fileCount":238,"integrity":"sha512-gbaeMGbPS1eE8n3/qPdlxdCWJXJjTcDiZpG2u4XTJ7hrWVJ2JUi626L3JVKmIRY7eemgv6NyMAmU5gkcna3w3w==","signatures":[{"sig":"MEQCIEsiTHo4+sTDA/r9kUqfX2JJ97Y52mZIKGYgI/TatDqYAiBDcWcYjBLRFgQ1dt6vvZRjCe63BQbTTyw2zxl2zAUa5Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":321030,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXXilACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpvLBAAm5MeIvG9n9erNqMu5K2p7YIGoR/hFMF0zF99PKhe/yA5oGtl\r\ntc7YpeRbfDiCQDM2MSiNcOYrhZfWzlE7QoxzY7AxT3QnB9BGgXhltqOBI23g\r\nxtRbF79oH58i2roDkeYWypPcZ//QXt4/7qU8naOA5UQKkKLu+vJEsFXcjjrS\r\nb0Prz8IMRbdvpNfySGQ595zQjFKx6cuj3HQUjRXoE2Oo2o3eZE9o5jrdGZVS\r\nrX/vZ7cqY8By3lJTpzD7PWjNHcw4RH6qFDYE4gKsuV507ZS1ftlma3xrxb3d\r\nx4WgHseZbegmRMd1s3RUa/kcOqKxCdSfsWZlN0mlqVEjCANmqm3cFERHe9Nz\r\nVBG8i6NPQmq8WBHdioCjrGGiiqlzgGk1X2kgGaKRZmTn1QWTk6CIn3lN7ZOW\r\nQaIB9mUQq/8FwJFVTpc+8tFEQRfNoMM9x+0X8c5StwGjpRQh8OFXs2PMbCe+\r\nK5oWcAM299z2aXRav24njXx4LWQrG33xurSeTntKpob9SwxO08Hw1zIaYYkK\r\nDHVKx1avuioNKH7y74b/FiNDroZdF+QL3cw4ZSKWrq2XCZABjs1iY1Qxysqu\r\n+WI5IsDP6HABa7nzoYJOjj14LeZYR4bQcr4LFttlRIXhuhPvNs+Hl15f27Cy\r\nAh7k4inhfZDSRVv2egSKKsch4EKlVx3U24Y=\r\n=HN1v\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"12 || 14 || 16 || 17"},"gitHead":"b7bd5b585128154796ad02f2d44c01e20563ac77","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["dist/","package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","postinstall":"patch-package","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"jake":{"async":"^3.2.3"},"commitizen":{"minimist":"^1.2.6","cz-conventional-changelog":"^3.3.0"},"cache-manager":{"async":"^3.2.3"},"passport-azure-ad":{"async":"^3.2.3"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"8.5.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"16.14.2","dependencies":{"ajv":"^8.11.0","tslib":"^2.3.1","passport":"^0.5.2","@loopback/core":"^3.1.2","passport-apple":"^2.0.1","passport-local":"^1.0.0","@loopback/context":"^4.1.2","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.1","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","eslint":"^8.12.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^10.0.1","commitizen":"^4.2.4","typescript":"~4.6.3","@types/node":"^12.20.47","@types/lodash":"^4.14.181","patch-package":"^6.4.7","@loopback/boot":"^4.1.2","@loopback/rest":"^11.1.2","@types/express":"^4.17.13","@commitlint/cli":"^16.2.3","@loopback/build":"^8.1.2","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^19.0.2","@loopback/testlab":"^4.1.2","@loopback/metadata":"^4.1.2","source-map-support":"^0.5.21","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^16.2.1","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"patch-package":"^6.4.7","@loopback/boot":"^4.1.2","@loopback/rest":"^11.1.2"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_6.0.3_1650292901549_0.831213151105791","host":"s3://npm-registry-packages"}},"6.1.0":{"name":"loopback4-authentication","version":"6.1.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@6.1.0","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"c1e0625be1e6cab1177deef04c3b54685bd6d702","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-6.1.0.tgz","fileCount":254,"integrity":"sha512-PQVRtrQKkULJRjqKXSOaxMM6Kv6RLNAJDXMNGBneX/Jv8qE4VXEpO9HyQUIeWgacnse5QuRHbMJgSvtpKUqO4g==","signatures":[{"sig":"MEQCIFHnBOtTBRzZI9m9khQmoL45MCALe0iTW1BORk9kUl+GAiACuOpCUOtrY74GgKz7g1tZ9RfkwFwfsSjVnY0xJYaLqQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":340720,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiZl6ZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqPyRAAnYHDSuDzv9ibCyZGpVC2YCd2Uqv9kSlEGr7NE2jCmmezaSWm\r\njML/yx2AT4Wdntwm7pnSxNxZBg7c5xl4E+gnhgxr6Eg7Ef0QJoZJy5kKWuj6\r\nwmRxX5jsmsysLAwTE6Yx9E14U3mEz2gVoAfyVuHuKHSMsYseTKGTpQy8AV3J\r\nSNNC/OoGhrX5Gt8GcCjAty20JZmxbt77MrW9jaNvmWtQEYDHIsJ+0D1rjCeS\r\n09/yjZodDQjBpK3/cpQ+Ad1BTGBcWL5oLeQ3dD5F01/U5GK9cj4eXUKC3RLw\r\ndW503YSpocvOQCHXb9sD2ZpnOxdzxIpQ9aJPtddnsDcPJPhhLxV/l/SKZMt4\r\nk9NyW0CSd6hLyXAbVCDcbx8EMHO7vhzHFQjigS18+WGMd3s6mqbN6YNqhZ6U\r\n0CSAf8YxifM3s32h/+JdhZ/P2cewjmVIrAZONhC7XRUztJTmsvGA0AX076I5\r\n+KF0tKKnRrQZhehq/dkZ0IIbSAYH2Au9hK2EgeK4J3ztkdptj48BLwU9fx8E\r\nYGR8aAzqU7jwBLJyf7VqVrUhwlUTQAZFZNKi8+HiWiOyvVRwT7sEmpjiZ/fV\r\n0FQtzPeBB5h7qOjFhyeBVEQmkJN5gt3W7daNEjM02H+UV4tTZPTyU5EixG4z\r\nG9Q9qtmJkrEKZsx0XI6q2wZMy/DqlaCbfPk=\r\n=ctDF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"12 || 14 || 16 || 17"},"gitHead":"edb6c68a4e70684cfa116c76d5d0f4d0cf8a3654","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["dist/","package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","postinstall":"patch-package","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"jake":{"async":"^3.2.3"},"commitizen":{"minimist":"^1.2.6","cz-conventional-changelog":"^3.3.0"},"cache-manager":{"async":"^3.2.3"},"passport-azure-ad":{"async":"^3.2.3"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"8.7.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"ajv":"^8.11.0","tslib":"^2.3.1","passport":"^0.5.2","@loopback/core":"^3.1.2","passport-apple":"^2.0.1","passport-local":"^1.0.0","@loopback/context":"^4.1.2","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.1","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","eslint":"^8.12.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^10.0.1","commitizen":"^4.2.4","typescript":"~4.6.3","@types/node":"^12.20.47","@types/lodash":"^4.14.181","patch-package":"^6.4.7","@loopback/boot":"^4.1.2","@loopback/rest":"^11.1.2","@types/express":"^4.17.13","@commitlint/cli":"^16.2.3","@loopback/build":"^8.1.2","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^19.0.2","@loopback/testlab":"^4.1.2","@loopback/metadata":"^4.1.2","source-map-support":"^0.5.21","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^16.2.1","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"patch-package":"^6.4.7","@loopback/boot":"^4.1.2","@loopback/rest":"^11.1.2"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_6.1.0_1650876056785_0.6817163305120391","host":"s3://npm-registry-packages"}},"6.1.1":{"name":"loopback4-authentication","version":"6.1.1","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@6.1.1","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"ef0bc2dde6b17fd800697c8388a25eaee567eab0","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-6.1.1.tgz","fileCount":254,"integrity":"sha512-knrNQz79rg7cNGGFGYUFts4et5vtLpFHldpu7Fe4oZnl6pYOoBElxCiic4ZWM0G+CfagR4urnTokXlvihqe1hQ==","signatures":[{"sig":"MEQCIHZ39vgGCSzsYzZ1mMR5iJLxjXnBBNhv35U/lFe59sx+AiAlgfQ+V7GoQ4qmagdb5ipLNVo1PYRuhYpP89v8/YlAqg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":340912,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJieOhsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo4Nw//cARbupniiQ8UM6vR3QRQkfXHmjavASpI7Jr5Py6/WtLwW1rZ\r\ncXqov4xPV4gQ9yqD6Aknrpkgpn7YgQuZgefyI98EMbe5bb36Sy2EuA/desi8\r\nyL/h7kY3//IBrQcYZS8kkLi4X1+DONUtmWzy5E9iDHSoxeAcoIafPLNNI17V\r\nOlXA1ONHvBbj+xIkBr9MFxzkJAhQny1TJu6OLQwtva17hXeQp55/g78dRzS/\r\nWWUPFkXz9xBGTIjiRoWM9454VIH6xZ2qlju8gaqCycidE5TKaf3MxfM5SzZM\r\nWuspupX85LSDB3zAKJ1EKsdtmzy5VPYJooTzU/sOfUDyQHMM5+tC33LN0JgW\r\n1hWqKodBxU4Kmfu8yN07eipD4uKPwfso/ohk2fHssl20yfgQvjV25929B/DA\r\nkbZ++E375DJoGjInOYhc3a5FVpDfSSrpQrnGbZrPMe33FIrSb2jxuzdyqm6k\r\ni6FS2ZkaPzuImMlF6M1UXCm2UiglXsOX3txch0Xq2aDk5qFdBGVz9Nx5h7mi\r\nZqQes8ZYnFEood2QbLLWDmiYVVulQFXhYudWDgT3tkpZBlmjSENMhe1RPU5K\r\nh62oG9wYk3+6a2iZpuioyx5c80hWlsDXdAv+HtgmDxbZyX53OJJR/Y5P7o1W\r\nvUH/mWXC0WWS9U5AYzjR3rewexUKiWnHlO0=\r\n=FO2X\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"12 || 14 || 16 || 17"},"gitHead":"2dd7e967f9b78f8e085e3917b59e1e627b90e476","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["dist/","package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","postinstall":"patch-package","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"jake":{"async":"^3.2.3"},"commitizen":{"minimist":"^1.2.6","cz-conventional-changelog":"^3.3.0"},"cache-manager":{"async":"^3.2.3"},"passport-azure-ad":{"async":"^3.2.3"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"8.7.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"ajv":"^8.11.0","tslib":"^2.3.1","passport":"^0.5.2","@loopback/core":"^3.1.2","passport-apple":"^2.0.1","passport-local":"^1.0.0","@loopback/context":"^4.1.2","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.1","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","eslint":"^8.12.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^10.0.1","commitizen":"^4.2.4","typescript":"~4.6.3","@types/node":"^12.20.47","@types/lodash":"^4.14.181","patch-package":"^6.4.7","@loopback/boot":"^4.1.2","@loopback/rest":"^11.1.2","@types/express":"^4.17.13","@commitlint/cli":"^16.2.3","@loopback/build":"^8.1.2","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^19.0.2","@loopback/testlab":"^4.1.2","@loopback/metadata":"^4.1.2","source-map-support":"^0.5.21","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^16.2.1","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"patch-package":"^6.4.7","@loopback/boot":"^4.1.2","@loopback/rest":"^11.1.2"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_6.1.1_1652090987874_0.9681672241079005","host":"s3://npm-registry-packages"}},"6.1.2":{"name":"loopback4-authentication","version":"6.1.2","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@6.1.2","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"7e214f8be9eefac59e3cb117f0adeff158d6bc09","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-6.1.2.tgz","fileCount":254,"integrity":"sha512-1mZj40T8HN+bCHchcEn5PByFnVZNsocn+YhONNV6UXnCI/o+58ge6HRyUXX0m6fcFszQBT/GgkeMz9c6Dx+4tg==","signatures":[{"sig":"MEUCIQCUU8yVBjtIShHrGX/xnu1iHFYs1rsMVacVBWh3KfAltAIgIk2nS8u79f6jGhEqFsau07VUj2PArt2OtegHn/K9KTg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":340657,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJijgGmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr8Dg/7BD+TDcWZDZnUWAAob0hRa0qe0bTENKZ2UrVCCtF6MPcZquU8\r\n9kgaiIVBh6/SF9DX24rJJUVSVjuC7g+OZ6gFxeuTCcBKI6rRpBOQtrDOu9/5\r\nZd29iD+MRrpPXNOhaAAghGnS40zXI1WJtWVvs5lcJCzZ3f9ty5A6xYIW4pzl\r\n4yX0D627nTR7ncPwljBTq8N5Xuaq+A7uzYSpYhRbqwRet23hmasrgEFy/4m4\r\nRgVRdMsJWn8hZqf0xfSykEqmTzkKk8YV5TQdHFTJdG/9eesUtSKAGfipm8W5\r\nnzN8RlM7BPDWWTWeUJj/4HHdAe12x7GkTnLJWGHVMNHBu6uL8yj9nE9ebCfR\r\nSGWi7+IVYGZCyKQV3OFAkTsZI/L6fLlIB0R/wOBia5fpltfVtClcRwC0KzBg\r\nx75cFOD5eDhYwHDorxJpbIyo+cMORIb/cbxugtZkq5ZOF8WHqIFK7JpCAbDz\r\nVeLMxJafI0XZhOY7hSZR0XJBtB9MuZ/ywDnpgk1flOoGwLtI2X+k6aXPB2Db\r\na0rwUzrSc651Nc90q8K5/AG39YrsugI3+LV1Q1ZC6hkb3vsahMk16pPenePi\r\nwghVzTTJEGB9LvplAEKic8WTXRjWNnq0QUGMNsYnLJJlMOueRki6aQpHVr4s\r\ni8vjDSwuCclESUGIxEJVJlrLcni2gN4TKDw=\r\n=8rHg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"12 || 14 || 16 || 17"},"gitHead":"19337916313cadf2cddd834108b47b7118740b13","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["dist/","package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"commitizen":{"minimist":"^1.2.6","cz-conventional-changelog":"^3.3.0"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"8.10.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"ajv":"^8.11.0","tslib":"^2.4.0","passport":"^0.5.2","@loopback/core":"^4.0.0","passport-apple":"^2.0.1","passport-local":"^1.0.0","@loopback/context":"^5.0.0","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.1","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","eslint":"^8.14.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^10.1.0","commitizen":"^4.2.4","typescript":"~4.6.4","@types/node":"^12.20.50","@types/lodash":"^4.14.181","@loopback/boot":"^5.0.0","@loopback/rest":"^12.0.0","@types/express":"^4.17.13","@commitlint/cli":"^16.2.3","@loopback/build":"^9.0.0","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^19.0.2","@loopback/testlab":"^5.0.0","@loopback/metadata":"^5.0.0","source-map-support":"^0.5.21","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^16.2.1","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^5.0.0","@loopback/rest":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_6.1.2_1653473701993_0.06843096343458188","host":"s3://npm-registry-packages"}},"6.1.3":{"name":"loopback4-authentication","version":"6.1.3","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@6.1.3","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"94aa8101377ebb306098e60e90d05c86663cbccc","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-6.1.3.tgz","fileCount":254,"integrity":"sha512-gEVQXoveqoX8NhvAbrkCw+1xUruScv1KeaAid1brfpsH2NUlVKlXQMszYVN9kedHaFlQwUq3gEJuoVBLKbuoxg==","signatures":[{"sig":"MEQCIBzoXQojcRRrTPVgPy3FnOkePOo28qddLszVOTLkqQ4wAiBxXT/uwCSlv+89q/VkXxK1xOFE9DOPc4iEf4mRxMpNSA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":340805,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJimdcTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqfVw//bPtj4JQ44gby2ZRq98CVOu0e5Lz8QS8YBFUWi/j3ghlit3jY\r\no5OmFnbUjotQYAbpkhQg3eeYUOj7FEPcS3utMFAvhJwpGbDYO22C0Sdrh5PD\r\nFJLH3tr/90M1GBeIKGYQB1ny2zkRQ/+EUj6nGgkIuv4urqhae8a93RxGlhHM\r\nijyvTB8IZk7PuHFM0zLYqV1VNoJU2FZfSZa4iAaysdWhUWmEHO80bnzqoyh0\r\nULptB/v1gckWYbEdlUgll9u/DR7Mc8j06cNlIIfNIVXMxHzTba2B/fClzim+\r\nO/o0wXUnR+wu9DeydjnWLXxsjXuwIA12s1WmIEbRl+CxlVkFGZQrizyAOUS2\r\nE80KTh5M72rRZyV9HSnakgNSyCRhZfJPAtgi+5Sk8YZ96Zo7RA6nbZcJK9wm\r\nU15pUr8F7K16Rliho7kdmAvgzhY5HgCu9mZtwZdffF0rQZjNBVgo4bglLDVF\r\nuU1XQVt5V6IEpR0fyNZdGZwYu6odjjcKQqFiOultHUaxXCp/FBCCFa5tZDZa\r\nGmnHfvgjxex7Yxx0a+rNs9MyZYBej6h5XtSz3KknZe6BcecJz4i9/in6SZh4\r\nr7ZKyCa5ehwEfq2zoYvpju76MAnln4QUHVgvGJE3X5hHkaV7dZfLsnHjGQLY\r\nZwn6RyuTL0/ZaDMNdVTz1Vfw+3Y7a5ZovMU=\r\n=npHK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"12 || 14 || 16 || 17"},"gitHead":"07363ded0210680409bcb5b8e61e4a48b2619bc8","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["dist/","package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"commitizen":{"minimist":"^1.2.6","cz-conventional-changelog":"^3.3.0"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"8.10.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"ajv":"^8.11.0","tslib":"^2.4.0","passport":"^0.5.2","@loopback/core":"^4.0.0","passport-apple":"^2.0.1","passport-local":"^1.0.0","@loopback/context":"^5.0.0","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.1","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","eslint":"^8.14.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^10.1.0","commitizen":"^4.2.4","typescript":"~4.6.4","@types/node":"^12.20.50","@types/lodash":"^4.14.181","@loopback/boot":"^5.0.0","@loopback/rest":"^12.0.0","@types/express":"^4.17.13","@commitlint/cli":"^16.2.3","@loopback/build":"^9.0.0","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^19.0.2","@loopback/testlab":"^5.0.0","@loopback/metadata":"^5.0.0","source-map-support":"^0.5.21","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^16.2.1","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^5.0.0","@loopback/rest":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_6.1.3_1654249235353_0.43952365526724213","host":"s3://npm-registry-packages"}},"6.1.4":{"name":"loopback4-authentication","version":"6.1.4","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@6.1.4","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"017c1c7672fd2fe5c6c7070e779c7461959270ee","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-6.1.4.tgz","fileCount":254,"integrity":"sha512-ltCbCr1DraDxrJuMYpm2ZnpdWT8luMW08R6FvNK34b68KLmASCSKywHqhvlONI/k7ppUoYnsRmxQzQ6pjXuWVA==","signatures":[{"sig":"MEYCIQC5FWTVPdBDMLbmcBsyxgPGer/aW5Y+RS6ZNNsY0NDeIwIhAO+fqIVRpW+LwuvcWBSUBa+WO7kh26DXAuNgCwlSDZD5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":341466,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiqeMLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoVRhAAiG6IpQDN8AYuC0+hzVJyD8BNobdEZPuYyW10gC+h0yijobSw\r\nTLx995Cq5T45wgEYHKKLmWYzSmNIeb/2W7RStsAJkqMijL9S7dNndpcE3p6y\r\nbw4jmMs83zZFi6bRmZSDoWG6vq2YBKfIgMDzEW1tATRkjGyGHUzi6nICRDV1\r\nfcNgORL2EAtISvMbbSpLY1XiXRSveCX0Km2vdbA12T4/pf9kIkyXbcelx5Eu\r\nQCbd7RJjgT7iW5Am5FShgIDUE3td7vZUzeUpOGiJcF3KfFY3gfmSVael4Ti4\r\nRz6gGSIJCMe8ciJTD/KhTB8HuECduAj7g4q/ZBRre8TFqSZx38tEG5rVv+Oy\r\n4dVh30H3xCGcvJKTvLNqbUnuBvR7RQ3+PTJ5CChy7/MQgTdXSTJIhf6XOyBh\r\nOYmqBOYK5sXwZcowcmsjafYKG2hPzCeIMUJRDYYOeaweM1AefMSOFmoaVkR9\r\naq0IKmCZY7w47wjHjIjrJllwI/covvUwWG9c/E26QmTabghwsnaiyVvK7d33\r\n+HcWIQYpwxfyhkhVSNMJGQW61vWYECPLw51nqzBWk3szBa1RsCHy5WpYIOT7\r\noa3YT5sdd3nyYJdU6bLALgHlHqG/a01gNy1ho/AijipLdMN4GmodecQ68qtl\r\nqNVagAadkNg9daR78QpZ37ZD/ADqd3P15p0=\r\n=17gG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"12 || 14 || 16 || 17"},"gitHead":"d574673f86e6c02cffdeee9857dc95146764ceae","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"commitizen":{"minimist":"^1.2.6","cz-conventional-changelog":"^3.3.0"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"8.12.1","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"ajv":"^8.11.0","tslib":"^2.4.0","passport":"^0.5.2","@loopback/core":"^4.0.1","passport-apple":"^2.0.1","passport-local":"^1.0.0","@loopback/context":"^5.0.1","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.1","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","eslint":"^8.17.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^10.1.0","commitizen":"^4.2.4","typescript":"~4.7.3","@types/node":"^14.18.21","@types/lodash":"^4.14.181","@loopback/boot":"^5.0.1","@loopback/rest":"^12.0.1","@types/express":"^4.17.13","@commitlint/cli":"^16.2.3","@loopback/build":"^9.0.1","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^19.0.3","@loopback/testlab":"^5.0.1","@loopback/metadata":"^5.0.1","source-map-support":"^0.5.21","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^16.2.1","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^5.0.1","@loopback/rest":"^12.0.1"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_6.1.4_1655300875610_0.48006200347630457","host":"s3://npm-registry-packages"}},"6.1.5":{"name":"loopback4-authentication","version":"6.1.5","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@6.1.5","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"541b5747da191ed9bf26009f101ca48647abc5e6","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-6.1.5.tgz","fileCount":254,"integrity":"sha512-icVk+CN9ZEG8+Q7X4zn9eL0ue+erdXRjRmqHlmzWyNDHeE5e46mvMeTjG7RnyTkGOK4ktzjkkKE/fEbxtM7ZBw==","signatures":[{"sig":"MEUCIQD0SPHSKXvmNeqnyC2FdoZtgGAukY2I57yCwPWpMjsT2AIgARjxdH9fQ+4Vupfy61u4MwswnSh9XONLLaTfFdth+iU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":341527,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyDTNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr/ag/+O+UhmJisE7axhc7oDHUQ64X9kIPMj6+kjq2bsjDNLDe3C52x\r\n/VZLNHN0M/OynG3CWliBtY1ztaLGFpUgH1LNStek7dQ7UXebwRFcDxvJ0f53\r\niPey0kP1hBY9pkwgeuPX1+4/GQeYdf65xHr5y1skqfCEidN1J99xeLJheAEX\r\nso5wtgVCKJA52HhVGAnTdSNEczZN76uHbSgq4cJTRgbT5JJKYsUKIMsdWJbl\r\nDojipjNI8PM67n9psKXw163QmBMtV6pcK+xKv8Qt8KNMWEu3W7Sj/5PHFMDp\r\n2sPFSByBn3k4YzRJvccncOJ2+AXWhLIngOOijKW7TvLs28xDShWVsA45PLe/\r\n8t6bOqT6Rwuks+LfRClE0NnlNUXYHbpETVfsgaEFFhPS9sDZnyp8isoiU33m\r\nY4ZNNxl40Fw41qoJ5blDkdKgznLmOheDgoNaV+Y8uRfKdjisbBVc/p/Fgjqv\r\n+nBR02kkDVRlnIEgoTiaiAuqg7l0PHdAfJoy4NpKDCdKOxl1095EPIxUWUxn\r\nUyUuCrHliLpIXKOnwFGDXSN7LtTEuq+9kaPRgi/XdvDtyqYPFiStYamg/y6l\r\nMWfFkLaTqv/0lhRqmXSTf1P5CYY34ICWmTL8UNe3VbvaXL7VR4qY/JZJ0U/K\r\nUN5Fz08XkIjRR0AHcYBuQqcBVzCGym5RewQ=\r\n=zlxB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"12 || 14 || 16 || 17"},"gitHead":"d3516a17540005eca41cfa3670768fcc8147121c","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"commitizen":{"minimist":"^1.2.6","cz-conventional-changelog":"^3.3.0"},"passport-azure-ad":{"passport":"^0.6.0"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"8.13.2","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"ajv":"^8.11.0","tslib":"^2.4.0","passport":"^0.6.0","@loopback/core":"^4.0.1","passport-apple":"^2.0.1","passport-local":"^1.0.0","@loopback/context":"^5.0.1","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.3","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","eslint":"^8.17.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^10.1.0","commitizen":"^4.2.4","typescript":"~4.7.3","@types/node":"^14.18.21","@types/lodash":"^4.14.181","@loopback/boot":"^5.0.1","@loopback/rest":"^12.0.1","@types/express":"^4.17.13","@commitlint/cli":"^16.2.3","@loopback/build":"^9.0.1","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^19.0.3","@loopback/testlab":"^5.0.1","@loopback/metadata":"^5.0.1","source-map-support":"^0.5.21","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^16.2.1","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^5.0.1","@loopback/rest":"^12.0.1"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_6.1.5_1657287885723_0.3361734253509454","host":"s3://npm-registry-packages"}},"7.0.0":{"name":"loopback4-authentication","version":"7.0.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@7.0.0","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"465ac5a970fb3cf9cddd495a99c24a3b2b10b703","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-7.0.0.tgz","fileCount":254,"integrity":"sha512-48OVCbyx090Yv/dpZa6ydMh+jyZDs0i1GvSXluOC8prSR1e0vTSRAbpXX/JMdQOqjNKgj4ITOam6C/3zbUzDkw==","signatures":[{"sig":"MEUCIQCghhtJDtEShzSTYMwBY1f1tjzIzaYij7Cid7ARP+PDjQIgG26afpEUSRO4ypq+SthO4hUdKeUD8LZd8mqWk3ypHNc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":342489,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi4lftACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqv4g/+JwznioqrVtJ3jSOI37gxzQg+4h/WEe62fAG/YmCKOj6+WZm5\r\nTZ9bKwlDxug7VrvRly/+HSve3PesyCnCHaX5CyTDlXW07rt2dlq+Zqp8rnnz\r\nnqGE6Aa6cJmmO0qF67CSz2YgZ5J/F6UDgIhP5N+TU4Sfixbpz6xQO0VC+wyT\r\nD+9XcwRdl0dl7j6Ek6DuYjz05/HfHF5ydkE1frskwAsRRJ785VHKng9dI0aK\r\naz8auuPqq6rQsEyqk7v+sV9oeeqNccglNOlD+4GEr7YJSuTJyopdmJ9kVxv/\r\nm8qw2KsHycTEE+wh0RW7o/AgjKmicaAdkIkFfri8hpE2r9RyfoUuHx1q+/SN\r\nzwj5ABdqjc/CK/sevzx3IxNjKj2kbPddOGM+Al62AY5N9v5exDYHDPvUGdUJ\r\nKEEEcZ6JToap3B3OwJyfSfo/ko/6j67PEPjjydGNlwfSg2TXMV/ucFfCVhvy\r\n/zweq5DZehUwGpu5/o6pHA1CnlJWZcyroakm5gHyup3tIG/I7YqoszdQ4FKJ\r\n48f8mTgucEn4CzR+9xwGGIOQRDgBQ1MJzWdmBtVVXt3a1KTG2CwH/FQuNnHh\r\nzRAw1qB50vlVub9ZdkGlwnySKm1o/w/OlIqNP1kZdkcmb6E7FE5gr1bWzYiR\r\n4+lOm+XOAWHwqPju0qA6H1sioFJTF4ex3J8=\r\n=fQyG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"12 || 14 || 16 || 17"},"gitHead":"cdbccd8d7c10e82cd32f1835eaa770de8d2686cf","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"commitizen":{"minimist":"^1.2.6","cz-conventional-changelog":"^3.3.0"},"passport-azure-ad":{"passport":"^0.6.0"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"8.13.2","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"ajv":"^8.11.0","tslib":"^2.4.0","passport":"^0.6.0","@loopback/core":"^4.0.1","passport-apple":"^2.0.1","passport-local":"^1.0.0","@loopback/context":"^5.0.1","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.3","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","eslint":"^8.17.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^10.1.0","commitizen":"^4.2.4","typescript":"~4.7.3","@types/node":"^14.18.21","@types/lodash":"^4.14.181","@loopback/boot":"^5.0.1","@loopback/rest":"^12.0.1","@types/express":"^4.17.13","@commitlint/cli":"^16.2.3","@loopback/build":"^9.0.1","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^19.0.3","@loopback/testlab":"^5.0.1","@loopback/metadata":"^5.0.1","source-map-support":"^0.5.21","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^16.2.1","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^5.0.1","@loopback/rest":"^12.0.1"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_7.0.0_1659000813665_0.9726275075329822","host":"s3://npm-registry-packages"}},"7.0.1":{"name":"loopback4-authentication","version":"7.0.1","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@7.0.1","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"7d46ce27a577b764c6ad929058743414b05e5040","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-7.0.1.tgz","fileCount":254,"integrity":"sha512-cYB5ehyRyem08Cue6RD7ioFFXvNgZOZLuHCRXJWKSVEU3EBs34QnFVJivgPoR0IbLSTJTFwKNBo31e6BTKJluQ==","signatures":[{"sig":"MEYCIQCG+FwOPrG7+mzoJlYB+zIdiBwkdjSiujnExdWDdcVdpgIhAOaqOXvT+DtZi7jufOrD3CYF8tP1jMFedcqCAo8hekZ4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":342390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGt62ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrydhAAltqnz/cXvnl0u4GHgrrsMsHvU+Cjv83qE5NQSCvSXcxVX2mq\r\nqJKdCoKxi/p2DE8mm95xJdhw/E1qCbSDgg6iSb1MhBeTx5H6G7GQNOWvD5dG\r\nmRe0UVLqYpP7AKIPrDuO5+4F1V+/k8DKi/8UMutg357rcGrR+0ETjs9G7XDr\r\nQaTDh0g8ygd5EAHBSJJb+gKe/jASGzWM2YBYVJ/AwHp7fkv6ievvQIbd+Igz\r\npDjDf723LZ6ZPqiriONRCBhPfmzZvSE71x1U32NtF8LQAQORwXIAAg7ku32b\r\nSdmE9GvFZtueG33Abn0eLQbVQDtQgwPcDAOAicVwVomUiYbwyukuQszjTRMv\r\n3+rk6UZdwZbwjRLvDJ88yHnF/yxbhMOOeZgXziIZCnzvHjOzCn5TxPd5dSW0\r\nAoE6R3d+v11KEgiWQJH1BVKHJAhTmU4EJaFagxYt+ZxyCJhecJRt/Bd9wB14\r\n2S0iqzv73ncwoHH9d+hz37Ygw9/Sa7l2RSbAXslZkWTXhilWrTPPaE4OpGHb\r\nUZjAmhe6hGxKAxr9Pmpb1Hy/mTEj+ZaylZBkA7yFGiAe+JJYQn//O6035mlF\r\no0XgXKkpESXR5TG4wpTuCy/dLOm/YIrpxlhEU+DlVb+0/HOSJ+p9L68dyVBc\r\noS0kEFGTb2T5l1FdT7bfTnIit7xavDYektU=\r\n=OCnq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"12 || 14 || 16 || 17"},"gitHead":"eac49cc2b0471abf7b84ad6bbdfd4a3825723143","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"passport-azure-ad":{"passport":"^0.6.0"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"8.19.1","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"ajv":"^8.11.0","tslib":"^2.0.0","passport":"^0.6.0","@loopback/core":"^4.0.3","passport-apple":"^2.0.1","passport-local":"^1.0.0","@loopback/context":"^5.0.3","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.3","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","eslint":"^8.22.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^10.1.0","commitizen":"^4.2.4","typescript":"~4.7.4","@types/node":"^14.18.26","@types/lodash":"^4.14.181","@loopback/boot":"^5.0.3","@loopback/rest":"^12.0.3","@types/express":"^4.17.13","@commitlint/cli":"^16.2.3","@loopback/build":"^9.0.3","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^19.0.3","@loopback/testlab":"^5.0.3","@loopback/metadata":"^5.0.3","source-map-support":"^0.5.21","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^16.2.1","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^5.0.1","@loopback/rest":"^12.0.1"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_7.0.1_1662705334132_0.4411042596973007","host":"s3://npm-registry-packages"}},"7.1.0":{"name":"loopback4-authentication","version":"7.1.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@7.1.0","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"8a8e0fce1acb24a09bd4564273547e4fa255fcc5","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-7.1.0.tgz","fileCount":286,"integrity":"sha512-ezuz3rmlK9fzdf6PniJDD/1mIuJrQAfnq/uk1muvDVmM3YqnRUH0JSKSUp7w9bSCnrvVUaEKFyhyBAm81/Oyvg==","signatures":[{"sig":"MEUCIQCUswZwunxfnJ102bPutOTw6uFnCm75jkGnUI+ozWajrAIgUqSzi1HOXNLbQ6N3ZeAYXHqJ9Snj/9Nuz/k0hQTjqK4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":380068,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjSQfoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmovmw//Y+weJBUPjXfJw5WQXeS34Cis3b8muWuHW7d/OH7W1F3l6Hpn\r\nA9uq9oXcVyw2BrfLUhT3PLgxUqFpD6hh0oZDHot5H3ENPVgmZ2l4Jvzyc2VG\r\nD7vSurgtRfBOwjXY0GITHxbaKmdCn7RBDzUfXSzZNzQP2vJBppou/4uYAAHt\r\neenK994Iy9x2YRy+JJi1fboXYKIIxuhOjbnvDEuWzmgc6F8xQzLRB58Bi11j\r\nb0nc0o5hdjTwFjWkH5VWgc7Q7kUi7HzPuyuZ5ab++qG6Pv1KYlAHqGZJxORF\r\nVhHfQ+y8kxBOWq8rbRwcrccTgmgrdYIjX6mj8fI/T3LhUQqR4yBjn7Qed88J\r\nXRxADhIQKZIncbcUSs6mlGaXFv6R9JGEN3IcacMaQgP5ctovwP8xjcdHtXS3\r\nR77RkLImo7NKoXIkDfHHHoyhNcZWdXN8RHuHmoy5py9K4wIktRWIPjHQwD3a\r\nmRe1FA+XY0bByob7dJT0/vABRa9IAXcm7F4zcmlmoZ+UG+9dyflrHhY0/vBA\r\nofxC1TZ9XRFXSdlJN4aHl9ajZjacTW4AinPnhJ2R865UrSPnYRUPTyUeyAuX\r\nOObIDZSIrRlXxsvykgcI8AZ8VsvC6sjGa99W+FkYlm5EZJ+duP+GWivcCs8C\r\nwrBib8WT34PhouIJa3uU9XaUlfEQ9AIaAto=\r\n=MKFX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"12 || 14 || 16 || 17"},"gitHead":"eb0607907b42533dd4e8a3f99025c26ebe4734a0","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"passport-azure-ad":{"passport":"^0.6.0"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"8.19.2","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"ajv":"^8.11.0","tslib":"^2.0.0","passport":"^0.6.0","@loopback/core":"^4.0.3","passport-apple":"^2.0.1","passport-local":"^1.0.0","@loopback/context":"^5.0.3","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.3","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","eslint":"^8.22.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^10.1.0","commitizen":"^4.2.4","typescript":"~4.7.4","@types/node":"^14.18.26","@types/lodash":"^4.14.181","@loopback/boot":"^5.0.3","@loopback/rest":"^12.0.3","@types/express":"^4.17.13","@commitlint/cli":"^16.2.3","@loopback/build":"^9.0.3","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^19.0.3","@loopback/testlab":"^5.0.3","@loopback/metadata":"^5.0.3","source-map-support":"^0.5.21","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^16.2.1","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^5.0.3","@loopback/rest":"^12.0.3"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_7.1.0_1665730535861_0.9973314474777311","host":"s3://npm-registry-packages"}},"7.1.1":{"name":"loopback4-authentication","version":"7.1.1","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@7.1.1","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"7552b1067e0041c0d83a6dbbc33ef528a29a4cd6","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-7.1.1.tgz","fileCount":286,"integrity":"sha512-9kkd/AGW2jXoeXP2o9GkY6T7e2tQkfJg0W75J3F3ARQMypVSwIxRQnKzHRkMWGlWyOTEuavMmTuqhWFZPwTRYA==","signatures":[{"sig":"MEYCIQC2PYf7a2HmWF3gDUsouvgrj685FxBW+b1ks5dqPfxxwQIhAPJkfgZ4x9oaA8BjhbAF+s+fS2fvq5G2A2O/0KJ4+tF/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":380067,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjX3H8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqF9Q/+LJnZGNK5zqXZyg8JOZTV0pdtzJjiRGGvPfr6vbWojkDrcSGh\r\nK8+u2SraDr9AO++UKnwQ4OXFv2FI9aU4QCzWreYQDysEhmRugox/BEVcGLXu\r\nkYkq8DubjxBF50GFXGoJFqXyXTKb2e9KJtqYk5ozyFPcOlxBUI+9otUzKtbq\r\ndkcmDS1U2zzCQog138HEC2lsujvxknlQotA8YCXjf3hYsMq9x0CD65OWkXwG\r\n9uLjtybqd0Im/YkVHGUr3jS4Jc8t50ZRIcM/mPQPvjoVWJAWRRyjIl7Ht7Wr\r\n5GUnShSBX2CjMeOVGEIlHB7ahnbVAK+q/P+zZ2D+A/XNytO8W2QJ/doSJ6jj\r\nKybiTxOwMOqZb/JUY1SLMts3lC2HsezpTiQR3EHjIZf+p5wOV3xEV05935U0\r\nYyBLFYOfl5tcbfaXE6bGVv1p/N//nU/UQ531ZlrADsDDyXIdoXWDZYzqeFlt\r\nS4SbLuwWowAjkywfcCiYiPyKHrICIb+TDK7R9mgvW1JlptcbWm2O6EkoLEgi\r\nl0bcgIr2uImGYGx/ZxqSIIZIWCNO3RrqgailmcP7/JVgi4goJiJbs+2FuqQD\r\nboulrqF0Ne167ccmS1sdk4e+XLvydM5vdEwL7Ds4xtfT8aRpDrj0cqoQQLN6\r\nTLxoZ6Uo+p9UYSo5btWFfah5S+16jtpZI+g=\r\n=boge\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"12 || 14 || 16 || 17"},"gitHead":"32821de5caa53536355b40909a3b1fe491ee52c5","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"passport-azure-ad":{"passport":"^0.6.0"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"8.19.2","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"ajv":"^8.11.0","tslib":"^2.0.0","passport":"^0.6.0","@loopback/core":"^4.0.4","passport-apple":"^2.0.1","passport-local":"^1.0.0","@loopback/context":"^5.0.4","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.3","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","eslint":"^8.25.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^10.1.0","commitizen":"^4.2.4","typescript":"~4.8.4","@types/node":"^14.18.32","@types/lodash":"^4.14.181","@loopback/boot":"^5.0.4","@loopback/rest":"^12.0.4","@types/express":"^4.17.13","@commitlint/cli":"^16.2.3","@loopback/build":"^9.0.4","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^19.0.3","@loopback/testlab":"^5.0.4","@loopback/metadata":"^5.0.4","source-map-support":"^0.5.21","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^16.2.1","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^5.0.3","@loopback/rest":"^12.0.3"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_7.1.1_1667199484619_0.6893540008876429","host":"s3://npm-registry-packages"}},"7.2.0":{"name":"loopback4-authentication","version":"7.2.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@7.2.0","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"ff89c05d23ed927c4543aa054bd6272c0adef6fd","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-7.2.0.tgz","fileCount":286,"integrity":"sha512-szzpenMm+kSduGv1mpW5SXnHNtERoaohi1NbSl70A3386WGTNA15RZMTfjG6sylNjuSwQYbuOv2IkIj/BYX5pA==","signatures":[{"sig":"MEQCIGLQbihzryaoctBjQQc5yoSQHjc4KBCkAQTInjEiIQ15AiANmkTECB57/c1JJSw6je+gnP6BCjpRVOKUQBdwj+qXwQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":373495,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfHgfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpE0w//U3wOZiH1ledf7hsGez0FkZdXU5qo7RfGSHDnqdh+CHfGeP84\r\nHhdfzBwXnFqX3y6fFl+qYtKFUVmXcbSERfCyowiEQXuB2vTw05mVIAVn1/T0\r\nKyb3uasXY5wzxc9bsiyU/f2L0hEcy18XF0tnnmAmvbvhVNCIR/Kj5YDBVbK8\r\nkbEphvsVjIpCfevY9PfIqMYEFt4qWVoyCq69L4X88ed1OapXFPw+eQblCfDe\r\nKjjoWvaGOVVtGOajVaVkADpO6zuRHzq8ymr+cTYcv3gE6q8NiaBjeoSi/v7r\r\nbBQROkcDtmwqt5nEyR4YVzx1+wmS7t43iPYwUteB/VtEW3bdO+33esu1sToL\r\n5jvIxoTgHz8CSFaWF6hXHOAxDmGASDGh9thUoCU5jG9+zVfbtV63C9jixOMf\r\n6EJrQB+1YGy8GlKfxqtrpvk2QA6npp1k7GVAJXzdS3xt6agKG7UV4RuZ2ScA\r\n1qcVIphEE+y0h4mwQH5u7PX24HX0g3FOCpSXgASu1p736MrhRi1cYRhSnZRQ\r\n3pI6HeZidHjacbrJsZ5M+1uK/x0o6J9kof4ejeOhPNzuqJpkOJcll/W2wVJm\r\nWhTT78CDBqkvhfdVm/lMdLQDGeYno3i9kyrk/LoVXa8t5l823s+P7rGjhlt7\r\novQUth20v20fFh11/Z38PIaDc85X8rK4Mok=\r\n=p075\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"12 || 14 || 16 || 17"},"gitHead":"629c7dc3ca24ae54a63abe85b7e51b09cf02ecf0","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"8.19.3","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"ajv":"^8.11.0","tslib":"^2.0.0","passport":"^0.6.0","@loopback/core":"^4.0.4","passport-apple":"^2.0.1","passport-local":"^1.0.0","@loopback/context":"^5.0.4","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","eslint":"^8.25.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^10.1.0","commitizen":"^4.2.4","typescript":"~4.8.4","@types/node":"^14.18.32","@types/lodash":"^4.14.181","@loopback/boot":"^5.0.4","@loopback/rest":"^12.0.4","@types/express":"^4.17.13","@commitlint/cli":"^16.2.3","@loopback/build":"^9.0.4","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^19.0.3","@loopback/testlab":"^5.0.4","@loopback/metadata":"^5.0.4","source-map-support":"^0.5.21","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^16.2.1","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^5.0.4","@loopback/rest":"^12.0.4"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_7.2.0_1669101599085_0.8025242295693793","host":"s3://npm-registry-packages"}},"7.2.1":{"name":"loopback4-authentication","version":"7.2.1","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@7.2.1","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"266e5b5fa62c1bdfe8c482d495fb48966c1e56e5","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-7.2.1.tgz","fileCount":278,"integrity":"sha512-yilPx/OLKSt17sUQhdf/146suncXrlvsnz0UBe+zUaQ712+nXEtzuOfA4txOp7dU3ppefSiYstMOc4WdkN8vfw==","signatures":[{"sig":"MEYCIQCf4kml7qlrKnk02gDUZ116KZxgRO0wp3LGmUP609PLSQIhAKJ+3yzB4OSmsrSCsExudTpw92Zx9p7NeOFZe1JBwVvh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":373223,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjjb6nACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqx0w//RDincCtjJ+eufGYo5rIyWpgPGKyQiTbIloiKCdwhrJuS7gOb\r\n9kkXJ2Zh3L5IxePor2nwIrkE3Y0u3rIgDLuuVm8mCX/avLkvk28Wu2Dj+Ut5\r\nmblRTlvBmBnfbAaC6ZUoWVNYJDm3TWMz9okLMt3oXT77SKIS03ol/RRqW78T\r\nR1fzMgY6cPtM05lVzslO2pZaUQdoK1Exr9W07ppBdj0Xtnfk0hDtyw5NtAEp\r\ncouApNyd/wZCGKzN/CiIWAq0dkb7GN8HahwbYvooi45QxySQPM1TGIX5UKFe\r\nPwGusqGfRPQYsD5JMlEK6CG9AdfeIM97rkv8Xt3vpGbyxc0zUHISb8yPR5CK\r\ndTx8YtaK6QwPGFjgEAm4lf4YjmOrYItv/4O5HIvsL8cqZM9QIMXWGJFHjcdh\r\nrGrnHtyvBEX8m1YPMA1RPreR2QQ3v1AaTglX2Y2ZTYtxCf1WcBrwaIvt2HlK\r\nuZwNtHGChLV3orhLoFW++VuCDLvvAKDBZ33CQJQjN12Ti+KJ1/kzVB7WFU1L\r\n2kFVkYSLOdjpKBFGhE9NLp97RDv7Lupdcc06s/ANsS63BDEBfFZuzpwU9Ssw\r\nsBVbhOA6dYuG1ixDflcM699zVDGBV6Hc6oRut7zbLibe4f6hgaTm0GujYs2M\r\n4IxP3+YJsmbpgujkuE88B7PTlDKfFCpWP7I=\r\n=lz3v\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"12 || 14 || 16 || 17"},"gitHead":"7f05e2e44b0a161b966a372e03e23921884aa405","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"8.19.3","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"ajv":"^8.11.0","tslib":"^2.0.0","passport":"^0.6.0","@loopback/core":"^4.0.5","passport-apple":"^2.0.1","passport-local":"^1.0.0","@loopback/context":"^5.0.5","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","eslint":"^8.28.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^10.1.0","commitizen":"^4.2.4","typescript":"~4.8.4","@types/node":"^14.18.33","@types/lodash":"^4.14.181","@loopback/boot":"^5.0.5","@loopback/rest":"^12.0.5","@types/express":"^4.17.13","@commitlint/cli":"^16.2.3","@loopback/build":"^9.0.5","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^19.0.3","@loopback/testlab":"^5.0.5","@loopback/metadata":"^5.0.5","source-map-support":"^0.5.21","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^16.2.1","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^5.0.5","@loopback/rest":"^12.0.5"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_7.2.1_1670233767539_0.6391404736414208","host":"s3://npm-registry-packages"}},"7.3.0":{"name":"loopback4-authentication","version":"7.3.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@7.3.0","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"a145505702f1c924d31f3848e980556d8f14d364","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-7.3.0.tgz","fileCount":281,"integrity":"sha512-afKhll5wn3tXhEVxBY3GTvQdgya8Wxkr4aVWHM0emabwWxwYPnymnFRljpkJ/QhY+sj00NDGHtKywRZ/4B8qOQ==","signatures":[{"sig":"MEUCIDgbnoXB6o/7X3/iv7YXMUbZZNgH+NwI1rzmnTae2SS2AiEAgD8FSi8GVJRya9iO6Rz5j9kScUrUduGcce2a/AnGCX4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":378280,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvquvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmprzQ//Y7LWy5ijeykAPEVo7gA6WMyDPcsRXKGnJ/+eGEXEbEOvh8Cx\r\nGArONoJg2sjy5ekove3DrJ1sOO+zaJ93b4q/FcoGGUtjdTAv4owshEghAH9n\r\ntRwNoOZG4fktElBpkYOlFKn6eOBHgL3nsFZ9ByvcPR1i0Kw23fCvGiTM3HiH\r\nIf3Ypme7rftExFfivOouLc94Qp5FFYF1aL7KmGk622t9j8N/IHvb0Z5obhn4\r\nZ4V2ctORZKoMjpy8L6RSIJGqF0Rc5mSzfww373sqKUTd+y0MRi4Knr7IfOJE\r\nBrcfJgJ7DesW2HmFQuCHSXsnEbaAKZ61fyL17OLAt9Z7Aa0Nx9ERxZuz2PuN\r\ngFHFvc7JysSZ1q23vHET/CeLG12gVatzfouPQAoSkArtO1XGS2cmILukVb/0\r\njdOPfLGFBjtIpMr1f3kuI+RSXnlmMZCopP5ZblZWWRAKEao7BucCFL38q6L9\r\ne6T/BaG87Y0Gx0d7xHV9DDJG7ZEIwF+xaB2jaEJbxlGFaMlbg45F/Bh21pZ8\r\nOqYZkg1CVYIO8KSZPCyvCALT0UBe7RWSteljMlZHEqYrwtI8Le312/xDif8C\r\nFbq8M/3R80WB3ExrhMfzCD6/3FSkVYAOylPUlBd2tc4RhM1HXGSVK2Skwp1r\r\nVJ92OichDBKOq6fbAqXSafeiv5XFycSrNGg=\r\n=2bAs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"12 || 14 || 16 || 17"},"gitHead":"d0fa86163d1933c2e3edaf6a5fc1b25ea2a6e06d","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"body-parser":{"debug":"^4.3.4"},"passport-apple":{"jsonwebtoken":"^9.0.0"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"8.19.3","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"ajv":"^8.11.0","tslib":"^2.0.0","passport":"^0.6.0","@loopback/core":"^4.0.7","passport-apple":"^2.0.1","passport-local":"^1.0.0","@loopback/context":"^5.0.7","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.30.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^10.1.0","commitizen":"^4.2.4","simple-git":"^3.15.1","typescript":"~4.9.4","@types/node":"^14.18.36","@types/lodash":"^4.14.181","@loopback/boot":"^5.0.7","@loopback/rest":"^12.0.7","@types/express":"^4.17.13","@commitlint/cli":"^16.2.3","@loopback/build":"^9.0.7","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^19.0.3","@loopback/testlab":"^5.0.7","git-release-notes":"^5.0.0","@loopback/metadata":"^5.0.7","source-map-support":"^0.5.21","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^16.2.1","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^5.0.7","@loopback/rest":"^12.0.7"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_7.3.0_1673440175708_0.6407082296686042","host":"s3://npm-registry-packages"}},"7.3.1":{"name":"loopback4-authentication","version":"7.3.1","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@7.3.1","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"735ad2fb28d4dacc7151d2ed4e1e9b91f3a00417","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-7.3.1.tgz","fileCount":281,"integrity":"sha512-0ahxZPuLt9PVGzHxaThWeC6vK7IxF+5p8X6v540VD3V35NAwo5b+3vytOp/iN1D57Get9hjPbzwSdjlbZ1qshA==","signatures":[{"sig":"MEUCIHko4Ov3yFlJPGTuORUstYaKpN5T6uDT78rcBkmB37PeAiEAzQMUg5Y8Tnuc1R8qZ3R9NWhh1RNgyOMezgZIoEVb3+w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":378265,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvs0KACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoYuQ//UuYUNvcPcDCVWdry9VIt1CeiYtCsgD6u8BPhr7RXjBOZk2X3\r\nR5tXPBosS0yWODvLtTZP1kVYru9MTNQZG5cx66Abgz9moWy5gCHjZVp8pMQo\r\nSstxGe4g3lMy+k9VmJEDJTn2WGc+ipF3kkPrAIE32m+VWBXjWZipHMIB7lFT\r\nSBn+tuiAOkj/HJyGbwLY1J1JCtDLPXis3dy8iUKffxwjdD5ZXPSnBRzD00cZ\r\nmqveTQbM+fVNxWaYTQ1UGgZVK+TG5PYuR9NgsdFU9I/7Gyj17nUXcM7dipQa\r\nJZuhWbzdZloWDzzqtYegfafml+5aCLP5r56l/8xlSOtyUYQ/iXoz8p/zfa56\r\nAUDiUTePeUUMnmsmggbDIv/L0b+h7A/ygNWGgY/S3TZSFnxvpzgFISavwTwM\r\nRtC2vP1KefJNzVhtHQxWExo7qHdgZiT9qL6Ty5RUdp8l6h+KhTfMFA7rauOD\r\nF0ns1oeLPB6AEIMwBrVpSIoHaKzq75+W4xA/VB2VW71fg2iWhVUFGTFkJhlG\r\nfFYo1S6xrL2/ntWjDTUwO28MFwZ8+DOznCzJThNxdf209/ibXTKv2sbG5pES\r\nkojNx8Alv8ax3/wY+AW6vqTBE0+PWcXSZbIA7Nv1/Qa1TrJze+3G8CStvPWX\r\npjLaBKcOAegOt6rk4ymeo0gTaF2Gy3Ck9Ms=\r\n=7XYs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"12 || 14 || 16 || 17"},"gitHead":"882e5f01f53c82c15b5c35bc675eaa376c8d3fb2","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"body-parser":{"debug":"^4.3.4"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"8.19.3","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"ajv":"^8.11.0","tslib":"^2.0.0","passport":"^0.6.0","@loopback/core":"^4.0.7","passport-apple":"git+https://github.com/yeshamavani/passport-apple.git","passport-local":"^1.0.0","@loopback/context":"^5.0.7","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.30.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^10.1.0","commitizen":"^4.2.4","simple-git":"^3.15.1","typescript":"~4.9.4","@types/node":"^14.18.36","@types/lodash":"^4.14.181","@loopback/boot":"^5.0.7","@loopback/rest":"^12.0.7","@types/express":"^4.17.13","@commitlint/cli":"^16.2.3","@loopback/build":"^9.0.7","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^19.0.3","@loopback/testlab":"^5.0.7","git-release-notes":"^5.0.0","@loopback/metadata":"^5.0.7","source-map-support":"^0.5.21","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^16.2.1","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^5.0.7","@loopback/rest":"^12.0.7"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_7.3.1_1673448714049_0.058312412379861955","host":"s3://npm-registry-packages"}},"7.4.0":{"name":"loopback4-authentication","version":"7.4.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@7.4.0","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"0024680db157af068a126db1682dacbbfceaebb7","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-7.4.0.tgz","fileCount":281,"integrity":"sha512-rZi/mA3Tfx+V+8C/p87RytrcEXOWCRzsjwQvXo20C6hRbMIl3S8CB3nSLOaSwSUGmBdihBQFTRn7XANru2X4qQ==","signatures":[{"sig":"MEQCIGwI1QOkmNFXzQIlicfqhG3Q5Ymj2urgpD2EujmfTahDAiAclvI22PjVLMfn8yFCyKVTzCEgsP/sA/XV6tSCUrn7bg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":378336,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj18JMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq2nA//e+0dMmeofZMWasl9wFy9AhuGXEIdigFngnHS2js/ar/o2tZg\r\nOnGg6Q+PrW/O5HMeNptZji9FQu9Q1qwdPeVWNNqveilTKJoSrwswUA1S0IoS\r\nhHT4TdionOI99tOD828bVp+eElhR8JDiq/G666Iz7hI/gfta15/ZWWYiC4Oy\r\nEAKP7+czTzK3NvI3zioGup+A53/W91Yy0lLWC+fiDaSodNst/iuGVtbM0Cc8\r\nsXK7a/TtKUHCC4yyZ1ZJjS2AL31HdlAWBso1v5usoBqIcPC6Q4GgeC8SWyrw\r\nwzrv/kmg4FUArOcea7oYfsPpiyOLnQzDFs0EVNqUoEbDM0FphOx4XMLO/ASi\r\n9gRSOI2adqjsve/MbDLZksGwfq1cJIjwqv7pn9S+DRRf2+ThKrT87+vncJw0\r\nPemJZMlvXwSAzK2DTpdDgfZLCOHXQy+18oNEhqqL+86DkFRP0KEBeLnOCink\r\nQeI/1tNhx3aO8i380JdGzFiZUh/odg0dOw02fYxWaoyeYEDaB6kMo6cfmTQN\r\nJKDWuB59yCe0uQl7Pv3u0BqsgUUcayYDHasK1lhWxHwdttRr+IEsd8RvbONH\r\nLwogqb+Qdof52aOC6tJmVVJN7LCxjIotvhCwwa8n6PrG+OZ1jKhdMgcLDTF2\r\nYmxUVMv267h1xTzcCpUQ+mz4kbQlMuir/iA=\r\n=D6iH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"12 || 14 || 16 || 17"},"gitHead":"39a306aa8e21dd0dc4149ee7bc15d6ec34c59112","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"body-parser":{"debug":"^4.3.4"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"8.19.3","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"ajv":"^8.11.0","tslib":"^2.0.0","passport":"^0.6.0","jsonwebtoken":"^9.0.0","@loopback/core":"^4.0.7","passport-apple":"file:vendor/passport-apple","passport-local":"^1.0.0","passport-oauth2":"^1.6.1","@loopback/context":"^5.0.7","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.30.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^10.1.0","commitizen":"^4.2.4","simple-git":"^3.15.1","typescript":"~4.9.4","@types/node":"^14.18.36","@types/lodash":"^4.14.181","@loopback/boot":"^5.0.7","@loopback/rest":"^12.0.7","@types/express":"^4.17.13","@commitlint/cli":"^16.2.3","@loopback/build":"^9.0.7","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^19.0.3","@loopback/testlab":"^5.0.7","git-release-notes":"^5.0.0","@loopback/metadata":"^5.0.7","source-map-support":"^0.5.21","@types/jsonwebtoken":"^9.0.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^16.2.1","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^5.0.7","@loopback/rest":"^12.0.7"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_7.4.0_1675084364027_0.9729672342931861","host":"s3://npm-registry-packages"}},"7.4.1":{"name":"loopback4-authentication","version":"7.4.1","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@7.4.1","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"60b28ae19d0fc1f29d9929eaf14980de77d40e2d","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-7.4.1.tgz","fileCount":284,"integrity":"sha512-2ZrnEQrpCQrWtAgedhpKaqW96vwEu2CSM0yJ/9H0SEQhwuIHDMlh8v3ZTpt6P5JR41SAVxYpgCDkV8baxj3qXQ==","signatures":[{"sig":"MEQCIHNVdTNpNf8yCj/pHLOnfu6IOP6hYAj4UP9hYuQqXvHkAiA/OeJYMXNFIy1dB5ToeAiVihkin1GTD67MSEvQ+Gpmcw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":386956,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2K4NACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrHLA//U6eDHBIYcxw22vBHEXmHQNDfyw0QuHPH9Scj2MwguUtwGikF\r\nOIvsQ2qP7SryoZfTl35BP660c0LCMPVNmAeQBl8AYU/kRyhbD0PlNObdUJ/z\r\nrJUIiVIq4wlrCrPh0tBEIglO4oREp2lNq0GjWu9BWOX0tocQd1Mn4pk0wnZ8\r\nuOE9GbPi1Xl9D0VH8fqEd1ayjOIAqQx0+CjNUpUwr1j9FQSehE3WCslIvzj/\r\n0h0v7Z3uaaNADkB5Irh/3CSMyMzAoxbVqcS6TcRDzM0oOQPIyg/hJP4UALWo\r\nUnf2Q9QzMjVbMppR3RgsNA98jxjYrw8nQHEL0wIGCg3+SrDDE+isgrg+bdJo\r\nGqvO1e1Av5S8qRTcA33M4V2vibrvUuqGWTQ00JpdMbRnsULF+FCoJdSAC0HN\r\nZWZWsj0YSzfVDi7yD1M2JK1tgftvG/6oghWvctmpSQpEbCcPAfZZjmcC5xFD\r\nBqOYjdyZzPVilItgyI985eZQsZSBatjkOUAG14CDPXgOkF9zTj7vMCA4AY/h\r\n/NPKglNMIsdPeSWRLPS2aUonqtR82RG1Sc1dCIRt2vBWCuotwC/t1kPFOIub\r\nOsyHTmRjzdDo6JWtW6Z3RziHDb8FXjy7AKWsLcB9Y5WLaC6x7S3Ck7hFpMDw\r\nFk6iUF4BRDkibHxy0YA+wNuvdQdYyO4rYzw=\r\n=3TL5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"12 || 14 || 16 || 17"},"gitHead":"cc759d6d381db15b784abcee5b58b77142c1ae1c","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"body-parser":{"debug":"^4.3.4"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"8.19.3","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"ajv":"^8.11.0","tslib":"^2.0.0","passport":"^0.6.0","jsonwebtoken":"^9.0.0","@loopback/core":"^4.0.7","passport-apple":"file:vendor/passport-apple","passport-local":"^1.0.0","passport-oauth2":"^1.6.1","@loopback/context":"^5.0.7","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.30.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^10.1.0","commitizen":"^4.2.4","simple-git":"^3.15.1","typescript":"~4.9.4","@types/node":"^14.18.36","@types/lodash":"^4.14.181","@loopback/boot":"^5.0.7","@loopback/rest":"^12.0.7","@types/express":"^4.17.13","@commitlint/cli":"^16.2.3","@loopback/build":"^9.0.7","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^19.0.3","@loopback/testlab":"^5.0.7","git-release-notes":"^5.0.0","@loopback/metadata":"^5.0.7","source-map-support":"^0.5.21","@types/jsonwebtoken":"^9.0.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^16.2.1","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^5.0.7","@loopback/rest":"^12.0.7"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_7.4.1_1675144717787_0.5804184758125377","host":"s3://npm-registry-packages"}},"7.5.0":{"name":"loopback4-authentication","version":"7.5.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@7.5.0","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"0ade931d72664c8542c413371492f2e4e8e59716","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-7.5.0.tgz","fileCount":297,"integrity":"sha512-1ClUCu39cfNgVI9ogORGDDXzWG6GJHEoHF6ZYTKCqiW686w2XqYYAc9uOAi73gxmfgC2YCNtf7Zsa/dVcsD/Jw==","signatures":[{"sig":"MEQCIDwkv4lgwTy+tHpHQJ0eGaPTNjw4lat+CI2iHPws0QWrAiA4L1A3pvb7pyStKo1ERAmaC9JqqDQjXE2jiQQKwE49Kw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":425277,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj746PACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoaRg//WDzJt4ZFZ15w34sDCjaaQ6hFcW0/lAKu0MridW4VUVUpF/aL\r\nO7jjwFRa2RQORObdu0sb9X3+q/mEciVqhBk9po0BzhjNXfeJbQes8SFpR6UX\r\nfDMjsfL6IEjzURm6ohAxv4sSu5kzh33aqcu3dyDqM8/pKyUr+QW6eG1VKW7r\r\npoAfSntlKJduOyPnb9oVj4XvZvqDS0guXVMuOrPbAs7eEjhTzbTRtruIpnso\r\nzkXIK8WBE5/jqkhAm1MOvbHIgMnPgDLuN8uMvEfBecwjGHatNlN+ZpldG6+7\r\nVaLrdsU2sCiToyUE0zs92NoYuPVhShnvZd+NfNFm9O87TsPQDAJJgEbKHDGZ\r\ng8hIgA7WNYFvy68itw/4mPU5uBsCPWGSkMNFz5wrw6uMcVJBIXMNUzL5XQtS\r\nNI69n4ykCdDVsuRS2xIepSDmIkCiB9TMc3SqzCglUKCkCkG6kjWBKdcNn8Wa\r\nO+60Vn2Gye1A8vLC391VZmxTYMSY8w4SKeaeYvCafoiT9bnMrXDxroo3josG\r\nB4yvIYf/u7HTBoZuBDgWLgdNQX2X+OPaRkwjaPV/qkdsFuie3bn89QPQbvrl\r\nVR/ZPm/VIcWA4+tSdeAQNlqXbO7BjkGOFfEA9ioa7rdTu688CzzpZxvyIqVs\r\nP5NA7d37TAMepEHiPQUtidkRS8WjjEURAPY=\r\n=enNX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"12 || 14 || 16 || 17"},"gitHead":"f52d7c032aad43fc8927e7c1ff847e930ea3fab9","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"body-parser":{"debug":"^4.3.4"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"9.5.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"16.13.1","dependencies":{"ajv":"^8.11.0","tslib":"^2.0.0","passport":"^0.6.0","jsonwebtoken":"^9.0.0","@loopback/core":"^4.0.7","passport-apple":"file:vendor/passport-apple","passport-local":"^1.0.0","passport-oauth2":"^1.6.1","@loopback/context":"^5.0.7","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@node-saml/passport-saml":"^4.0.2","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.33.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^10.1.0","commitizen":"^4.2.4","simple-git":"^3.15.1","typescript":"~4.9.4","@types/node":"^14.18.36","@types/lodash":"^4.14.181","@loopback/boot":"^5.0.8","@loopback/rest":"^12.0.8","@types/express":"^4.17.13","@commitlint/cli":"^16.2.3","@loopback/build":"^9.0.8","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^19.0.3","@loopback/testlab":"^5.0.8","git-release-notes":"^5.0.0","@loopback/metadata":"^5.0.8","source-map-support":"^0.5.21","@types/jsonwebtoken":"^9.0.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^16.2.1","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^5.0.8","@loopback/rest":"^12.0.8"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_7.5.0_1676643983554_0.09652291776023647","host":"s3://npm-registry-packages"}},"7.5.1":{"name":"loopback4-authentication","version":"7.5.1","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@7.5.1","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"8a675e7453ace7712e9ced7692ab7373f390be7b","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-7.5.1.tgz","fileCount":297,"integrity":"sha512-OJ+JvBdzCdm0sxdKE+QAR3M2sTq1y7iWpO4v2hT86+wiEPVj0O0P9UaocYJEMVwOe78K+zYE0jHzNZlDIRblug==","signatures":[{"sig":"MEYCIQD7+21yYQtA1kvKkHz8QuLyZiHq/bnr35x58nzisD72jgIhAK4InakXIdGvVpLG9S9+V+bFXgurW7srx70uqjCdEhi7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":425277,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkCxwTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr1yQ//Y08L5dPy8uKDHtH01H8OAQzwZyRk4neqoDVjszx1ujWS2sVE\r\nhKezzQNJhBIHPfSomqSlr34aV1w8EBpX9Cgln61vbr25C/Yif1JBZU/pnSjm\r\nXs8zkimkb26M83vmE0OyCctzJu8W25wvJEinYjMxB/lUuBjpY9JUQiqTiYRz\r\n9rwBrDZtLptclTc8tGRnAxHg0UTmgwlUEPsxMj+o1KcTVmVht9SmLhN0s/AH\r\nx5AwnpC9pbSAK3oZP+eRDkOCz+SJ9JapF2aVXEMsQRAqXvnhA4EC/GM+7XoC\r\nyAaRx/3H4zgo8PquBmXV61A/EBAj7Uy8pyGhA4l5oUt7WEbKgPS/DwgZFRw5\r\nMObvqL40gZQdwlGOX2tCt2nWXHGtTjqs5AO+ZrNgTHjr73IxJEoLDjIXuljw\r\nl//psx1m72f8bcroaTO8fe+8Oue+AgVru7Jqbk9aaW1fMRbucvgK1Vpjvhmc\r\nib+Y2iDQ/KNuPJ9f9e798KsVAgojn5+1qN1jQw9Ic9XAuqxGIdFpLiksvYEN\r\noD/543xBLAbeWcjYMgMSvDiUzqAPsr6p/r0k0lv7Ey+ysK9ph7h342OQUhAv\r\n9p3hfRu2CNpH6tswdTN92EKiTzh78y3PR/Rn1lO4RU8aCV6/0/uWSBeTYMsZ\r\n6FbcKSnNRu/+HG2vWenyksCYQ7yy5caSCXs=\r\n=B+57\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"12 || 14 || 16 || 17"},"gitHead":"6c5ae58dc4c323d09e378769b562fd7129490eff","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"body-parser":{"debug":"^4.3.4"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"9.6.1","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"16.13.1","dependencies":{"ajv":"^8.11.0","tslib":"^2.0.0","passport":"^0.6.0","jsonwebtoken":"^9.0.0","@loopback/core":"^4.0.9","passport-apple":"file:vendor/passport-apple","passport-local":"^1.0.0","passport-oauth2":"^1.6.1","@loopback/context":"^5.0.9","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@node-saml/passport-saml":"^4.0.2","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.35.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^10.1.0","commitizen":"^4.2.4","simple-git":"^3.15.1","typescript":"~4.9.4","@types/node":"^14.18.36","@types/lodash":"^4.14.181","@loopback/boot":"^5.0.9","@loopback/rest":"^12.0.9","@types/express":"^4.17.13","@commitlint/cli":"^16.2.3","@loopback/build":"^9.0.9","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^19.0.3","@loopback/testlab":"^5.0.9","git-release-notes":"^5.0.0","@loopback/metadata":"^5.0.9","source-map-support":"^0.5.21","@types/jsonwebtoken":"^9.0.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^16.2.1","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^5.0.9","@loopback/rest":"^12.0.9"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_7.5.1_1678449683781_0.5106643814020941","host":"s3://npm-registry-packages"}},"8.0.0":{"name":"loopback4-authentication","version":"8.0.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@8.0.0","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"2b87bc6d1584506c64d023ad08a90fd08002c1a6","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-8.0.0.tgz","fileCount":301,"integrity":"sha512-nA3FIyzo2P52MuFR0oleo+NlAFK8gD0zeNkOQmO1AkUgpSmRlFco+LYoj6MnDqslVGZP86QGtCQmkDXmMMOw1A==","signatures":[{"sig":"MEYCIQCOhxRNf0tAhBaGFXFhYiV4XdN8J2hAc7FHmlpeu+Ty5wIhANDvbYQ6QPLwzx7L+KosB8uNyc8lOmC7q+WXbAJ7dRHp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":434468,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIWxpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqwww//WOfbaeHpaW3rtLg4o05Trs2oRnPdVcrJNZ2l+mYARxiLF1vH\r\nkPmli6lnIsBHy7x8faPMzpx1dcvag/aG9NA0J3M5MkjJqxxvGRCVNCP3phga\r\nF668LLEAoEu4zvBBHNiRmsViBhO2JGbTE+/dcgVo7ZTO/oeeWUM4PEhGCX22\r\n0WdeOd0zoh2E7Bq0/N6QS8n7OeSPVIKFlUOzbBLqWon7olDf2Iu8qQngkpRw\r\noynGSLHfJqyYQrtZjcRroLUiJrgRo2emYCYMkvxGxKszeMBFJOtzf4mIT2le\r\n1FJbsTSw998Ln6Wsbz5Mc5DK8LHcyp4eVCw+r01d9j6IEATc8AT0YZQjxzoR\r\nOJtaPfocFutxMA7ZPzTKphxIkHq8KDrl+zLF0mlYc/xUbjRvuREYrt5Nmh8+\r\nEo8VIg3/lM8jJq8jazEjU3TtrxiXwx6KDtR+1k4UosyN/5ppJeQU/GhvbEB0\r\noxzCSPCebSkEr3sI8QoUu41PW1JDJIWA7YnKuQgWA8QUIEhUKRMnZFsz5Giv\r\noNL3L0tjFzqQzn7j+GVtzxt6ggN/SSW01UDQ8yo9bxQ/9dq8ZZUuPVFMyLOn\r\nAa4cI6ZCkUqdi78za4xPoUgYY5sae6PtBVdy+ZAGn4F0yglcvfoGrBn9s1sV\r\nxruJ5MXA6EBKN7Ul5C1bmGXL2Crv5NzopAA=\r\n=wAIZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"12 || 14 || 16 || 17"},"gitHead":"7808188e6c107f362a8df6c0bd3b42a2ff9371d3","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"body-parser":{"debug":"^4.3.4"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"}},"deprecated":"8.x is no longer supported, use the latest 9.x.x version","repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"9.6.1","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"16.13.1","dependencies":{"ajv":"^8.11.0","tslib":"^2.0.0","passport":"^0.6.0","jsonwebtoken":"^9.0.0","@loopback/core":"^4.0.9","passport-apple":"file:vendor/passport-apple","passport-local":"^1.0.0","passport-oauth2":"^1.6.1","@loopback/context":"^5.0.9","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@node-saml/passport-saml":"^4.0.2","@exlinc/keycloak-passport":"^1.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.35.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^10.1.0","commitizen":"^4.2.4","simple-git":"^3.15.1","typescript":"~4.9.4","@types/node":"^14.18.36","@types/lodash":"^4.14.181","@loopback/boot":"^5.0.9","@loopback/rest":"^12.0.9","@types/express":"^4.17.13","@commitlint/cli":"^16.2.3","@loopback/build":"^9.0.9","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^19.0.3","@loopback/testlab":"^5.0.9","git-release-notes":"^5.0.0","@loopback/metadata":"^5.0.9","source-map-support":"^0.5.21","@types/jsonwebtoken":"^9.0.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^16.2.1","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^5.0.9","@loopback/rest":"^12.0.9"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_8.0.0_1679912041185_0.4119573237283456","host":"s3://npm-registry-packages"}},"7.6.0":{"name":"loopback4-authentication","version":"7.6.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@7.6.0","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"78e05e4506028da32940870c90e438dd05c58188","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-7.6.0.tgz","fileCount":305,"integrity":"sha512-xY9HFkWnKRBVVoltu21M64WwHgPHMKcaCV3gUodYB+VH93kNJ4mNB09hgvDVWJLY0b7G0CaIJIHGYOXZEFrB4Q==","signatures":[{"sig":"MEYCIQDIKz5+eKbV10uBrH4xXzcwUoVM49TTzKstwBRledF8DgIhAL/FF8CQM+odhQGfLrC+OEN/b0ujMP1u5fX98swhCCci","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":442504,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkK9VvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp50g//bILS87qkchG17E5rP7SEGr6cYCS4765PpDXdQScVVCDCb71F\r\nWe0ZOYmfpCoVrKnFFZRcnzxkFXIdsNbEtYaNIrdISOyuMkeeVkOJLo66jEMC\r\nBljyKGLGjYk/cbgH4B3dM8io1MDDHU1SiXFKsyWaoFxZJ7spb9YOfnLt6ZVr\r\nx+QHfyikKt4sOq4J9Cpa9qVEyyvV4oez76jzPG/rDSsK8PgILWTAft5HQalb\r\np0z6f8pqbWG+Df4xOT2GH8BIBgsfIEtVANfQPxnF9Ap6lGWviwBBEQ7Um72V\r\nQ5/UaGB/kLf4c4WWnvZ/IZcZyECeai06XbCzJA32iz5HOS1kyrpALBc6/A/U\r\nYvXnRGRsCsJJZxeoKdmvTOk8H/TRk2/OhhfxqPCrMoEkAFLhcfi9L8RL9QeG\r\nfupKxPiw4xzMGvOAGTvMx94PZaAN9FxJ2j/xuoRa61zhb8QW4wF84gYTHvh7\r\neCAnYUEYg3p6x2yMfZfRcuWQQ4umPLDbgZFbolRHB0AjwV/J9xCNETA3mfVb\r\nGmPceBcsZqDz4E10CYbsQGil3/vWdJzSwmqUngzk4IUF3xfNjCvQ86yggS5L\r\n2cAJjLWYhagFMviATdGBzOL5SYQQIwSfIfbxuNouY6dLxBGTPwqCRWJ7jeTh\r\nIt316KA1/2yO7oztK7Wl2ig2qFoitcYNYAE=\r\n=/Mzx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"12 || 14 || 16 || 17"},"gitHead":"d9e1e1b063daa11ae2fa1beac5d2b8ff13efeaa1","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"body-parser":{"debug":"^4.3.4"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"},"@openapi-contrib/openapi-schema-to-json-schema":"3.2.0"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"9.6.1","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"16.13.1","dependencies":{"ajv":"^8.11.0","tslib":"^2.0.0","passport":"^0.6.0","jsonwebtoken":"^9.0.0","@loopback/core":"^4.0.9","passport-apple":"file:vendor/passport-apple","passport-local":"^1.0.0","passport-oauth2":"^1.6.1","@loopback/context":"^5.0.9","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@node-saml/passport-saml":"^4.0.2","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.35.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^10.1.0","commitizen":"^4.2.4","simple-git":"^3.15.1","typescript":"~4.9.4","@types/node":"^14.18.36","@types/lodash":"^4.14.181","@loopback/boot":"^5.0.9","@loopback/rest":"^12.0.9","@types/express":"^4.17.13","@commitlint/cli":"^16.2.3","@loopback/build":"^9.0.9","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^19.0.3","@loopback/testlab":"^5.0.9","git-release-notes":"^5.0.0","@loopback/metadata":"^5.0.9","source-map-support":"^0.5.21","@types/jsonwebtoken":"^9.0.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^16.2.1","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^5.0.9","@loopback/rest":"^12.0.9"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_7.6.0_1680594286899_0.43939312195255953","host":"s3://npm-registry-packages"}},"7.6.1":{"name":"loopback4-authentication","version":"7.6.1","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@7.6.1","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"5073f708b82704cac64615e8f7de89e97cc48f67","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-7.6.1.tgz","fileCount":305,"integrity":"sha512-k13caKzaWIet48/yyrOx03ca7qJgmBAgozJSO5D2VxljnhphYKJHtHncLS0IIVrZANNw8w16rHvRZOYLHFr3+Q==","signatures":[{"sig":"MEYCIQC6A+AcZr/SDJ7PJBQkom7QKSrr6LJUwVqB4k+EWuWLTwIhAICn6CPME1vtfEjRmB87FGup1KLM87hLisB4+zHV78lT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":442540,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkRpjtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq5ixAAhFSzK67+HK1lTJETlVpfRqGjHwAbffpdrhD43sbgasei1wr0\r\nf8Hohe9vU5kCvw1NI+2jJq2lA5FYn42dm4p5xsDI05MEi0FS5WyR2nxUfCyO\r\nEq8n338xz6WhSjjNf1fn02PkEgIwMZhNhBiDrUog0i49PyX74lrJQC3tdX4s\r\nII1ZIBG+JXhsTxvYYjJ1Xzdy31b0kWQ7M8/pmc81Zh6v44YSO1Caqm6phT7q\r\nVBJlPNn+zchEc+ypylvORJS2lZhOy74aWPO16AmWY2h5q47w1CKxDHx7x6Vx\r\nzEXb5R0WqoMxEvY/bnVCGYOfrsWYTRdcxi9mE4yMQ5nLYFwb5v3GiKuqv76k\r\nXyFIh81oUpIevlp3nwo/xjCgC8J7tpIhnHsx6SYmUXY837Vs6Vd6UOYjjoG0\r\nDtl31FOA/0Lqj+uwf1hNiO+mRi9xBz1Deeoa783nm2uxIeijUlLMDwowK0J2\r\n6nqPj82Af64Q7ZwaqNCB1pN+h9u7zFLXa4ftmUw+QiwgXZf/xh5gpHqCBy2G\r\nWIvKuAVtUlfN7UiWLHorcZ57Ksf7tfOyLqesZz2GSXxvcBokVmCHI2G/IM3s\r\nbJm9XBjLi4b0LKCdtwYFjIaF2d0A8ZToxNPMTBHxTj7kkG4dyYWgiOO96Y8I\r\nsOssktUtez/mVySZYrZUlXqVi/NS5Grv4xA=\r\n=uJ5D\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"12 || 14 || 16 || 17"},"gitHead":"61e4d6bfd689eb3c4c9d0fa89c037fd658ce5dc8","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"aws-sdk":"2.1360.0","express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"body-parser":{"debug":"^4.3.4"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"},"@openapi-contrib/openapi-schema-to-json-schema":"3.2.0"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"9.6.5","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"16.13.1","dependencies":{"ajv":"^8.11.0","tslib":"^2.0.0","passport":"^0.6.0","jsonwebtoken":"^9.0.0","@loopback/core":"^4.0.10","passport-apple":"file:vendor/passport-apple","passport-local":"^1.0.0","passport-oauth2":"^1.6.1","@loopback/context":"^5.0.10","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@node-saml/passport-saml":"^4.0.2","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.38.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^10.1.0","commitizen":"^4.2.4","simple-git":"^3.15.1","typescript":"~4.9.5","@types/node":"^14.18.42","@types/lodash":"^4.14.181","@loopback/boot":"^5.0.10","@loopback/rest":"^12.0.10","@types/express":"^4.17.13","@commitlint/cli":"^16.2.3","@loopback/build":"^9.0.10","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^19.0.3","@loopback/testlab":"^5.0.10","git-release-notes":"^5.0.0","@loopback/metadata":"^5.0.10","source-map-support":"^0.5.21","@types/jsonwebtoken":"^9.0.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^16.2.1","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^5.0.10","@loopback/rest":"^12.0.10"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_7.6.1_1682348268961_0.4557288224813858","host":"s3://npm-registry-packages"}},"8.0.1":{"name":"loopback4-authentication","version":"8.0.1","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@8.0.1","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"8d5e775880e3c5d30b1c88bfdde13b27b783b5ec","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-8.0.1.tgz","fileCount":305,"integrity":"sha512-amDuRZlwmAMOHpzxFBVgdP9ReOdpP+t3Rq9542awHcGdDRCVV23UWmcTHLXkBvgWIzp/PxYDnKX9yhrrcAuofw==","signatures":[{"sig":"MEQCIChT03tz1fQxWZCvVMoFB4SBJYQwxQbdLFZGCMW9LNjRAiBKKeKm/HmLBuWXVxtOC5BFcfcmwAQm45jUQZBbWo1+6A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":442526},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"16 || 17 || 18"},"gitHead":"e20acb410e699a75da5b07bf0ff8680a3eafd36a","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"},"overrides":{"aws-sdk":"2.1360.0","express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"body-parser":{"debug":"^4.3.4"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"},"@openapi-contrib/openapi-schema-to-json-schema":"3.2.0"},"deprecated":"8.x is no longer supported, use the latest 9.x.x version","repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"9.6.7","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"18.16.0","dependencies":{"ajv":"^8.11.0","tslib":"^2.0.0","passport":"^0.6.0","jsonwebtoken":"^9.0.0","@loopback/core":"^5.0.0","passport-apple":"file:vendor/passport-apple","passport-local":"^1.0.0","passport-oauth2":"^1.6.1","@loopback/context":"^6.0.0","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@node-saml/passport-saml":"^4.0.2","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.40.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^10.1.0","commitizen":"^4.2.4","simple-git":"^3.15.1","typescript":"~4.9.5","@types/node":"^14.18.47","@types/lodash":"^4.14.181","@loopback/boot":"^6.0.0","@loopback/rest":"^13.0.0","@types/express":"^4.17.13","@commitlint/cli":"^16.2.3","@loopback/build":"^10.0.0","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^19.0.3","@loopback/testlab":"^6.0.0","git-release-notes":"^5.0.0","@loopback/metadata":"^6.0.0","source-map-support":"^0.5.21","@types/jsonwebtoken":"^9.0.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^16.2.1","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^6.0.0","@loopback/rest":"^13.0.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_8.0.1_1686122656954_0.13519488423534698","host":"s3://npm-registry-packages"}},"9.0.0":{"name":"loopback4-authentication","version":"9.0.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@9.0.0","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"d90170e625db6fc39ef57d1d00fc7e542e3e2b5e","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-9.0.0.tgz","fileCount":305,"integrity":"sha512-qv/oNIxV/EGTHQGmdD7S5D6VrBcloftetWGCtti1+oScCIksA5HudlFt/d9jt37JJAexmnu6r2KPPYIECEH82w==","signatures":[{"sig":"MEYCIQC1ljsE4jULvzGJJvAM+Jt15FOgvK+5iSdV3NSCfzszbAIhAIKWmSdnNQVa1yqJOxJwChr0033Rz/p+Ta0WY5jiKZ+P","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":442526},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"16 || 17 || 18"},"gitHead":"324853beaf273e7dc9c928adbe604dfabac56398","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"},"overrides":{"aws-sdk":"2.1360.0","express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"body-parser":{"debug":"^4.3.4"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"},"@openapi-contrib/openapi-schema-to-json-schema":"3.2.0"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"9.6.7","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"18.16.0","dependencies":{"ajv":"^8.11.0","tslib":"^2.0.0","passport":"^0.6.0","jsonwebtoken":"^9.0.0","@loopback/core":"^5.0.0","passport-apple":"file:vendor/passport-apple","passport-local":"^1.0.0","passport-oauth2":"^1.6.1","@loopback/context":"^6.0.0","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@node-saml/passport-saml":"^4.0.2","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.40.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^10.1.0","commitizen":"^4.2.4","simple-git":"^3.15.1","typescript":"~4.9.5","@types/node":"^14.18.47","@types/lodash":"^4.14.181","@loopback/boot":"^6.0.0","@loopback/rest":"^13.0.0","@types/express":"^4.17.13","@commitlint/cli":"^16.2.3","@loopback/build":"^10.0.0","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^19.0.3","@loopback/testlab":"^6.0.0","git-release-notes":"^5.0.0","@loopback/metadata":"^6.0.0","source-map-support":"^0.5.21","@types/jsonwebtoken":"^9.0.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^16.2.1","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^6.0.0","@loopback/rest":"^13.0.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_9.0.0_1686123708371_0.02493268337028809","host":"s3://npm-registry-packages"}},"9.0.1":{"name":"loopback4-authentication","version":"9.0.1","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@9.0.1","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"f479f95008c42e8ea687fca2bd5ea5471f95f89e","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-9.0.1.tgz","fileCount":305,"integrity":"sha512-cwJIIdLSZ97V9ke0ced6akgIAW2fCbtpb5wWiritKN7aPnlf0PjEV7ECIxh+22ZCLV3PdoAzUbDdAux5Q2CoRg==","signatures":[{"sig":"MEUCIQDB5SaSWW9zMCKYcIUQ+BBwbls8LXfr2tmkUCVZX1FFDwIgB48JTNo110Krm60b1KX3TPnvKmDKgDIIS4ITRIxekMg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":442240},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"16 || 17 || 18"},"gitHead":"9b35fed3cb36ac523ac465f95012272c9e31da08","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"},"overrides":{"aws-sdk":"2.1360.0","express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"body-parser":{"debug":"^4.3.4"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"},"@openapi-contrib/openapi-schema-to-json-schema":"3.2.0"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"9.8.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"18.16.0","dependencies":{"ajv":"^8.11.0","tslib":"^2.6.0","passport":"^0.6.0","jsonwebtoken":"^9.0.0","@loopback/core":"^5.1.0","passport-apple":"file:vendor/passport-apple","passport-local":"^1.0.0","passport-oauth2":"^1.6.1","@loopback/context":"^6.1.0","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@node-saml/passport-saml":"^4.0.4","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.44.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^10.1.0","commitizen":"^4.2.4","simple-git":"^3.15.1","typescript":"~4.9.5","@types/node":"^14.18.47","@types/lodash":"^4.14.181","@loopback/boot":"^6.1.0","@loopback/rest":"^13.1.0","@types/express":"^4.17.13","@commitlint/cli":"^16.2.3","@loopback/build":"^10.1.0","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^19.0.3","@loopback/testlab":"^6.1.0","git-release-notes":"^5.0.0","@loopback/metadata":"^6.1.0","source-map-support":"^0.5.21","@types/jsonwebtoken":"^9.0.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^16.2.1","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^6.1.0","@loopback/rest":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_9.0.1_1689344389376_0.9326371892709091","host":"s3://npm-registry-packages"}},"9.0.2":{"name":"loopback4-authentication","version":"9.0.2","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@9.0.2","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"39a2baedcb5710002f3a979f0c137236cbd6829e","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-9.0.2.tgz","fileCount":305,"integrity":"sha512-COzH6qALlZo2tMe24B6wxmua/udT5o1PnwU8/1dB0w3qv2PIDx2JRY40xXCKC9fVFPHQPboehDLcGAeABlTATQ==","signatures":[{"sig":"MEQCIDxVrhqUmySct59TcGPPKjmk03xBSZOkBElwmozO7w+lAiBW83MOmjEjNFdDILtC59sJPUADr4IMquygJyM88yW4hw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":442974},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"16 || 17 || 18"},"gitHead":"6243f95864c0121ccfbad09fe18154c58c6d268f","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"},"overrides":{"aws-sdk":"2.1360.0","express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"body-parser":{"debug":"^4.3.4"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"},"@openapi-contrib/openapi-schema-to-json-schema":"3.2.0"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"9.8.0","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"18.16.0","dependencies":{"ajv":"^8.11.0","tslib":"^2.6.0","passport":"^0.6.0","jsonwebtoken":"^9.0.0","@loopback/core":"^5.1.0","passport-apple":"file:vendor/passport-apple","passport-local":"^1.0.0","passport-oauth2":"^1.6.1","@loopback/context":"^6.1.0","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@node-saml/passport-saml":"^4.0.4","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.44.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^10.1.0","commitizen":"^4.2.4","simple-git":"^3.15.1","typescript":"~4.9.5","@types/node":"^14.18.47","@types/lodash":"^4.14.181","@loopback/boot":"^6.1.0","@loopback/rest":"^13.1.0","@types/express":"^4.17.13","@commitlint/cli":"^16.2.3","@loopback/build":"^10.1.0","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^19.0.3","@loopback/testlab":"^6.1.0","git-release-notes":"^5.0.0","@loopback/metadata":"^6.1.0","source-map-support":"^0.5.21","@types/jsonwebtoken":"^9.0.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^16.2.1","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^6.1.0","@loopback/rest":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_9.0.2_1692856254501_0.6896252865727028","host":"s3://npm-registry-packages"}},"10.0.0":{"name":"loopback4-authentication","version":"10.0.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@10.0.0","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"08ee850a720ef5fceb970a009887ea0f9b15d3b8","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-10.0.0.tgz","fileCount":305,"integrity":"sha512-6Laf6BVTxY6hXbPh6clAgkJVyVWiaU99zsdNLz0X1g6UM7GapbM8/TH6RenDY0IIo022asc/c4107fVuaT04yg==","signatures":[{"sig":"MEUCIQCdV9BHhLqYKZ4AOlN1yCXXeA9R3g6hmG4izpujHuxhcwIgLaC9aLdwFpUYIywBTsESCUvWGqc28pEbU4J8gi0/ubI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":443822},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=18"},"gitHead":"c6a899dc0e6e3ae908a963e7efdec6e9107ea989","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},"overrides":{"aws-sdk":"2.1360.0","express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"body-parser":{"debug":"^4.3.4"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"},"@openapi-contrib/openapi-schema-to-json-schema":"3.2.0"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"9.8.1","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"18.18.0","dependencies":{"ajv":"^8.11.0","tslib":"^2.0.0","passport":"^0.6.0","jsonwebtoken":"^9.0.0","@loopback/core":"^5.1.3","passport-apple":"file:vendor/passport-apple","passport-local":"^1.0.0","passport-oauth2":"^1.6.1","@loopback/context":"^6.1.3","https-proxy-agent":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","passport-instagram":"^1.0.0","passport-http-bearer":"^1.0.1","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@node-saml/passport-saml":"^4.0.4","@exlinc/keycloak-passport":"^1.0.2","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.48.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^11.1.1","commitizen":"^4.2.4","simple-git":"^3.15.1","typescript":"~5.2.2","@types/node":"^16.18.50","@types/lodash":"^4.14.181","@loopback/boot":"^6.1.3","@types/express":"^4.17.13","@commitlint/cli":"^17.7.1","@loopback/build":"^10.1.3","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","semantic-release":"^19.0.3","@loopback/testlab":"^6.1.3","git-release-notes":"^5.0.0","@loopback/metadata":"^6.1.3","source-map-support":"^0.5.21","@types/jsonwebtoken":"^9.0.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^17.7.0","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^6.1.3","@loopback/rest":"13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_10.0.0_1696503980837_0.7506722695858374","host":"s3://npm-registry-packages"}},"11.0.0":{"name":"loopback4-authentication","version":"11.0.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@11.0.0","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"4e4456edaf3e39b54c20999555feb06cb4050b6d","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-11.0.0.tgz","fileCount":305,"integrity":"sha512-GugN3zirNHSfCspkfXGcr3qni9IwuBy7Nbfd+xVbVwpIgPNAZHqSDPrwtIuGKnN3S/YD9rAqro8Y5y/bM+4pKg==","signatures":[{"sig":"MEYCIQCB8YbKDj2e7MKcs5eIs2J4M5RUub3d6CtE9t1XcyPE8gIhAPiAR9jI5Ap3arMicdw+k2vsJxDTu9nKLHtNppo53FWt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":449635},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=18"},"exports":{".":"./dist/index.js","./SAML":{"type":"./dist/strategies/SAML/index.d.ts","default":"./dist/strategies/SAML/index.js"},"./passport-otp":{"type":"./dist/strategies/passport/passport-otp/index.d.ts","default":"./dist/strategies/passport/passport-otp/index.js"},"./passport-local":{"type":"./dist/strategies/passport/passport-local/index.d.ts","default":"./dist/strategies/passport/passport-local/index.js"},"./passport-bearer":{"type":"./dist/strategies/passport/passport-bearer/index.d.ts","default":"./dist/strategies/passport/passport-bearer/index.js"},"./passport-azure-ad":{"type":"./dist/strategies/passport/passport-azure-ad/index.d.ts","default":"./dist/strategies/passport/passport-azure-ad/index.js"},"./passport-keycloak":{"type":"./dist/strategies/passport/passport-keycloak/index.d.ts","default":"./dist/strategies/passport/passport-keycloak/index.js"},"./passport-apple-oauth2":{"type":"./dist/strategies/passport/passport-apple-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-apple-oauth2/index.js"},"./passport-insta-oauth2":{"type":"./dist/strategies/passport/passport-insta-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-insta-oauth2/index.js"},"./passport-google-oauth2":{"type":"./dist/strategies/passport/passport-google-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-google-oauth2/index.js"},"./passport-cognito-oauth2":{"type":"./dist/strategies/passport/passport-cognito-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-cognito-oauth2/index.js"},"./passport-client-password":{"type":"./dist/strategies/passport/passport-client-password/index.d.ts","default":"./dist/strategies/passport/passport-client-password/index.js"},"./passport-facebook-oauth2":{"type":"./dist/strategies/passport/passport-facebook-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-facebook-oauth2/index.js"},"./passport-resource-owner-password":{"type":"./dist/strategies/passport/passport-resource-owner-password/index.d.ts","default":"./dist/strategies/passport/passport-resource-owner-password/index.js"}},"gitHead":"3074d23f62805970ce73001c541fdc7e5cb2e437","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},"overrides":{"aws-sdk":"2.1360.0","express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"body-parser":{"debug":"^4.3.4"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"},"@openapi-contrib/openapi-schema-to-json-schema":"3.2.0"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"9.9.1","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ajv":"^8.11.0","tslib":"^2.0.0","passport":"^0.6.0","jsonwebtoken":"^9.0.0","@loopback/core":"^5.1.3","@loopback/context":"^6.1.3","https-proxy-agent":"^5.0.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"SAML":["./dist/strategies/SAML/index.d.ts"],"passport-otp":["./dist/strategies/passport/passport-otp/index.d.ts"],"passport-local":["./dist/strategies/passport/passport-local/index.d.ts"],"passport-bearer":["./dist/strategies/passport/passport-bearer/index.d.ts"],"passport-azure-ad":["./dist/strategies/passport/passport-azure-ad/index.d.ts"],"passport-keycloak":["./dist/strategies/passport/passport-keycloak/index.d.ts"],"passport-apple-oauth2":["./dist/strategies/passport/passport-apple-oauth2/index.d.ts"],"passport-insta-oauth2":["./dist/strategies/passport/passport-insta-oauth2/index.d.ts"],"passport-google-oauth2":["./dist/strategies/passport/passport-google-oauth2/index.d.ts"],"passport-cognito-oauth2":["./dist/strategies/passport/passport-cognito-oauth2/index.d.ts"],"passport-client-password":["./dist/strategies/passport/passport-client-password/index.d.ts"],"passport-facebook-oauth2":["./dist/strategies/passport/passport-facebook-oauth2/index.d.ts"],"passport-resource-owner-password":["./dist/strategies/passport/passport-resource-owner-password/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.48.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^11.1.1","commitizen":"^4.2.4","simple-git":"^3.15.1","typescript":"~5.2.2","@types/node":"^16.18.50","@types/lodash":"^4.14.181","@loopback/boot":"^6.1.3","@types/express":"^4.17.13","passport-apple":"file:vendor/passport-apple","passport-local":"^1.0.0","@commitlint/cli":"^17.7.1","@loopback/build":"^10.1.3","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","passport-oauth2":"^1.6.1","semantic-release":"^19.0.3","@loopback/testlab":"^6.1.3","git-release-notes":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","@loopback/metadata":"^6.1.3","passport-instagram":"^1.0.0","source-map-support":"^0.5.21","@types/jsonwebtoken":"^9.0.1","passport-http-bearer":"^1.0.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@node-saml/passport-saml":"^4.0.4","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@exlinc/keycloak-passport":"^1.0.2","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^17.7.0","passport-oauth2-client-password":"^0.1.2","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^6.1.3","@loopback/rest":"13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_11.0.0_1701941558949_0.8517345298067136","host":"s3://npm-registry-packages"}},"11.0.1":{"name":"loopback4-authentication","version":"11.0.1","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@11.0.1","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"a4d627a16ea0a99df3ee5fec0bd264a2de032366","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-11.0.1.tgz","fileCount":304,"integrity":"sha512-innez9o1yVO+fqhi/74Ue/Vnlej8O9DKHP6MEs69C171RKaIJI6Ju/54AfiyJeCwNoD1g53yCa0i13cdjEwdWA==","signatures":[{"sig":"MEUCIQC+tP1hUhwBrGNI0OladX4iZmt/7E008wNtB5sWTLOFIAIgI5KeeN5ekb4Z9UfV1Qq5gtg38J1/VyD1w+WY7vS6w70=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":360726},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=18"},"exports":{".":"./dist/index.js","./SAML":{"type":"./dist/strategies/SAML/index.d.ts","default":"./dist/strategies/SAML/index.js"},"./passport-otp":{"type":"./dist/strategies/passport/passport-otp/index.d.ts","default":"./dist/strategies/passport/passport-otp/index.js"},"./passport-local":{"type":"./dist/strategies/passport/passport-local/index.d.ts","default":"./dist/strategies/passport/passport-local/index.js"},"./passport-azure-ad":{"type":"./dist/strategies/passport/passport-azure-ad/index.d.ts","default":"./dist/strategies/passport/passport-azure-ad/index.js"},"./passport-keycloak":{"type":"./dist/strategies/passport/passport-keycloak/index.d.ts","default":"./dist/strategies/passport/passport-keycloak/index.js"},"./passport-apple-oauth2":{"type":"./dist/strategies/passport/passport-apple-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-apple-oauth2/index.js"},"./passport-insta-oauth2":{"type":"./dist/strategies/passport/passport-insta-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-insta-oauth2/index.js"},"./passport-google-oauth2":{"type":"./dist/strategies/passport/passport-google-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-google-oauth2/index.js"},"./passport-cognito-oauth2":{"type":"./dist/strategies/passport/passport-cognito-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-cognito-oauth2/index.js"},"./passport-facebook-oauth2":{"type":"./dist/strategies/passport/passport-facebook-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-facebook-oauth2/index.js"},"./passport-resource-owner-password":{"type":"./dist/strategies/passport/passport-resource-owner-password/index.d.ts","default":"./dist/strategies/passport/passport-resource-owner-password/index.js"}},"gitHead":"99d6c2d423d7b9631a2a5e46e30f304d702ad0c4","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},"overrides":{"aws-sdk":"2.1360.0","express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"body-parser":{"debug":"^4.3.4"},"@loopback/rest":{"@openapi-contrib/openapi-schema-to-json-schema":"4.0.5"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"},"@openapi-contrib/openapi-schema-to-json-schema":"3.2.0"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"9.9.2","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"18.19.0","dependencies":{"ajv":"^8.11.0","tslib":"^2.6.2","passport":"^0.7.0","jsonwebtoken":"^9.0.0","@loopback/core":"^5.1.5","@loopback/context":"^6.1.5","https-proxy-agent":"^5.0.0","passport-http-bearer":"^1.0.1","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"SAML":["./dist/strategies/SAML/index.d.ts"],"passport-otp":["./dist/strategies/passport/passport-otp/index.d.ts"],"passport-local":["./dist/strategies/passport/passport-local/index.d.ts"],"passport-bearer":["./dist/strategies/passport/passport-bearer/index.d.ts"],"passport-azure-ad":["./dist/strategies/passport/passport-azure-ad/index.d.ts"],"passport-keycloak":["./dist/strategies/passport/passport-keycloak/index.d.ts"],"passport-apple-oauth2":["./dist/strategies/passport/passport-apple-oauth2/index.d.ts"],"passport-insta-oauth2":["./dist/strategies/passport/passport-insta-oauth2/index.d.ts"],"passport-google-oauth2":["./dist/strategies/passport/passport-google-oauth2/index.d.ts"],"passport-cognito-oauth2":["./dist/strategies/passport/passport-cognito-oauth2/index.d.ts"],"passport-client-password":["./dist/strategies/passport/passport-client-password/index.d.ts"],"passport-facebook-oauth2":["./dist/strategies/passport/passport-facebook-oauth2/index.d.ts"],"passport-resource-owner-password":["./dist/strategies/passport/passport-resource-owner-password/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.51.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^11.1.1","commitizen":"^4.2.4","simple-git":"^3.15.1","typescript":"~5.2.2","@types/node":"^18.11.9","@types/lodash":"^4.14.181","@loopback/boot":"^6.1.5","@types/express":"^4.17.13","passport-apple":"file:vendor/passport-apple","passport-local":"^1.0.0","@commitlint/cli":"^17.7.1","@loopback/build":"^10.1.5","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","passport-oauth2":"^1.6.1","semantic-release":"^19.0.3","@loopback/testlab":"^6.1.5","git-release-notes":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","@loopback/metadata":"^6.1.5","passport-instagram":"^1.0.0","source-map-support":"^0.5.21","@types/jsonwebtoken":"^9.0.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@node-saml/passport-saml":"^4.0.4","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@exlinc/keycloak-passport":"^1.0.2","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^17.7.0","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^6.1.5","@loopback/rest":"^13.1.5"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_11.0.1_1705510449190_0.3527357729868179","host":"s3://npm-registry-packages"}},"11.0.2":{"name":"loopback4-authentication","version":"11.0.2","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@11.0.2","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"67b149e06f48f6053a46736315fdeddd462cc983","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-11.0.2.tgz","fileCount":304,"integrity":"sha512-2sQPLZMfkWNkgYDfHHK3kmO6P2TF9UgCvnrtr5ZEf0lfjLqwcG14FRLl5dF+Xr8Kt+wvIMdV2XeV7F5xgUIRgA==","signatures":[{"sig":"MEUCIQD+6rz9mJj+n1ZSA77rgY6QaTpFN56YjdlGzhPUdBOkPAIgU3MxgqzSAHTBOSiq0OXbx/R4zxGC8FZlBeInGmrMZMM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":360554},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=18"},"exports":{".":"./dist/index.js","./SAML":{"type":"./dist/strategies/SAML/index.d.ts","default":"./dist/strategies/SAML/index.js"},"./passport-otp":{"type":"./dist/strategies/passport/passport-otp/index.d.ts","default":"./dist/strategies/passport/passport-otp/index.js"},"./passport-local":{"type":"./dist/strategies/passport/passport-local/index.d.ts","default":"./dist/strategies/passport/passport-local/index.js"},"./passport-azure-ad":{"type":"./dist/strategies/passport/passport-azure-ad/index.d.ts","default":"./dist/strategies/passport/passport-azure-ad/index.js"},"./passport-keycloak":{"type":"./dist/strategies/passport/passport-keycloak/index.d.ts","default":"./dist/strategies/passport/passport-keycloak/index.js"},"./passport-apple-oauth2":{"type":"./dist/strategies/passport/passport-apple-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-apple-oauth2/index.js"},"./passport-insta-oauth2":{"type":"./dist/strategies/passport/passport-insta-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-insta-oauth2/index.js"},"./passport-google-oauth2":{"type":"./dist/strategies/passport/passport-google-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-google-oauth2/index.js"},"./passport-cognito-oauth2":{"type":"./dist/strategies/passport/passport-cognito-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-cognito-oauth2/index.js"},"./passport-facebook-oauth2":{"type":"./dist/strategies/passport/passport-facebook-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-facebook-oauth2/index.js"},"./passport-resource-owner-password":{"type":"./dist/strategies/passport/passport-resource-owner-password/index.d.ts","default":"./dist/strategies/passport/passport-resource-owner-password/index.js"}},"gitHead":"8f5e033b617afb12cc4806a26176a0bbeb30dc00","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},"overrides":{"aws-sdk":"2.1360.0","express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"body-parser":{"debug":"^4.3.4"},"@loopback/rest":{"@openapi-contrib/openapi-schema-to-json-schema":"4.0.5"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"},"@openapi-contrib/openapi-schema-to-json-schema":"3.2.0"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"9.9.2","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"18.19.0","dependencies":{"ajv":"^8.11.0","tslib":"^2.6.2","passport":"^0.7.0","jsonwebtoken":"^9.0.0","@loopback/core":"^5.1.5","@loopback/context":"^6.1.5","https-proxy-agent":"^5.0.0","passport-http-bearer":"^1.0.1","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"SAML":["./dist/strategies/SAML/index.d.ts"],"passport-otp":["./dist/strategies/passport/passport-otp/index.d.ts"],"passport-local":["./dist/strategies/passport/passport-local/index.d.ts"],"passport-azure-ad":["./dist/strategies/passport/passport-azure-ad/index.d.ts"],"passport-keycloak":["./dist/strategies/passport/passport-keycloak/index.d.ts"],"passport-apple-oauth2":["./dist/strategies/passport/passport-apple-oauth2/index.d.ts"],"passport-insta-oauth2":["./dist/strategies/passport/passport-insta-oauth2/index.d.ts"],"passport-google-oauth2":["./dist/strategies/passport/passport-google-oauth2/index.d.ts"],"passport-cognito-oauth2":["./dist/strategies/passport/passport-cognito-oauth2/index.d.ts"],"passport-facebook-oauth2":["./dist/strategies/passport/passport-facebook-oauth2/index.d.ts"],"passport-resource-owner-password":["./dist/strategies/passport/passport-resource-owner-password/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.51.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^11.1.1","commitizen":"^4.2.4","simple-git":"^3.15.1","typescript":"~5.2.2","@types/node":"^18.11.9","@types/lodash":"^4.14.181","@loopback/boot":"^6.1.5","@types/express":"^4.17.13","passport-apple":"file:vendor/passport-apple","passport-local":"^1.0.0","@commitlint/cli":"^17.7.1","@loopback/build":"^10.1.5","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","passport-oauth2":"^1.6.1","semantic-release":"^19.0.3","@loopback/testlab":"^6.1.5","git-release-notes":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","@loopback/metadata":"^6.1.5","passport-instagram":"^1.0.0","source-map-support":"^0.5.21","@types/jsonwebtoken":"^9.0.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@node-saml/passport-saml":"^4.0.4","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@exlinc/keycloak-passport":"^1.0.2","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^17.7.0","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^6.1.5","@loopback/rest":"^13.1.5"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_11.0.2_1706792071896_0.12189374053835733","host":"s3://npm-registry-packages"}},"11.0.3":{"name":"loopback4-authentication","version":"11.0.3","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@11.0.3","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"df1afc6642fe55004810a982d432f4477499b8d7","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-11.0.3.tgz","fileCount":304,"integrity":"sha512-1ut0M9AEE6lxVltqy2WXX04sXH/NTIshkrAHLsNdk5Pj3oyStpq/a1n4Ud4odCBuGg/G5mq/AZPvRTm6w7TmHQ==","signatures":[{"sig":"MEUCIQC8XUToeYGgvRDg8FxI0VQWtSNd89oppXyRgZOtO3JPMgIgB6Tuv8pe9VNCcapY6TtwlwAhuqhEPGkTE/S37sLlN0I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":359272},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=18"},"exports":{".":"./dist/index.js","./SAML":{"type":"./dist/strategies/SAML/index.d.ts","default":"./dist/strategies/SAML/index.js"},"./passport-otp":{"type":"./dist/strategies/passport/passport-otp/index.d.ts","default":"./dist/strategies/passport/passport-otp/index.js"},"./passport-local":{"type":"./dist/strategies/passport/passport-local/index.d.ts","default":"./dist/strategies/passport/passport-local/index.js"},"./passport-azure-ad":{"type":"./dist/strategies/passport/passport-azure-ad/index.d.ts","default":"./dist/strategies/passport/passport-azure-ad/index.js"},"./passport-keycloak":{"type":"./dist/strategies/passport/passport-keycloak/index.d.ts","default":"./dist/strategies/passport/passport-keycloak/index.js"},"./passport-apple-oauth2":{"type":"./dist/strategies/passport/passport-apple-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-apple-oauth2/index.js"},"./passport-insta-oauth2":{"type":"./dist/strategies/passport/passport-insta-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-insta-oauth2/index.js"},"./passport-google-oauth2":{"type":"./dist/strategies/passport/passport-google-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-google-oauth2/index.js"},"./passport-cognito-oauth2":{"type":"./dist/strategies/passport/passport-cognito-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-cognito-oauth2/index.js"},"./passport-facebook-oauth2":{"type":"./dist/strategies/passport/passport-facebook-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-facebook-oauth2/index.js"},"./passport-resource-owner-password":{"type":"./dist/strategies/passport/passport-resource-owner-password/index.d.ts","default":"./dist/strategies/passport/passport-resource-owner-password/index.js"}},"gitHead":"496f661e27318a299b66194a167784fb5cfa20e5","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},"overrides":{"aws-sdk":"2.1360.0","express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"body-parser":{"debug":"^4.3.4"},"@loopback/rest":{"@openapi-contrib/openapi-schema-to-json-schema":"4.0.5"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"},"@openapi-contrib/openapi-schema-to-json-schema":"3.2.0"},"deprecated":"version no longer supported use the latest 12.x.x version","repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"9.9.3","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"18.19.1","dependencies":{"ajv":"^8.11.0","tslib":"^2.0.0","passport":"^0.7.0","jsonwebtoken":"^9.0.0","@loopback/core":"^6.0.0","@loopback/context":"^7.0.0","https-proxy-agent":"^5.0.0","passport-http-bearer":"^1.0.1","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"SAML":["./dist/strategies/SAML/index.d.ts"],"passport-otp":["./dist/strategies/passport/passport-otp/index.d.ts"],"passport-local":["./dist/strategies/passport/passport-local/index.d.ts"],"passport-azure-ad":["./dist/strategies/passport/passport-azure-ad/index.d.ts"],"passport-keycloak":["./dist/strategies/passport/passport-keycloak/index.d.ts"],"passport-apple-oauth2":["./dist/strategies/passport/passport-apple-oauth2/index.d.ts"],"passport-insta-oauth2":["./dist/strategies/passport/passport-insta-oauth2/index.d.ts"],"passport-google-oauth2":["./dist/strategies/passport/passport-google-oauth2/index.d.ts"],"passport-cognito-oauth2":["./dist/strategies/passport/passport-cognito-oauth2/index.d.ts"],"passport-facebook-oauth2":["./dist/strategies/passport/passport-facebook-oauth2/index.d.ts"],"passport-resource-owner-password":["./dist/strategies/passport/passport-resource-owner-password/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.57.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^11.2.0","commitizen":"^4.2.4","simple-git":"^3.15.1","typescript":"~5.2.2","@types/node":"^18.11.9","@types/lodash":"^4.14.181","@loopback/boot":"^7.0.0","@types/express":"^4.17.13","passport-apple":"file:vendor/passport-apple","passport-local":"^1.0.0","@commitlint/cli":"^17.7.1","@loopback/build":"^11.0.0","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","passport-oauth2":"^1.6.1","semantic-release":"^19.0.3","@loopback/testlab":"^7.0.0","git-release-notes":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","@loopback/metadata":"^7.0.0","passport-instagram":"^1.0.0","source-map-support":"^0.5.21","@types/jsonwebtoken":"^9.0.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@node-saml/passport-saml":"^4.0.4","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@exlinc/keycloak-passport":"^1.0.2","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^17.7.0","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^7.0.0","@loopback/rest":"^14.0.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_11.0.3_1710165551469_0.22464588863709278","host":"s3://npm-registry-packages"}},"12.0.0":{"name":"loopback4-authentication","version":"12.0.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@12.0.0","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"2d95e41ac1b27552fd29ea0b1ca3f0bf7c415db2","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-12.0.0.tgz","fileCount":304,"integrity":"sha512-gZL4s3z0HguG2tTMVduTM+gvBggspZEOuq+eSfXCRucDRW8j7H6cIVY2CMMCgHUpSBKyvTsHJsBQCo4gB31ANA==","signatures":[{"sig":"MEUCIAXbYFq9OypqiL7NnoSVyQfvT2qBBp0hU0TjXtMjI8QKAiEA3oyzvz1s587dR0FRTZyStkBOCGVF1KVQosB63nG+bQc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":359286},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=18"},"exports":{".":"./dist/index.js","./SAML":{"type":"./dist/strategies/SAML/index.d.ts","default":"./dist/strategies/SAML/index.js"},"./passport-otp":{"type":"./dist/strategies/passport/passport-otp/index.d.ts","default":"./dist/strategies/passport/passport-otp/index.js"},"./passport-local":{"type":"./dist/strategies/passport/passport-local/index.d.ts","default":"./dist/strategies/passport/passport-local/index.js"},"./passport-azure-ad":{"type":"./dist/strategies/passport/passport-azure-ad/index.d.ts","default":"./dist/strategies/passport/passport-azure-ad/index.js"},"./passport-keycloak":{"type":"./dist/strategies/passport/passport-keycloak/index.d.ts","default":"./dist/strategies/passport/passport-keycloak/index.js"},"./passport-apple-oauth2":{"type":"./dist/strategies/passport/passport-apple-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-apple-oauth2/index.js"},"./passport-insta-oauth2":{"type":"./dist/strategies/passport/passport-insta-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-insta-oauth2/index.js"},"./passport-google-oauth2":{"type":"./dist/strategies/passport/passport-google-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-google-oauth2/index.js"},"./passport-cognito-oauth2":{"type":"./dist/strategies/passport/passport-cognito-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-cognito-oauth2/index.js"},"./passport-facebook-oauth2":{"type":"./dist/strategies/passport/passport-facebook-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-facebook-oauth2/index.js"},"./passport-resource-owner-password":{"type":"./dist/strategies/passport/passport-resource-owner-password/index.d.ts","default":"./dist/strategies/passport/passport-resource-owner-password/index.js"}},"gitHead":"bee9136b38beac3bf8682ccb89dbcadcabf1b474","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},"overrides":{"aws-sdk":"2.1360.0","express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"body-parser":{"debug":"^4.3.4"},"@loopback/rest":{"@openapi-contrib/openapi-schema-to-json-schema":"4.0.5"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"},"@openapi-contrib/openapi-schema-to-json-schema":"3.2.0"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"9.9.3","description":"A loopback-next extension for authentication feature. Oauth strategies supported.","directories":{},"_nodeVersion":"18.19.1","dependencies":{"ajv":"^8.11.0","tslib":"^2.0.0","passport":"^0.7.0","jsonwebtoken":"^9.0.0","@loopback/core":"^6.0.0","@loopback/context":"^7.0.0","https-proxy-agent":"^5.0.0","passport-http-bearer":"^1.0.1","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"SAML":["./dist/strategies/SAML/index.d.ts"],"passport-otp":["./dist/strategies/passport/passport-otp/index.d.ts"],"passport-local":["./dist/strategies/passport/passport-local/index.d.ts"],"passport-azure-ad":["./dist/strategies/passport/passport-azure-ad/index.d.ts"],"passport-keycloak":["./dist/strategies/passport/passport-keycloak/index.d.ts"],"passport-apple-oauth2":["./dist/strategies/passport/passport-apple-oauth2/index.d.ts"],"passport-insta-oauth2":["./dist/strategies/passport/passport-insta-oauth2/index.d.ts"],"passport-google-oauth2":["./dist/strategies/passport/passport-google-oauth2/index.d.ts"],"passport-cognito-oauth2":["./dist/strategies/passport/passport-cognito-oauth2/index.d.ts"],"passport-facebook-oauth2":["./dist/strategies/passport/passport-facebook-oauth2/index.d.ts"],"passport-resource-owner-password":["./dist/strategies/passport/passport-resource-owner-password/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.57.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^11.2.0","commitizen":"^4.2.4","simple-git":"^3.15.1","typescript":"~5.2.2","@types/node":"^18.11.9","@types/lodash":"^4.14.181","@loopback/boot":"^7.0.0","@types/express":"^4.17.13","passport-apple":"file:vendor/passport-apple","passport-local":"^1.0.0","@commitlint/cli":"^17.7.1","@loopback/build":"^11.0.0","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","passport-oauth2":"^1.6.1","semantic-release":"^19.0.3","@loopback/testlab":"^7.0.0","git-release-notes":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","@loopback/metadata":"^7.0.0","passport-instagram":"^1.0.0","source-map-support":"^0.5.21","@types/jsonwebtoken":"^9.0.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@node-saml/passport-saml":"^4.0.4","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@exlinc/keycloak-passport":"^1.0.2","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^17.7.0","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^7.0.0","@loopback/rest":"^14.0.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_12.0.0_1710304839903_0.5304198843344887","host":"s3://npm-registry-packages"}},"12.0.1":{"name":"loopback4-authentication","version":"12.0.1","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@12.0.1","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"4f260aaf6abea50dc3cca309f603fcb2a574cfe7","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-12.0.1.tgz","fileCount":305,"integrity":"sha512-AsMWTsbYnsEDp9VFdq6hunZN9SRuotJaTpnqFsD+jrO0EtW9H0PU2drVz/1lMsFQmXAncdO/UUR2Y/W6r/RoMA==","signatures":[{"sig":"MEYCIQDSVygK1JtCQ2q+42HuLLKrGNuszyVyK26I3TLCCpzeEQIhAJVHbxWUBri9hWLUaSROFuTdrdqOU2xDrNJn9u+Kkgfg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":449304},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=18"},"exports":{".":"./dist/index.js","./SAML":{"type":"./dist/strategies/SAML/index.d.ts","default":"./dist/strategies/SAML/index.js"},"./passport-otp":{"type":"./dist/strategies/passport/passport-otp/index.d.ts","default":"./dist/strategies/passport/passport-otp/index.js"},"./passport-local":{"type":"./dist/strategies/passport/passport-local/index.d.ts","default":"./dist/strategies/passport/passport-local/index.js"},"./passport-azure-ad":{"type":"./dist/strategies/passport/passport-azure-ad/index.d.ts","default":"./dist/strategies/passport/passport-azure-ad/index.js"},"./passport-keycloak":{"type":"./dist/strategies/passport/passport-keycloak/index.d.ts","default":"./dist/strategies/passport/passport-keycloak/index.js"},"./passport-apple-oauth2":{"type":"./dist/strategies/passport/passport-apple-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-apple-oauth2/index.js"},"./passport-insta-oauth2":{"type":"./dist/strategies/passport/passport-insta-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-insta-oauth2/index.js"},"./passport-google-oauth2":{"type":"./dist/strategies/passport/passport-google-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-google-oauth2/index.js"},"./passport-cognito-oauth2":{"type":"./dist/strategies/passport/passport-cognito-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-cognito-oauth2/index.js"},"./passport-facebook-oauth2":{"type":"./dist/strategies/passport/passport-facebook-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-facebook-oauth2/index.js"},"./passport-resource-owner-password":{"type":"./dist/strategies/passport/passport-resource-owner-password/index.d.ts","default":"./dist/strategies/passport/passport-resource-owner-password/index.js"}},"gitHead":"4e94abe53955b23ffa44bdb1a5bde426263d9a2f","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},"overrides":{"aws-sdk":"2.1360.0","express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"body-parser":{"debug":"^4.3.4"},"@loopback/rest":{"@openapi-contrib/openapi-schema-to-json-schema":"4.0.5"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"},"@openapi-contrib/openapi-schema-to-json-schema":"3.2.0"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"9.9.3","description":"A loopback-next extension for authentication feature. Various Oauth strategies supported.","directories":{},"_nodeVersion":"18.20.2","dependencies":{"ajv":"^8.11.0","tslib":"^2.0.0","passport":"^0.7.0","jsonwebtoken":"^9.0.0","@loopback/core":"^6.0.0","@loopback/context":"^7.0.0","https-proxy-agent":"^5.0.0","passport-http-bearer":"^1.0.1","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"SAML":["./dist/strategies/SAML/index.d.ts"],"passport-otp":["./dist/strategies/passport/passport-otp/index.d.ts"],"passport-local":["./dist/strategies/passport/passport-local/index.d.ts"],"passport-azure-ad":["./dist/strategies/passport/passport-azure-ad/index.d.ts"],"passport-keycloak":["./dist/strategies/passport/passport-keycloak/index.d.ts"],"passport-apple-oauth2":["./dist/strategies/passport/passport-apple-oauth2/index.d.ts"],"passport-insta-oauth2":["./dist/strategies/passport/passport-insta-oauth2/index.d.ts"],"passport-google-oauth2":["./dist/strategies/passport/passport-google-oauth2/index.d.ts"],"passport-cognito-oauth2":["./dist/strategies/passport/passport-cognito-oauth2/index.d.ts"],"passport-facebook-oauth2":["./dist/strategies/passport/passport-facebook-oauth2/index.d.ts"],"passport-resource-owner-password":["./dist/strategies/passport/passport-resource-owner-password/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.57.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^11.2.0","commitizen":"^4.2.4","simple-git":"^3.15.1","typescript":"~5.2.2","@types/node":"^18.11.9","@types/lodash":"^4.14.181","@loopback/boot":"^7.0.0","@types/express":"^4.17.13","passport-apple":"file:vendor/passport-apple","passport-local":"^1.0.0","@commitlint/cli":"^17.7.1","@loopback/build":"^11.0.0","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","passport-oauth2":"^1.6.1","semantic-release":"^19.0.3","@loopback/testlab":"^7.0.0","git-release-notes":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","@loopback/metadata":"^7.0.0","passport-instagram":"^1.0.0","source-map-support":"^0.5.21","@types/jsonwebtoken":"^9.0.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@node-saml/passport-saml":"^4.0.4","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@exlinc/keycloak-passport":"^1.0.2","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^17.7.0","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^7.0.0","@loopback/rest":"^14.0.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_12.0.1_1715685120942_0.7186401671988776","host":"s3://npm-registry-packages"}},"12.0.2":{"name":"loopback4-authentication","version":"12.0.2","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@12.0.2","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"d188b4ee67eeb5d56db4bcdb7a8637f73bf9cd41","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-12.0.2.tgz","fileCount":305,"integrity":"sha512-ozMOWww2cX7A107uHPu1QPr2KN55moYt7kDsoi/DknE3HD0f6M2WqnLPy8Bu3cNrhe7RXoZocg90xTPdfzFFMg==","signatures":[{"sig":"MEUCIB12AlvbFSF/JUH6LjzaPQBkU3NjYmAr5o7azdexb112AiEAi5SfRMUM7HW+DBvN6WujHBea3ZptwC6V+5rEfWBZr8w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":449304},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=18"},"exports":{".":"./dist/index.js","./SAML":{"type":"./dist/strategies/SAML/index.d.ts","default":"./dist/strategies/SAML/index.js"},"./passport-otp":{"type":"./dist/strategies/passport/passport-otp/index.d.ts","default":"./dist/strategies/passport/passport-otp/index.js"},"./passport-local":{"type":"./dist/strategies/passport/passport-local/index.d.ts","default":"./dist/strategies/passport/passport-local/index.js"},"./passport-azure-ad":{"type":"./dist/strategies/passport/passport-azure-ad/index.d.ts","default":"./dist/strategies/passport/passport-azure-ad/index.js"},"./passport-keycloak":{"type":"./dist/strategies/passport/passport-keycloak/index.d.ts","default":"./dist/strategies/passport/passport-keycloak/index.js"},"./passport-apple-oauth2":{"type":"./dist/strategies/passport/passport-apple-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-apple-oauth2/index.js"},"./passport-insta-oauth2":{"type":"./dist/strategies/passport/passport-insta-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-insta-oauth2/index.js"},"./passport-google-oauth2":{"type":"./dist/strategies/passport/passport-google-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-google-oauth2/index.js"},"./passport-cognito-oauth2":{"type":"./dist/strategies/passport/passport-cognito-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-cognito-oauth2/index.js"},"./passport-facebook-oauth2":{"type":"./dist/strategies/passport/passport-facebook-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-facebook-oauth2/index.js"},"./passport-resource-owner-password":{"type":"./dist/strategies/passport/passport-resource-owner-password/index.d.ts","default":"./dist/strategies/passport/passport-resource-owner-password/index.js"}},"gitHead":"e11de35cae44293678aa97e44cc7ed7ae5d9952b","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},"overrides":{"aws-sdk":"2.1360.0","express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"body-parser":{"debug":"^4.3.4"},"@loopback/rest":{"@openapi-contrib/openapi-schema-to-json-schema":"4.0.5"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"},"@openapi-contrib/openapi-schema-to-json-schema":"3.2.0"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"9.9.3","description":"A loopback-next extension for authentication feature. Various Oauth strategies supported.","directories":{},"_nodeVersion":"18.20.3","dependencies":{"ajv":"^8.11.0","tslib":"^2.6.2","passport":"^0.7.0","jsonwebtoken":"^9.0.0","@loopback/core":"^6.0.2","@loopback/context":"^7.0.2","https-proxy-agent":"^5.0.0","passport-http-bearer":"^1.0.1","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"SAML":["./dist/strategies/SAML/index.d.ts"],"passport-otp":["./dist/strategies/passport/passport-otp/index.d.ts"],"passport-local":["./dist/strategies/passport/passport-local/index.d.ts"],"passport-azure-ad":["./dist/strategies/passport/passport-azure-ad/index.d.ts"],"passport-keycloak":["./dist/strategies/passport/passport-keycloak/index.d.ts"],"passport-apple-oauth2":["./dist/strategies/passport/passport-apple-oauth2/index.d.ts"],"passport-insta-oauth2":["./dist/strategies/passport/passport-insta-oauth2/index.d.ts"],"passport-google-oauth2":["./dist/strategies/passport/passport-google-oauth2/index.d.ts"],"passport-cognito-oauth2":["./dist/strategies/passport/passport-cognito-oauth2/index.d.ts"],"passport-facebook-oauth2":["./dist/strategies/passport/passport-facebook-oauth2/index.d.ts"],"passport-resource-owner-password":["./dist/strategies/passport/passport-resource-owner-password/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.57.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^11.2.0","commitizen":"^4.2.4","simple-git":"^3.15.1","typescript":"~5.2.2","@types/node":"^18.11.9","@types/lodash":"^4.14.181","@loopback/boot":"^7.0.2","@types/express":"^4.17.13","passport-apple":"file:vendor/passport-apple","passport-local":"^1.0.0","@commitlint/cli":"^17.7.1","@loopback/build":"^11.0.2","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","passport-oauth2":"^1.6.1","semantic-release":"^19.0.3","@loopback/testlab":"^7.0.2","git-release-notes":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","@loopback/metadata":"^7.0.2","passport-instagram":"^1.0.0","source-map-support":"^0.5.21","@types/jsonwebtoken":"^9.0.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@node-saml/passport-saml":"^4.0.4","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@exlinc/keycloak-passport":"^1.0.2","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^17.7.0","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^7.0.2","@loopback/rest":"^14.0.2"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_12.0.2_1717572035707_0.6529683827448769","host":"s3://npm-registry-packages"}},"12.1.0":{"name":"loopback4-authentication","version":"12.1.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@12.1.0","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"367223254facc7d5e75bc7458a40eaabe9a21dda","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-12.1.0.tgz","fileCount":321,"integrity":"sha512-+Gkp7D/VIdzpkLpEpbLNz8t21JkOUVtZxi4tecdfvkzKdLrfgZH3zrx9wgFXFaNnEzV4oWO2nXkMfdi+qtiIow==","signatures":[{"sig":"MEQCIBTIjJBnAeYagwBNvywT0GshyxgWHoUc1b7RK5xGyALnAiBsn7x5rx5L86nDR13BowXmBzkPdKa7OGO+R7jqD85hbQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":473691},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=18"},"exports":{".":"./dist/index.js","./SAML":{"type":"./dist/strategies/SAML/index.d.ts","default":"./dist/strategies/SAML/index.js"},"./passport-otp":{"type":"./dist/strategies/passport/passport-otp/index.d.ts","default":"./dist/strategies/passport/passport-otp/index.js"},"./passport-auth0":{"type":"./dist/strategies/passport/passport-auth0/index.d.ts","default":"./dist/strategies/passport/passport-auth0/index.js"},"./passport-local":{"type":"./dist/strategies/passport/passport-local/index.d.ts","default":"./dist/strategies/passport/passport-local/index.js"},"./passport-azure-ad":{"type":"./dist/strategies/passport/passport-azure-ad/index.d.ts","default":"./dist/strategies/passport/passport-azure-ad/index.js"},"./passport-keycloak":{"type":"./dist/strategies/passport/passport-keycloak/index.d.ts","default":"./dist/strategies/passport/passport-keycloak/index.js"},"./passport-apple-oauth2":{"type":"./dist/strategies/passport/passport-apple-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-apple-oauth2/index.js"},"./passport-insta-oauth2":{"type":"./dist/strategies/passport/passport-insta-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-insta-oauth2/index.js"},"./passport-google-oauth2":{"type":"./dist/strategies/passport/passport-google-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-google-oauth2/index.js"},"./passport-cognito-oauth2":{"type":"./dist/strategies/passport/passport-cognito-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-cognito-oauth2/index.js"},"./passport-facebook-oauth2":{"type":"./dist/strategies/passport/passport-facebook-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-facebook-oauth2/index.js"},"./passport-resource-owner-password":{"type":"./dist/strategies/passport/passport-resource-owner-password/index.d.ts","default":"./dist/strategies/passport/passport-resource-owner-password/index.js"}},"gitHead":"6b1585144a15bb3dd27a8774e2c4b25b8d5375a4","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},"overrides":{"aws-sdk":"2.1360.0","express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"body-parser":{"debug":"^4.3.4"},"@loopback/rest":{"@openapi-contrib/openapi-schema-to-json-schema":"4.0.5"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"},"@openapi-contrib/openapi-schema-to-json-schema":"3.2.0"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"9.9.3","description":"A loopback-next extension for authentication feature. Various Oauth strategies supported.","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ajv":"^8.11.0","tslib":"^2.6.2","passport":"^0.7.0","jsonwebtoken":"^9.0.0","@loopback/core":"^6.0.2","@loopback/context":"^7.0.2","https-proxy-agent":"^5.0.0","passport-http-bearer":"^1.0.1","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"SAML":["./dist/strategies/SAML/index.d.ts"],"passport-otp":["./dist/strategies/passport/passport-otp/index.d.ts"],"passport-auth0":["./dist/strategies/passport/passport-auth0/index.d.ts"],"passport-local":["./dist/strategies/passport/passport-local/index.d.ts"],"passport-azure-ad":["./dist/strategies/passport/passport-azure-ad/index.d.ts"],"passport-keycloak":["./dist/strategies/passport/passport-keycloak/index.d.ts"],"passport-apple-oauth2":["./dist/strategies/passport/passport-apple-oauth2/index.d.ts"],"passport-insta-oauth2":["./dist/strategies/passport/passport-insta-oauth2/index.d.ts"],"passport-google-oauth2":["./dist/strategies/passport/passport-google-oauth2/index.d.ts"],"passport-cognito-oauth2":["./dist/strategies/passport/passport-cognito-oauth2/index.d.ts"],"passport-facebook-oauth2":["./dist/strategies/passport/passport-facebook-oauth2/index.d.ts"],"passport-resource-owner-password":["./dist/strategies/passport/passport-resource-owner-password/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.57.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^11.2.0","commitizen":"^4.2.4","simple-git":"^3.15.1","typescript":"~5.2.2","@types/node":"^18.11.9","@types/lodash":"^4.14.181","@loopback/boot":"^7.0.2","@types/express":"^4.17.13","passport-apple":"file:vendor/passport-apple","passport-auth0":"^1.4.4","passport-local":"^1.0.0","@commitlint/cli":"^17.7.1","@loopback/build":"^11.0.2","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","passport-oauth2":"^1.6.1","semantic-release":"^19.0.3","@loopback/testlab":"^7.0.2","git-release-notes":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","@loopback/metadata":"^7.0.2","passport-instagram":"^1.0.0","source-map-support":"^0.5.21","@types/jsonwebtoken":"^9.0.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-auth0":"^1.0.9","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@node-saml/passport-saml":"^4.0.4","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@exlinc/keycloak-passport":"^1.0.2","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^17.7.0","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^7.0.2","@loopback/rest":"^14.0.2"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_12.1.0_1727678813721_0.11636645283073932","host":"s3://npm-registry-packages"}},"12.1.1":{"name":"loopback4-authentication","version":"12.1.1","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@12.1.1","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"997125031a3cdf0c285d84622d75f29c01529c01","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-12.1.1.tgz","fileCount":321,"integrity":"sha512-30GQ6TEeoN4nSJYGAMuYd4XEEfOPug77J3Q+yRKCBZyDghRq2Hu4sU78bXjNe39sG7Jf1kzLKL+xF9kYJsarYQ==","signatures":[{"sig":"MEYCIQD8iRBk1bh3N2n6Oailc+pRkhJ2DM/YnUDgHkjUYg2ylAIhAMdYMlFOUPV1W/Vvvn0UWsBKtDlWr0GSP9h6pDEoopUM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":473691},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=18"},"exports":{".":"./dist/index.js","./SAML":{"type":"./dist/strategies/SAML/index.d.ts","default":"./dist/strategies/SAML/index.js"},"./passport-otp":{"type":"./dist/strategies/passport/passport-otp/index.d.ts","default":"./dist/strategies/passport/passport-otp/index.js"},"./passport-auth0":{"type":"./dist/strategies/passport/passport-auth0/index.d.ts","default":"./dist/strategies/passport/passport-auth0/index.js"},"./passport-local":{"type":"./dist/strategies/passport/passport-local/index.d.ts","default":"./dist/strategies/passport/passport-local/index.js"},"./passport-azure-ad":{"type":"./dist/strategies/passport/passport-azure-ad/index.d.ts","default":"./dist/strategies/passport/passport-azure-ad/index.js"},"./passport-keycloak":{"type":"./dist/strategies/passport/passport-keycloak/index.d.ts","default":"./dist/strategies/passport/passport-keycloak/index.js"},"./passport-apple-oauth2":{"type":"./dist/strategies/passport/passport-apple-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-apple-oauth2/index.js"},"./passport-insta-oauth2":{"type":"./dist/strategies/passport/passport-insta-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-insta-oauth2/index.js"},"./passport-google-oauth2":{"type":"./dist/strategies/passport/passport-google-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-google-oauth2/index.js"},"./passport-cognito-oauth2":{"type":"./dist/strategies/passport/passport-cognito-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-cognito-oauth2/index.js"},"./passport-facebook-oauth2":{"type":"./dist/strategies/passport/passport-facebook-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-facebook-oauth2/index.js"},"./passport-resource-owner-password":{"type":"./dist/strategies/passport/passport-resource-owner-password/index.d.ts","default":"./dist/strategies/passport/passport-resource-owner-password/index.js"}},"gitHead":"9cd67b0c8c2604d37f7886b42c37d99eed861e44","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},"overrides":{"aws-sdk":"2.1360.0","express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"body-parser":{"debug":"^4.3.4"},"@loopback/rest":{"@openapi-contrib/openapi-schema-to-json-schema":"4.0.5"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"},"@openapi-contrib/openapi-schema-to-json-schema":"3.2.0"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"9.9.4","description":"A loopback-next extension for authentication feature. Various Oauth strategies supported.","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ajv":"^8.11.0","tslib":"^2.6.2","passport":"^0.7.0","jsonwebtoken":"^9.0.0","@loopback/core":"^6.1.6","@loopback/context":"^7.0.9","https-proxy-agent":"^5.0.0","passport-http-bearer":"^1.0.1","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"SAML":["./dist/strategies/SAML/index.d.ts"],"passport-otp":["./dist/strategies/passport/passport-otp/index.d.ts"],"passport-auth0":["./dist/strategies/passport/passport-auth0/index.d.ts"],"passport-local":["./dist/strategies/passport/passport-local/index.d.ts"],"passport-azure-ad":["./dist/strategies/passport/passport-azure-ad/index.d.ts"],"passport-keycloak":["./dist/strategies/passport/passport-keycloak/index.d.ts"],"passport-apple-oauth2":["./dist/strategies/passport/passport-apple-oauth2/index.d.ts"],"passport-insta-oauth2":["./dist/strategies/passport/passport-insta-oauth2/index.d.ts"],"passport-google-oauth2":["./dist/strategies/passport/passport-google-oauth2/index.d.ts"],"passport-cognito-oauth2":["./dist/strategies/passport/passport-cognito-oauth2/index.d.ts"],"passport-facebook-oauth2":["./dist/strategies/passport/passport-facebook-oauth2/index.d.ts"],"passport-resource-owner-password":["./dist/strategies/passport/passport-resource-owner-password/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.57.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^11.2.0","commitizen":"^4.2.4","simple-git":"^3.15.1","typescript":"~5.2.2","@types/node":"^18.11.9","@types/lodash":"^4.14.181","@loopback/boot":"^7.0.9","@types/express":"^4.17.13","passport-apple":"file:vendor/passport-apple","passport-auth0":"^1.4.4","passport-local":"^1.0.0","@commitlint/cli":"^17.7.1","@loopback/build":"^11.0.8","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","passport-oauth2":"^1.6.1","semantic-release":"^19.0.3","@loopback/testlab":"^7.0.8","git-release-notes":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","@loopback/metadata":"^7.0.9","passport-instagram":"^1.0.0","source-map-support":"^0.5.21","@types/jsonwebtoken":"^9.0.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-auth0":"^1.0.9","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@node-saml/passport-saml":"^4.0.4","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@exlinc/keycloak-passport":"^1.0.2","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^17.7.0","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^7.0.9","@loopback/rest":"^14.0.9"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_12.1.1_1734443410355_0.681815717003061","host":"s3://npm-registry-packages-npm-production"}},"12.2.0":{"name":"loopback4-authentication","version":"12.2.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@12.2.0","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"4d82871520557a0d96000391f414820bd03959b7","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-12.2.0.tgz","fileCount":321,"integrity":"sha512-LfVqSDE+g25Nl5j8kSahKzzmXsO2sBesyC7pnPIvcrNyyV5CUpUSdPmaSooz+N8quNDKLn0b72XZyB9+sKQ5xQ==","signatures":[{"sig":"MEYCIQD4BITyTvGUx3aM9ETclRCmityKFju6ka2pu0R9tQFc7QIhAKcsiDYsCHsWomt/zCmyXP675LBsP9FjcB6S8TuHhyym","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":474937},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=18"},"exports":{".":"./dist/index.js","./SAML":{"type":"./dist/strategies/SAML/index.d.ts","default":"./dist/strategies/SAML/index.js"},"./passport-otp":{"type":"./dist/strategies/passport/passport-otp/index.d.ts","default":"./dist/strategies/passport/passport-otp/index.js"},"./passport-auth0":{"type":"./dist/strategies/passport/passport-auth0/index.d.ts","default":"./dist/strategies/passport/passport-auth0/index.js"},"./passport-local":{"type":"./dist/strategies/passport/passport-local/index.d.ts","default":"./dist/strategies/passport/passport-local/index.js"},"./passport-azure-ad":{"type":"./dist/strategies/passport/passport-azure-ad/index.d.ts","default":"./dist/strategies/passport/passport-azure-ad/index.js"},"./passport-keycloak":{"type":"./dist/strategies/passport/passport-keycloak/index.d.ts","default":"./dist/strategies/passport/passport-keycloak/index.js"},"./passport-apple-oauth2":{"type":"./dist/strategies/passport/passport-apple-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-apple-oauth2/index.js"},"./passport-insta-oauth2":{"type":"./dist/strategies/passport/passport-insta-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-insta-oauth2/index.js"},"./passport-google-oauth2":{"type":"./dist/strategies/passport/passport-google-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-google-oauth2/index.js"},"./passport-cognito-oauth2":{"type":"./dist/strategies/passport/passport-cognito-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-cognito-oauth2/index.js"},"./passport-facebook-oauth2":{"type":"./dist/strategies/passport/passport-facebook-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-facebook-oauth2/index.js"},"./passport-resource-owner-password":{"type":"./dist/strategies/passport/passport-resource-owner-password/index.d.ts","default":"./dist/strategies/passport/passport-resource-owner-password/index.js"}},"gitHead":"956e6d7c982a29ac902a127e2bcf9407984152b7","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},"overrides":{"aws-sdk":"2.1360.0","express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"body-parser":{"debug":"^4.3.4"},"@loopback/rest":{"@openapi-contrib/openapi-schema-to-json-schema":"4.0.5"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"},"@openapi-contrib/openapi-schema-to-json-schema":"3.2.0"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"9.9.4","description":"A loopback-next extension for authentication feature. Various Oauth strategies supported.","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ajv":"^8.11.0","tslib":"^2.6.2","passport":"^0.7.0","jsonwebtoken":"^9.0.0","@loopback/core":"^6.1.6","@loopback/context":"^7.0.9","https-proxy-agent":"^5.0.0","passport-http-bearer":"^1.0.1","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"SAML":["./dist/strategies/SAML/index.d.ts"],"passport-otp":["./dist/strategies/passport/passport-otp/index.d.ts"],"passport-auth0":["./dist/strategies/passport/passport-auth0/index.d.ts"],"passport-local":["./dist/strategies/passport/passport-local/index.d.ts"],"passport-azure-ad":["./dist/strategies/passport/passport-azure-ad/index.d.ts"],"passport-keycloak":["./dist/strategies/passport/passport-keycloak/index.d.ts"],"passport-apple-oauth2":["./dist/strategies/passport/passport-apple-oauth2/index.d.ts"],"passport-insta-oauth2":["./dist/strategies/passport/passport-insta-oauth2/index.d.ts"],"passport-google-oauth2":["./dist/strategies/passport/passport-google-oauth2/index.d.ts"],"passport-cognito-oauth2":["./dist/strategies/passport/passport-cognito-oauth2/index.d.ts"],"passport-facebook-oauth2":["./dist/strategies/passport/passport-facebook-oauth2/index.d.ts"],"passport-resource-owner-password":["./dist/strategies/passport/passport-resource-owner-password/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.57.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^11.2.0","commitizen":"^4.2.4","simple-git":"^3.15.1","typescript":"~5.2.2","@types/node":"^18.11.9","@types/lodash":"^4.14.181","@loopback/boot":"^7.0.9","@types/express":"^4.17.13","passport-apple":"file:vendor/passport-apple","passport-auth0":"^1.4.4","passport-local":"^1.0.0","@commitlint/cli":"^17.7.1","@loopback/build":"^11.0.8","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","passport-oauth2":"^1.6.1","semantic-release":"^19.0.3","@loopback/testlab":"^7.0.8","git-release-notes":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","@loopback/metadata":"^7.0.9","passport-instagram":"^1.0.0","source-map-support":"^0.5.21","@types/jsonwebtoken":"^9.0.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-auth0":"^1.0.9","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@node-saml/passport-saml":"^4.0.4","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@exlinc/keycloak-passport":"^1.0.2","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^17.7.0","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^7.0.9","@loopback/rest":"^14.0.9"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_12.2.0_1736406560959_0.07708253557484745","host":"s3://npm-registry-packages-npm-production"}},"13.0.0":{"name":"loopback4-authentication","version":"13.0.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@13.0.0","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"},{"name":"abir.ganguly","email":"abir.ganguly@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"8f6d356b8ba8e93c6854b55dfba3fef84fcd351f","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-13.0.0.tgz","fileCount":321,"integrity":"sha512-FG5zEtaCZRZIknuq+Hc/0q2NMJOrIcxubIUJtx3f6vKP/xB4cqcTk/GU/97bcML0FdiPRJ0kLcNJitE9EnMADw==","signatures":[{"sig":"MEUCIQCZIafTePLe+9xytIMzD/LzPfXFf3T0w9H9LRmfLrDc1AIgMJU6j5biiK4O3o4YVdV+jvptPw1m9iwggRu6TLbNUmw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":474937},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=20"},"exports":{".":"./dist/index.js","./SAML":{"type":"./dist/strategies/SAML/index.d.ts","default":"./dist/strategies/SAML/index.js"},"./passport-otp":{"type":"./dist/strategies/passport/passport-otp/index.d.ts","default":"./dist/strategies/passport/passport-otp/index.js"},"./passport-auth0":{"type":"./dist/strategies/passport/passport-auth0/index.d.ts","default":"./dist/strategies/passport/passport-auth0/index.js"},"./passport-local":{"type":"./dist/strategies/passport/passport-local/index.d.ts","default":"./dist/strategies/passport/passport-local/index.js"},"./passport-azure-ad":{"type":"./dist/strategies/passport/passport-azure-ad/index.d.ts","default":"./dist/strategies/passport/passport-azure-ad/index.js"},"./passport-keycloak":{"type":"./dist/strategies/passport/passport-keycloak/index.d.ts","default":"./dist/strategies/passport/passport-keycloak/index.js"},"./passport-apple-oauth2":{"type":"./dist/strategies/passport/passport-apple-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-apple-oauth2/index.js"},"./passport-insta-oauth2":{"type":"./dist/strategies/passport/passport-insta-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-insta-oauth2/index.js"},"./passport-google-oauth2":{"type":"./dist/strategies/passport/passport-google-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-google-oauth2/index.js"},"./passport-cognito-oauth2":{"type":"./dist/strategies/passport/passport-cognito-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-cognito-oauth2/index.js"},"./passport-facebook-oauth2":{"type":"./dist/strategies/passport/passport-facebook-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-facebook-oauth2/index.js"},"./passport-resource-owner-password":{"type":"./dist/strategies/passport/passport-resource-owner-password/index.d.ts","default":"./dist/strategies/passport/passport-resource-owner-password/index.js"}},"gitHead":"4142086605b27f1aed1fece5b9780de1ce54ce75","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},"overrides":{"aws-sdk":"2.1360.0","express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"body-parser":{"debug":"^4.3.4"},"@loopback/rest":{"@openapi-contrib/openapi-schema-to-json-schema":"4.0.5"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"},"@openapi-contrib/openapi-schema-to-json-schema":"3.2.0"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"9.9.4","description":"A loopback-next extension for authentication feature. Various Oauth strategies supported.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ajv":"^8.11.0","tslib":"^2.6.2","passport":"^0.7.0","jsonwebtoken":"^9.0.0","@loopback/core":"^7.0.3","@loopback/context":"^8.0.3","https-proxy-agent":"^5.0.0","passport-http-bearer":"^1.0.1","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"SAML":["./dist/strategies/SAML/index.d.ts"],"passport-otp":["./dist/strategies/passport/passport-otp/index.d.ts"],"passport-auth0":["./dist/strategies/passport/passport-auth0/index.d.ts"],"passport-local":["./dist/strategies/passport/passport-local/index.d.ts"],"passport-azure-ad":["./dist/strategies/passport/passport-azure-ad/index.d.ts"],"passport-keycloak":["./dist/strategies/passport/passport-keycloak/index.d.ts"],"passport-apple-oauth2":["./dist/strategies/passport/passport-apple-oauth2/index.d.ts"],"passport-insta-oauth2":["./dist/strategies/passport/passport-insta-oauth2/index.d.ts"],"passport-google-oauth2":["./dist/strategies/passport/passport-google-oauth2/index.d.ts"],"passport-cognito-oauth2":["./dist/strategies/passport/passport-cognito-oauth2/index.d.ts"],"passport-facebook-oauth2":["./dist/strategies/passport/passport-facebook-oauth2/index.d.ts"],"passport-resource-owner-password":["./dist/strategies/passport/passport-resource-owner-password/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.57.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^11.2.0","commitizen":"^4.2.4","simple-git":"^3.15.1","typescript":"~5.2.2","@types/node":"^18.11.9","@types/lodash":"^4.14.181","@loopback/boot":"^8.0.4","@types/express":"^4.17.13","passport-apple":"file:vendor/passport-apple","passport-auth0":"^1.4.4","passport-local":"^1.0.0","@commitlint/cli":"^17.7.1","@loopback/build":"^12.0.3","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","passport-oauth2":"^1.6.1","semantic-release":"^19.0.3","@loopback/testlab":"^8.0.3","git-release-notes":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","@loopback/metadata":"^8.0.3","passport-instagram":"^1.0.0","source-map-support":"^0.5.21","@types/jsonwebtoken":"^9.0.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","@types/passport-apple":"^1.1.1","@types/passport-auth0":"^1.0.9","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@node-saml/passport-saml":"^4.0.4","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@exlinc/keycloak-passport":"^1.0.2","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^17.7.0","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^8.0.4","@loopback/rest":"^15.0.4"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_13.0.0_1757312387266_0.057756971392712186","host":"s3://npm-registry-packages-npm-production"}},"13.0.3":{"name":"loopback4-authentication","version":"13.0.3","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@13.0.3","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"},{"name":"abir.ganguly","email":"abir.ganguly@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"378fd884d842c18c02ee909b41525dbb3680a512","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-13.0.3.tgz","fileCount":321,"integrity":"sha512-gnEJJsRrKlZ3NUJvqrdRETE5OuKxFkLJmt95R69pPXkR/9ZSwb8YR9Mxv+NfzStdEGShmTmGWIR8ppEPlNndsA==","signatures":[{"sig":"MEUCIQDn5OpEZVFBXJ6gVdFTHm++aOAc37/+Jxmzao/c/X9LxAIgUHHxMXKJ6BKgQkjs/yj0xSQlqMdX2Pnklw9vlzJ5+1U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/loopback4-authentication@13.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":475066},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=20"},"exports":{".":"./dist/index.js","./SAML":{"type":"./dist/strategies/SAML/index.d.ts","default":"./dist/strategies/SAML/index.js"},"./passport-otp":{"type":"./dist/strategies/passport/passport-otp/index.d.ts","default":"./dist/strategies/passport/passport-otp/index.js"},"./passport-auth0":{"type":"./dist/strategies/passport/passport-auth0/index.d.ts","default":"./dist/strategies/passport/passport-auth0/index.js"},"./passport-local":{"type":"./dist/strategies/passport/passport-local/index.d.ts","default":"./dist/strategies/passport/passport-local/index.js"},"./passport-azure-ad":{"type":"./dist/strategies/passport/passport-azure-ad/index.d.ts","default":"./dist/strategies/passport/passport-azure-ad/index.js"},"./passport-keycloak":{"type":"./dist/strategies/passport/passport-keycloak/index.d.ts","default":"./dist/strategies/passport/passport-keycloak/index.js"},"./passport-apple-oauth2":{"type":"./dist/strategies/passport/passport-apple-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-apple-oauth2/index.js"},"./passport-insta-oauth2":{"type":"./dist/strategies/passport/passport-insta-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-insta-oauth2/index.js"},"./passport-google-oauth2":{"type":"./dist/strategies/passport/passport-google-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-google-oauth2/index.js"},"./passport-cognito-oauth2":{"type":"./dist/strategies/passport/passport-cognito-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-cognito-oauth2/index.js"},"./passport-facebook-oauth2":{"type":"./dist/strategies/passport/passport-facebook-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-facebook-oauth2/index.js"},"./passport-resource-owner-password":{"type":"./dist/strategies/passport/passport-resource-owner-password/index.d.ts","default":"./dist/strategies/passport/passport-resource-owner-password/index.js"}},"gitHead":"0002875b2428fe92ef76696c97e0ac8f02b79641","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator",["@semantic-release/npm",{"pkgRoot":".","npmPublish":true,"tarballDir":"dist"}],["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"https://github.com/sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:264e27ae-2b07-4019-b1df-a418d61fb49b"}},"overrides":{"aws-sdk":"2.1360.0","express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"body-parser":{"debug":"^4.3.4"},"@loopback/rest":{"@openapi-contrib/openapi-schema-to-json-schema":"4.0.5"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@openapi-contrib/openapi-schema-to-json-schema":"3.2.0"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"11.6.2","description":"A loopback-next extension for authentication feature. Various Oauth strategies supported by this package","directories":{},"_nodeVersion":"22.20.0","dependencies":{"ajv":"^8.11.0","tslib":"^2.6.2","passport":"^0.7.0","jsonwebtoken":"^9.0.0","@loopback/core":"^7.0.3","@loopback/context":"^8.0.3","https-proxy-agent":"^5.0.0","passport-http-bearer":"^1.0.1","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"SAML":["./dist/strategies/SAML/index.d.ts"],"passport-otp":["./dist/strategies/passport/passport-otp/index.d.ts"],"passport-auth0":["./dist/strategies/passport/passport-auth0/index.d.ts"],"passport-local":["./dist/strategies/passport/passport-local/index.d.ts"],"passport-azure-ad":["./dist/strategies/passport/passport-azure-ad/index.d.ts"],"passport-keycloak":["./dist/strategies/passport/passport-keycloak/index.d.ts"],"passport-apple-oauth2":["./dist/strategies/passport/passport-apple-oauth2/index.d.ts"],"passport-insta-oauth2":["./dist/strategies/passport/passport-insta-oauth2/index.d.ts"],"passport-google-oauth2":["./dist/strategies/passport/passport-google-oauth2/index.d.ts"],"passport-cognito-oauth2":["./dist/strategies/passport/passport-cognito-oauth2/index.d.ts"],"passport-facebook-oauth2":["./dist/strategies/passport/passport-facebook-oauth2/index.d.ts"],"passport-resource-owner-password":["./dist/strategies/passport/passport-resource-owner-password/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.57.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^11.2.0","commitizen":"^4.2.4","simple-git":"^3.15.1","typescript":"~5.2.2","@types/node":"^18.11.9","@types/lodash":"^4.14.181","@loopback/boot":"^8.0.4","@types/express":"^4.17.13","passport-apple":"file:vendor/passport-apple","passport-auth0":"^1.4.4","passport-local":"^1.0.0","@commitlint/cli":"^17.7.1","@loopback/build":"^12.0.3","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","passport-oauth2":"^1.6.1","semantic-release":"^25.0.1","@loopback/testlab":"^8.0.3","git-release-notes":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","@loopback/metadata":"^8.0.3","passport-instagram":"^1.0.0","source-map-support":"^0.5.21","@types/jsonwebtoken":"^9.0.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.1","@types/passport-apple":"^1.1.1","@types/passport-auth0":"^1.0.9","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@node-saml/passport-saml":"^4.0.4","@semantic-release/github":"^12.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@exlinc/keycloak-passport":"^1.0.2","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^17.7.0","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^8.0.4","@loopback/rest":"^15.0.4"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_13.0.3_1761298779513_0.1110347967489993","host":"s3://npm-registry-packages-npm-production"}},"13.0.4":{"name":"loopback4-authentication","version":"13.0.4","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@13.0.4","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"abir.ganguly","email":"abir.ganguly@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"d01d927d9504a8fa0fc77be642db884ab109ec64","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-13.0.4.tgz","fileCount":321,"integrity":"sha512-9BOv36jGVrhRR7Lhj78SLEzpBTLGxVbJacrVYdJx+vEnb6fQsq5KdezZ7mUgU1KgO1gcofFRqJXRjF5wi6XPuQ==","signatures":[{"sig":"MEUCIQDQRGhDMWJjKII1uHVm/3x7hSjjSN5XWVR1PhUBbejeeQIgexIJRo5ad6ciDsJqtirAIrivJCg/mNSixAlthlInL8Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/loopback4-authentication@13.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":475067},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=20"},"exports":{".":"./dist/index.js","./SAML":{"type":"./dist/strategies/SAML/index.d.ts","default":"./dist/strategies/SAML/index.js"},"./passport-otp":{"type":"./dist/strategies/passport/passport-otp/index.d.ts","default":"./dist/strategies/passport/passport-otp/index.js"},"./passport-auth0":{"type":"./dist/strategies/passport/passport-auth0/index.d.ts","default":"./dist/strategies/passport/passport-auth0/index.js"},"./passport-local":{"type":"./dist/strategies/passport/passport-local/index.d.ts","default":"./dist/strategies/passport/passport-local/index.js"},"./passport-azure-ad":{"type":"./dist/strategies/passport/passport-azure-ad/index.d.ts","default":"./dist/strategies/passport/passport-azure-ad/index.js"},"./passport-keycloak":{"type":"./dist/strategies/passport/passport-keycloak/index.d.ts","default":"./dist/strategies/passport/passport-keycloak/index.js"},"./passport-apple-oauth2":{"type":"./dist/strategies/passport/passport-apple-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-apple-oauth2/index.js"},"./passport-insta-oauth2":{"type":"./dist/strategies/passport/passport-insta-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-insta-oauth2/index.js"},"./passport-google-oauth2":{"type":"./dist/strategies/passport/passport-google-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-google-oauth2/index.js"},"./passport-cognito-oauth2":{"type":"./dist/strategies/passport/passport-cognito-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-cognito-oauth2/index.js"},"./passport-facebook-oauth2":{"type":"./dist/strategies/passport/passport-facebook-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-facebook-oauth2/index.js"},"./passport-resource-owner-password":{"type":"./dist/strategies/passport/passport-resource-owner-password/index.d.ts","default":"./dist/strategies/passport/passport-resource-owner-password/index.js"}},"gitHead":"e85a0bf9780dab31fbc56b104e27fc3889b1b36a","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator",["@semantic-release/npm",{"pkgRoot":".","npmPublish":true,"tarballDir":"dist"}],["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"https://github.com/sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:264e27ae-2b07-4019-b1df-a418d61fb49b"}},"overrides":{"aws-sdk":"2.1360.0","express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"body-parser":{"debug":"^4.3.4"},"@loopback/rest":{"@openapi-contrib/openapi-schema-to-json-schema":"4.0.5"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@openapi-contrib/openapi-schema-to-json-schema":"3.2.0"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"11.6.2","description":"A loopback-next extension for authentication feature. Various Oauth strategies supported by this package.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"ajv":"^8.11.0","tslib":"^2.6.2","passport":"^0.7.0","jsonwebtoken":"^9.0.0","@loopback/core":"^7.0.3","@loopback/context":"^8.0.3","https-proxy-agent":"^5.0.0","passport-http-bearer":"^1.0.1","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"SAML":["./dist/strategies/SAML/index.d.ts"],"passport-otp":["./dist/strategies/passport/passport-otp/index.d.ts"],"passport-auth0":["./dist/strategies/passport/passport-auth0/index.d.ts"],"passport-local":["./dist/strategies/passport/passport-local/index.d.ts"],"passport-azure-ad":["./dist/strategies/passport/passport-azure-ad/index.d.ts"],"passport-keycloak":["./dist/strategies/passport/passport-keycloak/index.d.ts"],"passport-apple-oauth2":["./dist/strategies/passport/passport-apple-oauth2/index.d.ts"],"passport-insta-oauth2":["./dist/strategies/passport/passport-insta-oauth2/index.d.ts"],"passport-google-oauth2":["./dist/strategies/passport/passport-google-oauth2/index.d.ts"],"passport-cognito-oauth2":["./dist/strategies/passport/passport-cognito-oauth2/index.d.ts"],"passport-facebook-oauth2":["./dist/strategies/passport/passport-facebook-oauth2/index.d.ts"],"passport-resource-owner-password":["./dist/strategies/passport/passport-resource-owner-password/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.57.0","lodash":"^4.17.21","tslint":"^6.1.3","ts-node":"^10.7.0","fs-extra":"^11.2.0","commitizen":"^4.2.4","simple-git":"^3.15.1","typescript":"~5.2.2","@types/node":"^18.11.9","@types/lodash":"^4.14.181","@loopback/boot":"^8.0.4","@types/express":"^4.17.13","passport-apple":"file:vendor/passport-apple","passport-auth0":"^1.4.4","passport-local":"^1.0.0","@commitlint/cli":"^17.7.1","@loopback/build":"^12.0.3","@types/passport":"^1.0.7","cz-customizable":"^6.3.0","passport-oauth2":"^1.6.1","semantic-release":"^25.0.1","@loopback/testlab":"^8.0.3","git-release-notes":"^5.0.0","passport-azure-ad":"^4.3.4","passport-facebook":"^3.0.0","@loopback/metadata":"^8.0.3","passport-instagram":"^1.0.0","source-map-support":"^0.5.21","@types/jsonwebtoken":"^9.0.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.1","@types/passport-apple":"^1.1.1","@types/passport-auth0":"^1.0.9","@types/passport-local":"^1.0.34","cz-customizable-ghooks":"^2.0.0","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@node-saml/passport-saml":"^4.0.4","@semantic-release/github":"^12.0.0","@types/passport-azure-ad":"^4.3.1","@types/passport-facebook":"^2.1.11","@exlinc/keycloak-passport":"^1.0.2","@types/passport-instagram":"^1.0.2","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","@types/passport-http-bearer":"^1.0.37","@types/passport-google-oauth20":"^2.0.11","@commitlint/config-conventional":"^17.7.0","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^9.0.2","@types/passport-oauth2-client-password":"^0.1.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"@loopback/boot":"^8.0.4","@loopback/rest":"^15.0.4"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_13.0.4_1761922840226_0.9957804038473907","host":"s3://npm-registry-packages-npm-production"}},"13.1.0":{"name":"loopback4-authentication","version":"13.1.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@13.1.0","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"abir.ganguly","email":"abir.ganguly@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"9b0c8148c95819e2a31eabfb6afbb98745094323","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-13.1.0.tgz","fileCount":321,"integrity":"sha512-4//w3A7M8gDl6IYMXaAO4uMKHuY02uuRBAIrtFaYjiUxhe1jYZlTf8N89TGTrCiCF4u4Sx0EQwPz/JCl+eBJUw==","signatures":[{"sig":"MEYCIQCUjItcCcMFU/lql1wb+PX+967LbvzM3OUKDIbpWRlplQIhALNilonziCOuYGkRYzpkPL7JRWcJLALhWO3nDdi0V+PJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/loopback4-authentication@13.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":471403},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=20"},"exports":{".":"./dist/index.js","./SAML":{"type":"./dist/strategies/SAML/index.d.ts","default":"./dist/strategies/SAML/index.js"},"./passport-otp":{"type":"./dist/strategies/passport/passport-otp/index.d.ts","default":"./dist/strategies/passport/passport-otp/index.js"},"./passport-auth0":{"type":"./dist/strategies/passport/passport-auth0/index.d.ts","default":"./dist/strategies/passport/passport-auth0/index.js"},"./passport-local":{"type":"./dist/strategies/passport/passport-local/index.d.ts","default":"./dist/strategies/passport/passport-local/index.js"},"./passport-azure-ad":{"type":"./dist/strategies/passport/passport-azure-ad/index.d.ts","default":"./dist/strategies/passport/passport-azure-ad/index.js"},"./passport-keycloak":{"type":"./dist/strategies/passport/passport-keycloak/index.d.ts","default":"./dist/strategies/passport/passport-keycloak/index.js"},"./passport-apple-oauth2":{"type":"./dist/strategies/passport/passport-apple-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-apple-oauth2/index.js"},"./passport-insta-oauth2":{"type":"./dist/strategies/passport/passport-insta-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-insta-oauth2/index.js"},"./passport-google-oauth2":{"type":"./dist/strategies/passport/passport-google-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-google-oauth2/index.js"},"./passport-cognito-oauth2":{"type":"./dist/strategies/passport/passport-cognito-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-cognito-oauth2/index.js"},"./passport-facebook-oauth2":{"type":"./dist/strategies/passport/passport-facebook-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-facebook-oauth2/index.js"},"./passport-resource-owner-password":{"type":"./dist/strategies/passport/passport-resource-owner-password/index.d.ts","default":"./dist/strategies/passport/passport-resource-owner-password/index.js"}},"gitHead":"9a7f7a425a071af0f5a06e93705daef5a923877a","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator",["@semantic-release/npm",{"pkgRoot":".","npmPublish":true,"tarballDir":"dist"}],["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"https://github.com/sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:264e27ae-2b07-4019-b1df-a418d61fb49b"}},"overrides":{"axios":"1.15.0","undici":"6.24.0","aws-sdk":"2.1360.0","express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"validator":"13.15.22","body-parser":{"debug":"^4.3.4"},"@loopback/rest":{"@openapi-contrib/openapi-schema-to-json-schema":"4.0.5"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@openapi-contrib/openapi-schema-to-json-schema":"3.2.0"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"11.12.1","description":"A loopback-next extension for authentication feature. Various Oauth strategies supported by this package","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ajv":"^8.18.0","tslib":"^2.8.1","passport":"^0.7.0","jsonwebtoken":"^9.0.3","@loopback/core":"^7.0.11","@loopback/context":"^8.0.11","https-proxy-agent":"^5.0.1","passport-http-bearer":"^1.0.1","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"SAML":["./dist/strategies/SAML/index.d.ts"],"passport-otp":["./dist/strategies/passport/passport-otp/index.d.ts"],"passport-auth0":["./dist/strategies/passport/passport-auth0/index.d.ts"],"passport-local":["./dist/strategies/passport/passport-local/index.d.ts"],"passport-azure-ad":["./dist/strategies/passport/passport-azure-ad/index.d.ts"],"passport-keycloak":["./dist/strategies/passport/passport-keycloak/index.d.ts"],"passport-apple-oauth2":["./dist/strategies/passport/passport-apple-oauth2/index.d.ts"],"passport-insta-oauth2":["./dist/strategies/passport/passport-insta-oauth2/index.d.ts"],"passport-google-oauth2":["./dist/strategies/passport/passport-google-oauth2/index.d.ts"],"passport-cognito-oauth2":["./dist/strategies/passport/passport-cognito-oauth2/index.d.ts"],"passport-facebook-oauth2":["./dist/strategies/passport/passport-facebook-oauth2/index.d.ts"],"passport-resource-owner-password":["./dist/strategies/passport/passport-resource-owner-password/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","husky":"^7.0.4","jsdom":"^21.1.2","eslint":"^8.57.1","lodash":"^4.18.1","tslint":"^6.1.3","ts-node":"^10.9.2","fs-extra":"^11.3.4","commitizen":"^4.3.1","simple-git":"^3.36.0","typescript":"~5.2.2","@types/node":"^18.19.130","@types/lodash":"^4.17.24","@loopback/boot":"^8.0.12","@types/express":"^4.17.25","passport-apple":"file:vendor/passport-apple","passport-auth0":"^1.4.5","passport-local":"^1.0.0","@commitlint/cli":"^17.8.1","@loopback/build":"^12.0.11","@types/passport":"^1.0.17","cz-customizable":"^6.9.2","passport-oauth2":"^1.8.0","semantic-release":"^25.0.3","@loopback/testlab":"^8.0.11","git-release-notes":"^5.0.0","passport-azure-ad":"^4.3.5","passport-facebook":"^3.0.0","@loopback/metadata":"^8.0.11","passport-instagram":"^1.0.0","source-map-support":"^0.5.21","@types/jsonwebtoken":"^9.0.10","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@types/passport-apple":"^1.1.2","@types/passport-auth0":"^1.0.9","@types/passport-local":"^1.0.38","cz-customizable-ghooks":"^2.0.0","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@node-saml/passport-saml":"^4.0.4","@semantic-release/github":"^12.0.6","@types/passport-azure-ad":"^4.3.6","@types/passport-facebook":"^2.1.11","@exlinc/keycloak-passport":"^1.0.2","@types/passport-instagram":"^1.0.5","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@types/passport-http-bearer":"^1.0.42","@types/passport-google-oauth20":"^2.0.17","@commitlint/config-conventional":"^17.8.1","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^13.0.1","@types/passport-oauth2-client-password":"^0.1.6","@semantic-release/release-notes-generator":"^14.1.0"},"peerDependencies":{"@loopback/boot":"^8.0.4","@loopback/rest":"^15.0.11"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_13.1.0_1776761467421_0.45829067564889314","host":"s3://npm-registry-packages-npm-production"}},"14.0.0":{"name":"loopback4-authentication","version":"14.0.0","keywords":["loopback-extension","loopback","loopback-next","authentication"],"author":{"name":"Sourcefuse"},"license":"MIT","_id":"loopback4-authentication@14.0.0","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"abir.ganguly","email":"abir.ganguly@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"dist":{"shasum":"6db407e4a3d9ee7ceb0609e2d244569eadc3526e","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-14.0.0.tgz","fileCount":321,"integrity":"sha512-U/YSdJDBnh9BikIvCGjhaRQa/XQF1Jmm+4G2E0SwifJ6dj6A6goSnusZCjk/Ec3Icd102ZIDFwRCnbS75lfVfg==","signatures":[{"sig":"MEYCIQDknO7sARLbsoguoir1FzF8JhfQkgpxJyQirrnlFPo2NgIhAPURP6eTfSBR2C2JWHB/hWVM3EbwzoVf13nG9dO+MEMy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/loopback4-authentication@14.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":471407},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":"22 || 24"},"exports":{".":"./dist/index.js","./SAML":{"type":"./dist/strategies/SAML/index.d.ts","default":"./dist/strategies/SAML/index.js"},"./passport-otp":{"type":"./dist/strategies/passport/passport-otp/index.d.ts","default":"./dist/strategies/passport/passport-otp/index.js"},"./passport-auth0":{"type":"./dist/strategies/passport/passport-auth0/index.d.ts","default":"./dist/strategies/passport/passport-auth0/index.js"},"./passport-local":{"type":"./dist/strategies/passport/passport-local/index.d.ts","default":"./dist/strategies/passport/passport-local/index.js"},"./passport-azure-ad":{"type":"./dist/strategies/passport/passport-azure-ad/index.d.ts","default":"./dist/strategies/passport/passport-azure-ad/index.js"},"./passport-keycloak":{"type":"./dist/strategies/passport/passport-keycloak/index.d.ts","default":"./dist/strategies/passport/passport-keycloak/index.js"},"./passport-apple-oauth2":{"type":"./dist/strategies/passport/passport-apple-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-apple-oauth2/index.js"},"./passport-insta-oauth2":{"type":"./dist/strategies/passport/passport-insta-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-insta-oauth2/index.js"},"./passport-google-oauth2":{"type":"./dist/strategies/passport/passport-google-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-google-oauth2/index.js"},"./passport-cognito-oauth2":{"type":"./dist/strategies/passport/passport-cognito-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-cognito-oauth2/index.js"},"./passport-facebook-oauth2":{"type":"./dist/strategies/passport/passport-facebook-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-facebook-oauth2/index.js"},"./passport-resource-owner-password":{"type":"./dist/strategies/passport/passport-resource-owner-password/index.d.ts","default":"./dist/strategies/passport/passport-resource-owner-password/index.js"}},"gitHead":"6f78722080ffd541a1b37305c92c8c057b4c1c85","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator",["@semantic-release/npm",{"pkgRoot":".","npmPublish":true,"tarballDir":"dist"}],["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"https://github.com/sourcefuse/loopback4-authentication.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run build","coverage":"lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:264e27ae-2b07-4019-b1df-a418d61fb49b"}},"overrides":{"axios":"1.15.0","undici":"6.24.0","aws-sdk":"2.1360.0","express":{"send":"^0.18.0","debug":"^4.3.4","finalhandler":"^1.2.0","serve-static":"^1.15.0"},"validator":"13.15.22","body-parser":{"debug":"^4.3.4"},"@loopback/rest":{"@openapi-contrib/openapi-schema-to-json-schema":"4.0.5"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@openapi-contrib/openapi-schema-to-json-schema":"3.2.0"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-authentication.git","type":"git"},"_npmVersion":"11.17.0","description":"A loopback-next extension for authentication feature. Various Oauth strategies supported by this package","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ajv":"^8.18.0","tslib":"^2.8.1","passport":"^0.7.0","jsonwebtoken":"^9.0.3","@loopback/core":"^7.0.11","@loopback/context":"^8.0.11","https-proxy-agent":"^5.0.1","passport-http-bearer":"^1.0.1","passport-oauth2-client-password":"^0.1.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"SAML":["./dist/strategies/SAML/index.d.ts"],"passport-otp":["./dist/strategies/passport/passport-otp/index.d.ts"],"passport-auth0":["./dist/strategies/passport/passport-auth0/index.d.ts"],"passport-local":["./dist/strategies/passport/passport-local/index.d.ts"],"passport-azure-ad":["./dist/strategies/passport/passport-azure-ad/index.d.ts"],"passport-keycloak":["./dist/strategies/passport/passport-keycloak/index.d.ts"],"passport-apple-oauth2":["./dist/strategies/passport/passport-apple-oauth2/index.d.ts"],"passport-insta-oauth2":["./dist/strategies/passport/passport-insta-oauth2/index.d.ts"],"passport-google-oauth2":["./dist/strategies/passport/passport-google-oauth2/index.d.ts"],"passport-cognito-oauth2":["./dist/strategies/passport/passport-cognito-oauth2/index.d.ts"],"passport-facebook-oauth2":["./dist/strategies/passport/passport-facebook-oauth2/index.d.ts"],"passport-resource-owner-password":["./dist/strategies/passport/passport-resource-owner-password/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","husky":"^7.0.4","jsdom":"^21.1.2","eslint":"^8.57.1","lodash":"^4.18.1","tslint":"^6.1.3","ts-node":"^10.9.2","fs-extra":"^11.3.4","commitizen":"^4.3.1","simple-git":"^3.36.0","typescript":"~5.2.2","@types/node":"^18.19.130","@types/lodash":"^4.17.24","@loopback/boot":"^8.0.12","@types/express":"^4.17.25","passport-apple":"file:vendor/passport-apple","passport-auth0":"^1.4.5","passport-local":"^1.0.0","@commitlint/cli":"^17.8.1","@loopback/build":"^12.0.11","@types/passport":"^1.0.17","cz-customizable":"^6.9.2","passport-oauth2":"^1.8.0","semantic-release":"^25.0.3","@loopback/testlab":"^8.0.11","git-release-notes":"^5.0.0","passport-azure-ad":"^4.3.5","passport-facebook":"^3.0.0","@loopback/metadata":"^8.0.11","passport-instagram":"^1.0.0","source-map-support":"^0.5.21","@types/jsonwebtoken":"^9.0.10","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@types/passport-apple":"^1.1.2","@types/passport-auth0":"^1.0.9","@types/passport-local":"^1.0.38","cz-customizable-ghooks":"^2.0.0","passport-cognito-oauth2":"^0.1.1","passport-google-oauth20":"^2.0.0","@node-saml/passport-saml":"^4.0.4","@semantic-release/github":"^12.0.6","@types/passport-azure-ad":"^4.3.6","@types/passport-facebook":"^2.1.11","@exlinc/keycloak-passport":"^1.0.2","@types/passport-instagram":"^1.0.5","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@types/passport-http-bearer":"^1.0.42","@types/passport-google-oauth20":"^2.0.17","@commitlint/config-conventional":"^17.8.1","@istanbuljs/nyc-config-typescript":"^1.0.2","@semantic-release/commit-analyzer":"^13.0.1","@types/passport-oauth2-client-password":"^0.1.6","@semantic-release/release-notes-generator":"^14.1.0"},"peerDependencies":{"@loopback/boot":"^8.0.4","@loopback/rest":"^15.0.11"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-authentication_14.0.0_1781607242565_0.500520623474564","host":"s3://npm-registry-packages-npm-production"}},"14.0.1":{"name":"loopback4-authentication","version":"14.0.1","description":"A loopback-next extension for authentication feature. Various Oauth strategies supported by this package","keywords":["loopback-extension","loopback","loopback-next","authentication"],"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./passport-apple-oauth2":{"type":"./dist/strategies/passport/passport-apple-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-apple-oauth2/index.js"},"./passport-azure-ad":{"type":"./dist/strategies/passport/passport-azure-ad/index.d.ts","default":"./dist/strategies/passport/passport-azure-ad/index.js"},"./passport-auth0":{"type":"./dist/strategies/passport/passport-auth0/index.d.ts","default":"./dist/strategies/passport/passport-auth0/index.js"},"./passport-cognito-oauth2":{"type":"./dist/strategies/passport/passport-cognito-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-cognito-oauth2/index.js"},"./passport-facebook-oauth2":{"type":"./dist/strategies/passport/passport-facebook-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-facebook-oauth2/index.js"},"./passport-google-oauth2":{"type":"./dist/strategies/passport/passport-google-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-google-oauth2/index.js"},"./passport-insta-oauth2":{"type":"./dist/strategies/passport/passport-insta-oauth2/index.d.ts","default":"./dist/strategies/passport/passport-insta-oauth2/index.js"},"./passport-keycloak":{"type":"./dist/strategies/passport/passport-keycloak/index.d.ts","default":"./dist/strategies/passport/passport-keycloak/index.js"},"./passport-local":{"type":"./dist/strategies/passport/passport-local/index.d.ts","default":"./dist/strategies/passport/passport-local/index.js"},"./passport-otp":{"type":"./dist/strategies/passport/passport-otp/index.d.ts","default":"./dist/strategies/passport/passport-otp/index.js"},"./passport-resource-owner-password":{"type":"./dist/strategies/passport/passport-resource-owner-password/index.d.ts","default":"./dist/strategies/passport/passport-resource-owner-password/index.js"},"./SAML":{"type":"./dist/strategies/SAML/index.d.ts","default":"./dist/strategies/SAML/index.js"}},"typesVersions":{"*":{"passport-apple-oauth2":["./dist/strategies/passport/passport-apple-oauth2/index.d.ts"],"passport-auth0":["./dist/strategies/passport/passport-auth0/index.d.ts"],"passport-azure-ad":["./dist/strategies/passport/passport-azure-ad/index.d.ts"],"passport-cognito-oauth2":["./dist/strategies/passport/passport-cognito-oauth2/index.d.ts"],"passport-facebook-oauth2":["./dist/strategies/passport/passport-facebook-oauth2/index.d.ts"],"passport-google-oauth2":["./dist/strategies/passport/passport-google-oauth2/index.d.ts"],"passport-insta-oauth2":["./dist/strategies/passport/passport-insta-oauth2/index.d.ts"],"passport-keycloak":["./dist/strategies/passport/passport-keycloak/index.d.ts"],"passport-local":["./dist/strategies/passport/passport-local/index.d.ts"],"passport-otp":["./dist/strategies/passport/passport-otp/index.d.ts"],"passport-resource-owner-password":["./dist/strategies/passport/passport-resource-owner-password/index.d.ts"],"SAML":["./dist/strategies/SAML/index.d.ts"]}},"engines":{"node":"22 || 24"},"scripts":{"build":"npm run clean && lb-tsc","build:watch":"lb-tsc --watch","clean":"lb-clean dist *.tsbuildinfo","lint":"npm run prettier:check && npm run eslint","lint:fix":"npm run eslint:fix && npm run prettier:fix","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:check":"npm run prettier:cli -- -l","prettier:fix":"npm run prettier:cli -- --write","eslint":"lb-eslint --report-unused-disable-directives .","eslint:fix":"npm run eslint -- --fix","pretest":"npm run build","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","coverage":"lb-nyc npm run test","coverage:ci":"lb-nyc report --reporter=text-lcov | coveralls","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","prepublishOnly":"npm run test","prepare":"husky install"},"repository":{"type":"git","url":"git+https://github.com/sourcefuse/loopback4-authentication.git"},"author":{"name":"Sourcefuse"},"license":"MIT","peerDependencies":{"@loopback/boot":"^8.0.4","@loopback/rest":"^15.0.11"},"dependencies":{"@loopback/context":"^8.0.11","@loopback/core":"^7.0.11","ajv":"^8.18.0","https-proxy-agent":"^5.0.1","jsonwebtoken":"^9.0.3","passport":"^0.7.0","passport-http-bearer":"^1.0.1","passport-oauth2-client-password":"^0.1.2","tslib":"^2.8.1"},"devDependencies":{"@commitlint/cli":"^17.8.1","@commitlint/config-conventional":"^17.8.1","@exlinc/keycloak-passport":"^1.0.2","@istanbuljs/nyc-config-typescript":"^1.0.2","@loopback/boot":"^8.0.12","@loopback/build":"^12.0.11","@loopback/metadata":"^8.0.11","@loopback/testlab":"^8.0.11","@node-saml/passport-saml":"^4.0.4","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.6","@semantic-release/npm":"^13.1.5","@semantic-release/release-notes-generator":"^14.1.0","@types/express":"^4.17.25","@types/jsonwebtoken":"^9.0.10","@types/lodash":"^4.17.24","@types/node":"^18.19.130","@types/passport":"^1.0.17","@types/passport-apple":"^1.1.2","@types/passport-auth0":"^1.0.9","@types/passport-azure-ad":"^4.3.6","@types/passport-facebook":"^2.1.11","@types/passport-google-oauth20":"^2.0.17","@types/passport-http-bearer":"^1.0.42","@types/passport-instagram":"^1.0.5","@types/passport-local":"^1.0.38","@types/passport-oauth2-client-password":"^0.1.6","commitizen":"^4.3.1","cz-conventional-changelog":"^3.3.0","cz-customizable":"^6.9.2","cz-customizable-ghooks":"^2.0.0","eslint":"^8.57.1","fs-extra":"^11.3.4","git-release-notes":"^5.0.0","husky":"^7.0.4","jsdom":"^21.1.2","lodash":"^4.18.1","nyc":"^17.1.0","passport-apple":"file:vendor/passport-apple","passport-auth0":"^1.4.5","passport-azure-ad":"^4.3.5","passport-cognito-oauth2":"^0.1.1","passport-facebook":"^3.0.0","passport-google-oauth20":"^2.0.0","passport-instagram":"^1.0.0","passport-local":"^1.0.0","passport-oauth2":"^1.8.0","semantic-release":"^25.0.3","simple-git":"^3.36.0","source-map-support":"^0.5.21","ts-node":"^10.9.2","tslint":"^6.1.3","typescript":"~5.2.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"overrides":{"@loopback/rest":{"@openapi-contrib/openapi-schema-to-json-schema":"4.0.5"},"aws-sdk":"2.1360.0","validator":"13.15.22","body-parser":{"debug":"^4.3.4"},"express":{"debug":"^4.3.4","finalhandler":"^1.2.0","send":"^0.18.0","serve-static":"^1.15.0"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@openapi-contrib/openapi-schema-to-json-schema":"3.2.0","undici":"6.28.0","axios":"1.15.0"},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator",["@semantic-release/npm",{"npmPublish":true,"pkgRoot":".","tarballDir":"dist"}],["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"repositoryUrl":"https://github.com/sourcefuse/loopback4-authentication.git"},"gitHead":"872d84b496d7bc1dcd1e2a50e2568b3b2c52c039","_id":"loopback4-authentication@14.0.1","bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","_nodeVersion":"22.23.1","_npmVersion":"11.19.0","dist":{"integrity":"sha512-hBMtsfjphSTXw15d2Uatpz7ZF9qCNXu1hnBaEwvLaJFI76PgeRObUzpybNEhry1JgBEUgpx9+NKbyou7EEaODg==","shasum":"ec7552b08594700b57c0674348cdaf56b5efc425","tarball":"https://registry.npmjs.org/loopback4-authentication/-/loopback4-authentication-14.0.1.tgz","fileCount":321,"unpackedSize":471382,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/loopback4-authentication@14.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCuIpcq2e8+KLfxWpSkN/bg+Qz4L852BDQJn4mz65UTWgIhAJruZgrmJ/xRUQk2JQPY0dXCkE7PwmqUw36z40i80jH7"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:264e27ae-2b07-4019-b1df-a418d61fb49b"}},"directories":{},"maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"abir.ganguly","email":"abir.ganguly@sourcefuse.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/loopback4-authentication_14.0.1_1786431400694_0.011496855783797999"},"_hasShrinkwrap":false}},"time":{"created":"2019-05-10T06:11:08.626Z","modified":"2026-08-11T06:56:41.151Z","1.0.0":"2019-05-10T06:11:08.797Z","1.0.2":"2019-05-10T06:25:33.265Z","1.0.3":"2019-05-15T20:42:53.358Z","1.0.4":"2019-05-16T12:01:33.925Z","1.0.5":"2019-05-22T14:19:17.856Z","1.0.6":"2019-06-02T08:17:03.453Z","1.1.0":"2019-06-13T14:45:09.661Z","1.1.1":"2019-06-13T14:49:38.851Z","2.0.1":"2019-06-21T19:48:18.207Z","2.1.0":"2019-07-07T16:11:05.749Z","2.1.1":"2019-07-07T16:38:14.986Z","2.1.3":"2019-07-23T14:47:02.403Z","2.1.4":"2020-03-03T19:16:43.170Z","3.0.0":"2020-05-27T17:13:46.928Z","3.0.1":"2020-05-27T17:16:28.980Z","4.0.0":"2020-07-15T03:35:19.166Z","4.0.1":"2020-07-15T04:09:27.048Z","4.1.0":"2020-12-15T14:30:44.873Z","4.2.0":"2021-03-05T14:23:49.650Z","4.3.0":"2021-03-31T15:27:23.850Z","4.4.0":"2021-05-04T13:34:28.753Z","4.5.0":"2021-05-07T20:56:08.054Z","4.5.1":"2021-06-19T18:16:45.535Z","4.5.2":"2021-06-20T12:31:02.519Z","4.6.0":"2021-07-07T15:23:15.282Z","5.0.0":"2021-11-15T15:12:48.945Z","5.0.1":"2021-11-15T15:33:26.029Z","5.0.2":"2021-11-15T20:38:03.468Z","6.0.0":"2021-12-23T18:01:26.205Z","6.0.1":"2022-03-02T07:31:03.267Z","6.0.2":"2022-03-04T04:28:15.604Z","6.0.3":"2022-04-18T14:41:41.740Z","6.1.0":"2022-04-25T08:40:57.186Z","6.1.1":"2022-05-09T10:09:48.005Z","6.1.2":"2022-05-25T10:15:02.267Z","6.1.3":"2022-06-03T09:40:35.577Z","6.1.4":"2022-06-15T13:47:55.830Z","6.1.5":"2022-07-08T13:44:45.931Z","7.0.0":"2022-07-28T09:33:33.853Z","7.0.1":"2022-09-09T06:35:34.377Z","7.1.0":"2022-10-14T06:55:36.033Z","7.1.1":"2022-10-31T06:58:04.832Z","7.2.0":"2022-11-22T07:19:59.253Z","7.2.1":"2022-12-05T09:49:27.737Z","7.3.0":"2023-01-11T12:29:35.876Z","7.3.1":"2023-01-11T14:51:54.223Z","7.4.0":"2023-01-30T13:12:44.201Z","7.4.1":"2023-01-31T05:58:37.955Z","7.5.0":"2023-02-17T14:26:23.784Z","7.5.1":"2023-03-10T12:01:23.926Z","8.0.0":"2023-03-27T10:14:01.412Z","7.6.0":"2023-04-04T07:44:47.065Z","7.6.1":"2023-04-24T14:57:49.233Z","8.0.1":"2023-06-07T07:24:17.137Z","9.0.0":"2023-06-07T07:41:48.544Z","9.0.1":"2023-07-14T14:19:49.558Z","9.0.2":"2023-08-24T05:50:54.785Z","10.0.0":"2023-10-05T11:06:21.075Z","11.0.0":"2023-12-07T09:32:39.190Z","11.0.1":"2024-01-17T16:54:09.320Z","11.0.2":"2024-02-01T12:54:32.098Z","11.0.3":"2024-03-11T13:59:11.635Z","12.0.0":"2024-03-13T04:40:40.078Z","12.0.1":"2024-05-14T11:12:01.216Z","12.0.2":"2024-06-05T07:20:35.947Z","12.1.0":"2024-09-30T06:46:53.910Z","12.1.1":"2024-12-17T13:50:10.513Z","12.2.0":"2025-01-09T07:09:21.140Z","13.0.0":"2025-09-08T06:19:47.459Z","13.0.3":"2025-10-24T09:39:39.709Z","13.0.4":"2025-10-31T15:00:40.440Z","13.1.0":"2026-04-21T08:51:07.578Z","14.0.0":"2026-06-16T10:54:02.689Z","14.0.1":"2026-08-11T06:56:40.825Z"},"bugs":{"url":"https://github.com/sourcefuse/loopback4-authentication/issues"},"author":{"name":"Sourcefuse"},"license":"MIT","homepage":"https://github.com/sourcefuse/loopback4-authentication#readme","keywords":["loopback-extension","loopback","loopback-next","authentication"],"repository":{"type":"git","url":"git+https://github.com/sourcefuse/loopback4-authentication.git"},"description":"A loopback-next extension for authentication feature. Various Oauth strategies supported by this package","maintainers":[{"name":"npm-sourcefuse","email":"npmjs@sourcefuse.com"},{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"akshatdubeysf","email":"akshat.dubey@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"abir.ganguly","email":"abir.ganguly@sourcefuse.com"}],"readme":"<a href=\"https://sourcefuse.github.io/arc-docs/arc-api-docs\" target=\"_blank\"><img src=\"https://github.com/sourcefuse/loopback4-microservice-catalog/blob/master/docs/assets/logo-dark-bg.png?raw=true\" alt=\"ARC By SourceFuse logo\" title=\"ARC By SourceFuse\" align=\"right\" width=\"150\" /></a>\n\n# [loopback4-authentication](https://github.com/sourcefuse/loopback4-authentication)\n\n<p align=\"left\">\n<a href=\"https://www.npmjs.com/package/loopback4-authentication\">\n<img src=\"https://img.shields.io/npm/v/loopback4-authentication.svg\" alt=\"npm version\" />\n</a>\n<a href=\"https://sonarcloud.io/summary/new_code?id=sourcefuse_loopback4-authentication\" target=\"_blank\">\n<img alt=\"Sonar Quality Gate\" src=\"https://img.shields.io/sonar/quality_gate/sourcefuse_loopback4-authentication?server=https%3A%2F%2Fsonarcloud.io\">\n</a>\n<a href=\"https://github.com/sourcefuse/loopback4-authentication/graphs/contributors\" target=\"_blank\">\n<img alt=\"GitHub contributors\" src=\"https://img.shields.io/github/contributors/sourcefuse/loopback4-authentication?\">\n</a>\n<a href=\"https://www.npmjs.com/package/loopback4-authentication\" target=\"_blank\">\n<img alt=\"downloads\" src=\"https://img.shields.io/npm/dw/loopback4-authentication.svg\">\n</a>\n<a href=\"https://github.com/sourcefuse/loopback4-authentication/blob/master/LICENSE\">\n<img src=\"https://img.shields.io/github/license/sourcefuse/loopback4-authentication.svg\" alt=\"License\" />\n</a>\n<a href=\"https://loopback.io/\" target=\"_blank\">\n<img alt=\"Powered By LoopBack 4\" src=\"https://img.shields.io/badge/Powered%20by-LoopBack 4-brightgreen\" />\n</a>\n</p>\n\n## Overview\n\nThis is a loopback-next extension for adding authentication layer to a REST application in loopback 4.\nThis extension is based on the implementation guidelines provided on official [@loopback/authentication](https://github.com/strongloop/loopback-next/blob/master/packages/authentication/README.md) page.\nIt provides support for seven passport based strategies.\n\n1. [passport-oauth2-client-password](https://github.com/jaredhanson/passport-oauth2-client-password) - OAuth 2.0 client password authentication strategy for Passport. This module lets you authenticate requests containing client credentials in the request body, as [defined](http://tools.ietf.org/html/draft-ietf-oauth-v2-27#section-2.3.1) by the OAuth 2.0 specification.\n2. [passport-http-bearer](https://github.com/jaredhanson/passport-http-bearer) - HTTP Bearer authentication strategy for Passport. This module lets you authenticate HTTP requests using bearer tokens, as specified by [RFC 6750](https://tools.ietf.org/html/rfc6750), in your Node.js applications.\n3. [passport-local](https://github.com/jaredhanson/passport-local) - Passport strategy for authenticating with a username and password. This module lets you authenticate using a username and password in your Node.js applications.\n4. [passport-oauth2-resource-owner-password](https://www.npmjs.com/package/passport-oauth2-resource-owner-password) - OAuth 2.0 resource owner password authentication strategy for Passport. This module lets you authenticate requests containing resource owner credentials in the request body, as [defined](http://tools.ietf.org/html/draft-ietf-oauth-v2-27#section-1.3.3) by the OAuth 2.0 specification.\n5. [passport-google-oauth2](https://github.com/jaredhanson/passport-google-oauth2) - Passport strategy for authenticating with Google using the Google OAuth 2.0 API. This module lets you authenticate using Google in your Node.js applications.\n6. [keycloak-passport](https://github.com/exlinc/keycloak-passport) - Passport strategy for authenticating with Keycloak. This library offers a production-ready and maintained Keycloak Passport connector.\n7. [passport-instagram](https://github.com/jaredhanson/passport-instagram) - Passport strategy for authenticating with Instagram using the Instagram OAuth 2.0 API. This module lets you authenticate using Instagram in your Node.js applications.\n8. [passport-apple](https://github.com/ananay/passport-apple) - Passport strategy for authenticating with Apple using the Apple OAuth 2.0 API. This module lets you authenticate using Apple in your Node.js applications.\n9. [passport-facebook](https://github.com/jaredhanson/passport-facebook) - Passport strategy for authenticating with Facebook using the Facebook OAuth 2.0 API. This module lets you authenticate using Facebook in your Node.js applications.\n10. [passport-cognito-oauth2](https://github.com/ebuychance/passport-cognito-oauth2) - Passport strategy for authenticating with Cognito using the Cognito OAuth 2.0 API. This module lets you authenticate using Cognito in your Node.js applications.\n11. [passport-SAML](https://github.com/node-saml/passport-saml) - Passport strategy for authenticating with SAML using the SAML 2.0 API. This module lets you authenticate using SAML in your Node.js applications\n12. custom-passport-otp - Created a Custom Passport strategy for 2-Factor-Authentication using OTP (One Time Password).\n13. [passport-auth0](https://github.com/auth0/passport-auth0) - Passport strategy for authenticating with auth0. This module lets you authenticate using [Auth0](https://auth0.com/) in your Node.js applications.\n\nYou can use one or more strategies of the above in your application. For each of the strategy (only which you use), you just need to provide your own verifier function, making it easily configurable. Rest of the strategy implementation intricacies is handled by extension.\n\n## Install\n\n```sh\nnpm install loopback4-authentication\n```\n\n## Quick Starter\n\nFor a quick starter guide, you can refer to our [loopback 4 starter](https://github.com/sourcefuse/loopback4-starter) application which utilizes all of the above auth strategies from the extension in a simple multi-tenant application. Refer to the auth module [there](https://github.com/sourcefuse/loopback4-starter/tree/master/src/modules/auth) for specific details on authentication.\n\n## Detailed Usage\n\nThe first and common step for all of the startegies is to add the component to the application. See below\n\n```ts\n// application.ts\nexport class ToDoApplication extends BootMixin(\n  ServiceMixin(RepositoryMixin(RestApplication)),\n) {\n  constructor(options: ApplicationConfig = {}) {\n    super(options);\n\n    // Set up the custom sequence\n    this.sequence(MySequence);\n\n    // Set up default home page\n    this.static('/', path.join(__dirname, '../public'));\n\n    // Add authentication component\n    this.component(AuthenticationComponent);\n\n    // .... Rest of the code below\n  }\n}\n```\n\nOnce this is done, you are ready to configure any of the available strategy in the application.\n\n### Oauth2-client-password\n\nFirst, create an AuthClient model implementing the IAuthClient interface. The purpose of this model is to store oauth registered clients for the app in the DB. See sample below.\n\n```ts\n@model({\n  name: 'auth_clients',\n})\nexport class AuthClient extends Entity implements IAuthClient {\n  @property({\n    type: 'number',\n    id: true,\n  })\n  id?: number;\n\n  @property({\n    type: 'string',\n    required: true,\n    name: 'client_id',\n  })\n  clientId: string;\n\n  @property({\n    type: 'string',\n    required: true,\n    name: 'client_secret',\n  })\n  clientSecret: string;\n\n  @property({\n    type: 'array',\n    itemType: 'number',\n    name: 'user_ids',\n  })\n  userIds: number[];\n\n  constructor(data?: Partial<AuthClient>) {\n    super(data);\n  }\n}\n```\n\nCreate CRUD repository for the above model. Use loopback CLI.\n\n```sh\nlb4 repository\n```\n\nAdd the verifier function for the strategy. You need to create a provider for the same strategy. You can add your application specific business logic for client auth here. Here is simple example.\n\n```ts\nimport {Provider} from '@loopback/context';\nimport {repository} from '@loopback/repository';\nimport {VerifyFunction} from 'loopback4-authentication';\n\nimport {AuthClientRepository} from '../../../repositories';\n\nexport class ClientPasswordVerifyProvider\n  implements Provider<VerifyFunction.OauthClientPasswordFn>\n{\n  constructor(\n    @repository(AuthClientRepository)\n    public authClientRepository: AuthClientRepository,\n  ) {}\n\n  value(): VerifyFunction.OauthClientPasswordFn {\n    return async (clientId, clientSecret, req) => {\n      return this.authClientRepository.findOne({\n        where: {\n          clientId,\n          clientSecret,\n        },\n      });\n    };\n  }\n}\n```\n\nPlease note the Verify function type _VerifyFunction.OauthClientPasswordFn_.\n\nNow bind this provider to the application in application.ts.\n\n```ts\nimport {AuthenticationComponent, Strategies} from 'loopback4-authentication';\n```\n\n```ts\n// Add authentication component\nthis.component(AuthenticationComponent);\n// Customize authentication verify handlers\nthis.bind(Strategies.Passport.OAUTH2_CLIENT_PASSWORD_VERIFIER).toProvider(\n  ClientPasswordVerifyProvider,\n);\n```\n\nFinally, add the authenticate function as a sequence action to sequence.ts.\n\n```ts\nexport class MySequence implements SequenceHandler {\n  constructor(\n    @inject(SequenceActions.FIND_ROUTE) protected findRoute: FindRoute,\n    @inject(SequenceActions.PARSE_PARAMS) protected parseParams: ParseParams,\n    @inject(SequenceActions.INVOKE_METHOD) protected invoke: InvokeMethod,\n    @inject(SequenceActions.SEND) public send: Send,\n    @inject(SequenceActions.REJECT) public reject: Reject,\n    // Inject CLIENT_AUTH_ACTION sequence action provider\n    @inject(AuthenticationBindings.CLIENT_AUTH_ACTION)\n    protected authenticateRequestClient: AuthenticateFn<AuthClient>,\n  ) {}\n\n  async handle(context: RequestContext) {\n    try {\n      const {request, response} = context;\n      const route = this.findRoute(request);\n      const args = await this.parseParams(request, route);\n      request.body = args[args.length - 1];\n\n      // Perform client authentication here\n      await this.authenticateRequestClient(request);\n\n      const result = await this.invoke(route, args);\n      this.send(response, result);\n    } catch (err) {\n      this.reject(context, err);\n    }\n  }\n}\n```\n\nAfter this, you can use decorator to apply auth to controller functions wherever needed. See below.\n\n```ts\n@authenticateClient(STRATEGY.CLIENT_PASSWORD, {\n  passReqToCallback: true\n})\n@post('/auth/login', {\n  responses: {\n    [STATUS_CODE.OK]: {\n      description: 'Auth Code',\n      content: {\n        [CONTENT_TYPE.JSON]: Object,\n      },\n    },\n  },\n})\nasync login(\n  @requestBody()\n  req: LoginRequest,\n): Promise<{\n  code: string;\n}> {\n  ....\n}\n```\n\nFor accessing the authenticated AuthClient model reference, you can inject the CURRENT_CLIENT provider, provided by the extension, which is populated by the auth action sequence above.\n\n```ts\n  @inject.getter(AuthenticationBindings.CURRENT_CLIENT)\n  private readonly getCurrentClient: Getter<AuthClient>,\n```\n\n### Http-bearer\n\nFirst, create a AuthUser model implementing the IAuthUser interface. You can implement the interface in the user model itself. See sample below.\n\n```ts\n@model({\n  name: 'users',\n})\nexport class User extends Entity implements IAuthUser {\n  @property({\n    type: 'number',\n    id: true,\n  })\n  id?: number;\n\n  @property({\n    type: 'string',\n    required: true,\n    name: 'first_name',\n  })\n  firstName: string;\n\n  @property({\n    type: 'string',\n    name: 'last_name',\n  })\n  lastName: string;\n\n  @property({\n    type: 'string',\n    name: 'middle_name',\n  })\n  middleName?: string;\n\n  @property({\n    type: 'string',\n    required: true,\n  })\n  username: string;\n\n  @property({\n    type: 'string',\n  })\n  email?: string;\n\n  @property({\n    type: 'string',\n  })\n  password?: string;\n\n  constructor(data?: Partial<User>) {\n    super(data);\n  }\n}\n```\n\nNow bind this model to USER_MODEL key in application.ts\n\n```ts\nthis.bind(AuthenticationBindings.USER_MODEL).to(User);\n```\n\nCreate CRUD repository for the above model. Use loopback CLI.\n\n```sh\nlb4 repository\n```\n\nAdd the verifier function for the strategy. You need to create a provider for the same. You can add your application specific business logic for client auth here. Here is simple example for JWT tokens.\n\n```ts\nimport {Provider} from '@loopback/context';\nimport {repository} from '@loopback/repository';\nimport {verify} from 'jsonwebtoken';\nimport {VerifyFunction} from 'loopback4-authentication';\n\nimport {User} from '../models/user.model';\n\nexport class BearerTokenVerifyProvider\n  implements Provider<VerifyFunction.BearerFn>\n{\n  constructor(\n    @repository(RevokedTokenRepository)\n    public revokedTokenRepository: RevokedTokenRepository,\n  ) {}\n\n  value(): VerifyFunction.BearerFn {\n    return async token => {\n      if (token && (await this.revokedTokenRepository.get(token))) {\n        throw new HttpErrors.Unauthorized('Token Revoked');\n      }\n      const user = verify(token, process.env.JWT_SECRET as string, {\n        issuer: process.env.JWT_ISSUER,\n      }) as User;\n      return user;\n    };\n  }\n}\n```\n\nThe above example has an import and injection of a RevokedTokenRepository, which could be used to keep track of revoked tokens in a datasource like Redis. You can find an implementation of this repository [here](https://github.com/sourcefuse/loopback4-starter/blob/master/src/repositories/revoked-token.repository.ts) and the Redis datasource [here](https://github.com/sourcefuse/loopback4-starter/blob/master/src/datasources/redis.datasource.ts).\n\nPlease note the Verify function type _VerifyFunction.BearerFn_\n\nNow bind this provider to the application in application.ts.\n\n```ts\nimport {AuthenticationComponent, Strategies} from 'loopback4-authentication';\n```\n\n```ts\n// Add authentication component\nthis.component(AuthenticationComponent);\n// Customize authentication verify handlers\nthis.bind(Strategies.Passport.BEARER_TOKEN_VERIFIER).toProvider(\n  BearerTokenVerifyProvider,\n);\n```\n\nFinally, add the authenticate function as a sequence action to sequence.ts.\n\n```ts\nexport class MySequence implements SequenceHandler {\n  constructor(\n    @inject(SequenceActions.FIND_ROUTE) protected findRoute: FindRoute,\n    @inject(SequenceActions.PARSE_PARAMS) protected parseParams: ParseParams,\n    @inject(SequenceActions.INVOKE_METHOD) protected invoke: InvokeMethod,\n    @inject(SequenceActions.SEND) public send: Send,\n    @inject(SequenceActions.REJECT) public reject: Reject,\n    @inject(AuthenticationBindings.USER_AUTH_ACTION)\n    protected authenticateRequest: AuthenticateFn<AuthUser>,\n  ) {}\n\n  async handle(context: RequestContext) {\n    try {\n      const {request, response} = context;\n\n      const route = this.findRoute(request);\n      const args = await this.parseParams(request, route);\n      request.body = args[args.length - 1];\n      const authUser: AuthUser = await this.authenticateRequest(request);\n      const result = await this.invoke(route, args);\n      this.send(response, result);\n    } catch (err) {\n      this.reject(context, err);\n    }\n  }\n}\n```\n\nAfter this, you can use decorator to apply auth to controller functions wherever needed. See below.\n\n```ts\n@authenticate(STRATEGY.BEARER)\n@get('/users', {\n  responses: {\n    '200': {\n      description: 'Array of User model instances',\n      content: {\n        'application/json': {\n          schema: {type: 'array', items: {'x-ts-type': User}},\n        },\n      },\n    },\n  },\n})\nasync find(\n  @param.query.object('filter', getFilterSchemaFor(User)) filter?: Filter,\n): Promise<User[]> {\n  return await this.userRepository.find(filter);\n}\n```\n\nFor accessing the authenticated AuthUser model reference, you can inject the CURRENT_USER provider, provided by the extension, which is populated by the auth action sequence above.\n\n```ts\n  @inject.getter(AuthenticationBindings.CURRENT_USER)\n  private readonly getCurrentUser: Getter<User>,\n```\n\n### local\n\nIn order to use it, run `npm install passport-local`.\nFirst, create a AuthUser model implementing the IAuthUser interface. You can implement the interface in the user model itself. See sample below.\n\n```ts\n@model({\n  name: 'users',\n})\nexport class User extends Entity implements IAuthUser {\n  @property({\n    type: 'number',\n    id: true,\n  })\n  id?: number;\n\n  @property({\n    type: 'string',\n    required: true,\n    name: 'first_name',\n  })\n  firstName: string;\n\n  @property({\n    type: 'string',\n    name: 'last_name',\n  })\n  lastName: string;\n\n  @property({\n    type: 'string',\n    name: 'middle_name',\n  })\n  middleName?: string;\n\n  @property({\n    type: 'string',\n    required: true,\n  })\n  username: string;\n\n  @property({\n    type: 'string',\n  })\n  email?: string;\n\n  @property({\n    type: 'string',\n  })\n  password?: string;\n\n  constructor(data?: Partial<User>) {\n    super(data);\n  }\n}\n```\n\nNow bind this model to USER_MODEL key in application.ts\n\n```ts\nthis.bind(AuthenticationBindings.USER_MODEL).to(User);\n```\n\nCreate CRUD repository for the above model. Use loopback CLI.\n\n```sh\nlb4 repository\n```\n\nAdd the verifier function for the strategy. You need to create a provider for the same. You can add your application specific business logic for client auth here. Here is a simple example.\n\n```ts\nexport class LocalPasswordVerifyProvider\n  implements Provider<VerifyFunction.LocalPasswordFn>\n{\n  constructor(\n    @repository(UserRepository)\n    public userRepository: UserRepository,\n  ) {}\n\n  value(): VerifyFunction.LocalPasswordFn {\n    return async (username: any, password: any) => {\n      try {\n        const user: AuthUser = new AuthUser(\n          await this.userRepository.verifyPassword(username, password),\n        );\n        return user;\n      } catch (error) {\n        throw new HttpErrors.Unauthorized(AuthErrorKeys.InvalidCredentials)\n          .message;\n      }\n    };\n  }\n}\n```\n\nPlease note the Verify function type _VerifyFunction.LocalPasswordFn_\n\nNow bind this provider to the application in application.ts.\n\n```ts\nimport {AuthenticationComponent, Strategies} from 'loopback4-authentication';\n```\n\n```ts\n// Add authentication component\nthis.component(AuthenticationComponent);\n// Customize authentication verify handlers\nthis.bind(Strategies.Passport.LOCAL_PASSWORD_VERIFIER).toProvider(\n  LocalPasswordVerifyProvider,\n);\n```\n\nFinally, add the authenticate function as a sequence action to sequence.ts.\n\n```ts\nexport class MySequence implements SequenceHandler {\n  constructor(\n    @inject(SequenceActions.FIND_ROUTE) protected findRoute: FindRoute,\n    @inject(SequenceActions.PARSE_PARAMS) protected parseParams: ParseParams,\n    @inject(SequenceActions.INVOKE_METHOD) protected invoke: InvokeMethod,\n    @inject(SequenceActions.SEND) public send: Send,\n    @inject(SequenceActions.REJECT) public reject: Reject,\n    @inject(AuthenticationBindings.USER_AUTH_ACTION)\n    protected authenticateRequest: AuthenticateFn<AuthUser>,\n  ) {}\n\n  async handle(context: RequestContext) {\n    try {\n      const {request, response} = context;\n\n      const route = this.findRoute(request);\n      const args = await this.parseParams(request, route);\n      request.body = args[args.length - 1];\n      const authUser: AuthUser = await this.authenticateRequest(request);\n      const result = await this.invoke(route, args);\n      this.send(response, result);\n    } catch (err) {\n      this.reject(context, err);\n    }\n  }\n}\n```\n\nAfter this, you can use decorator to apply auth to controller functions wherever needed. See below.\n\n```ts\n  @authenticate(STRATEGY.LOCAL)\n  @post('/auth/login', {\n    responses: {\n      [STATUS_CODE.OK]: {\n        description: 'Auth Code',\n        content: {\n          [CONTENT_TYPE.JSON]: Object,\n        },\n      },\n    },\n  })\n  async login(\n    @requestBody()\n    req: LoginRequest,\n  ): Promise<{\n    code: string;\n  }> {\n    ......\n  }\n```\n\nFor accessing the authenticated AuthUser model reference, you can inject the CURRENT_USER provider, provided by the extension, which is populated by the auth action sequence above.\n\n```ts\n  @inject.getter(AuthenticationBindings.CURRENT_USER)\n  private readonly getCurrentUser: Getter<User>,\n```\n\n### Oauth2-resource-owner-password\n\nIn order to use it, run `npm install passport-oauth2-resource-owner-password`.\nFirst, create an AuthClient model implementing the IAuthClient interface. The purpose of this model is to store oauth registered clients for the app in the DB. See sample below.\n\n```ts\n@model({\n  name: 'auth_clients',\n})\nexport class AuthClient extends Entity implements IAuthClient {\n  @property({\n    type: 'number',\n    id: true,\n  })\n  id?: number;\n\n  @property({\n    type: 'string',\n    required: true,\n    name: 'client_id',\n  })\n  clientId: string;\n\n  @property({\n    type: 'string',\n    required: true,\n    name: 'client_secret',\n  })\n  clientSecret: string;\n\n  @property({\n    type: 'array',\n    itemType: 'number',\n    name: 'user_ids',\n  })\n  userIds: number[];\n\n  constructor(data?: Partial<AuthClient>) {\n    super(data);\n  }\n}\n```\n\nNext, create a AuthUser model implementing the IAuthUser interface. You can implement the interface in the user model itself. See sample below.\n\n```ts\n@model({\n  name: 'users',\n})\nexport class User extends Entity implements IAuthUser {\n  @property({\n    type: 'number',\n    id: true,\n  })\n  id?: number;\n\n  @property({\n    type: 'string',\n    required: true,\n    name: 'first_name',\n  })\n  firstName: string;\n\n  @property({\n    type: 'string',\n    name: 'last_name',\n  })\n  lastName: string;\n\n  @property({\n    type: 'string',\n    name: 'middle_name',\n  })\n  middleName?: string;\n\n  @property({\n    type: 'string',\n    required: true,\n  })\n  username: string;\n\n  @property({\n    type: 'string',\n  })\n  email?: string;\n\n  @property({\n    type: 'string',\n  })\n  password?: string;\n\n  constructor(data?: Partial<User>) {\n    super(data);\n  }\n}\n```\n\nNow bind this model to USER_MODEL key in application.ts\n\n```ts\nthis.bind(AuthenticationBindings.USER_MODEL).to(User);\n```\n\nCreate CRUD repository for both of the above models. Use loopback CLI.\n\n```sh\nlb4 repository\n```\n\nAdd the verifier function for the strategy. You need to create a provider for the same. You can add your application specific business logic for client auth here. Here is a simple example.\n\n```ts\nexport class ResourceOwnerVerifyProvider\n  implements Provider<VerifyFunction.ResourceOwnerPasswordFn>\n{\n  constructor(\n    @repository(UserRepository)\n    public userRepository: UserRepository,\n    @repository(AuthClientRepository)\n    public authClientRepository: AuthClientRepository,\n  ) {}\n\n  value(): VerifyFunction.ResourceOwnerPasswordFn {\n    return async (clientId, clientSecret, username, password) => {\n      const user = await this.userRepository.verifyPassword(username, password);\n      if (!user) {\n        throw new HttpErrors.Unauthorized(AuthErrorKeys.InvalidCredentials);\n      }\n      const client = await this.authClientRepository.findOne({\n        where: {\n          clientId,\n        },\n      });\n      if (!client || client.userIds.indexOf(user.id || 0) < 0) {\n        throw new HttpErrors.Unauthorized(AuthErrorKeys.ClientInvalid);\n      } else if (!client.clientSecret || client.clientSecret !== clientSecret) {\n        throw new HttpErrors.Unauthorized(\n          AuthErrorKeys.ClientVerificationFailed,\n        );\n      }\n      return {\n        client,\n        user,\n      };\n    };\n  }\n}\n```\n\nPlease note the Verify function type _VerifyFunction.LocalPasswordFn_.\nAlso, in this case, verifier will return AuthClient as well as User model.\n\nNow bind this provider to the application in application.ts.\n\n```ts\nimport {AuthenticationComponent, Strategies} from 'loopback4-authentication';\n```\n\n```ts\n// Add authentication component\nthis.component(AuthenticationComponent);\n// Customize authentication verify handlers\nthis.bind(Strategies.Passport.RESOURCE_OWNER_PASSWORD_VERIFIER).toProvider(\n  ResourceOwnerVerifyProvider,\n);\n```\n\nFinally, add the authenticate function as a sequence action to sequence.ts.\n\n```ts\nexport class MySequence implements SequenceHandler {\n  constructor(\n    @inject(SequenceActions.FIND_ROUTE) protected findRoute: FindRoute,\n    @inject(SequenceActions.PARSE_PARAMS) protected parseParams: ParseParams,\n    @inject(SequenceActions.INVOKE_METHOD) protected invoke: InvokeMethod,\n    @inject(SequenceActions.SEND) public send: Send,\n    @inject(SequenceActions.REJECT) public reject: Reject,\n    @inject(AuthenticationBindings.USER_AUTH_ACTION)\n    protected authenticateRequest: AuthenticateFn<AuthUser>,\n  ) {}\n\n  async handle(context: RequestContext) {\n    try {\n      const {request, response} = context;\n\n      const route = this.findRoute(request);\n      const args = await this.parseParams(request, route);\n      request.body = args[args.length - 1];\n      const authUser: AuthUser = await this.authenticateRequest(request);\n      const result = await this.invoke(route, args);\n      this.send(response, result);\n    } catch (err) {\n      this.reject(context, err);\n    }\n  }\n}\n```\n\nAfter this, you can use decorator to apply auth to controller functions wherever needed. See below.\n\n```ts\n  @authenticate(STRATEGY.OAUTH2_RESOURCE_OWNER_GRANT)\n  @post('/auth/login-token', {\n    responses: {\n      [STATUS_CODE.OK]: {\n        description: 'Token Response Model',\n        content: {\n          [CONTENT_TYPE.JSON]: {\n            schema: {'x-ts-type': TokenResponse},\n          },\n        },\n      },\n    },\n  })\n  async loginWithClientUser(\n    @requestBody() req: LoginRequest,\n  ): Promise<TokenResponse> {\n    ......\n  }\n```\n\nFor accessing the authenticated AuthUser and AuthClient model reference, you can inject the CURRENT_USER and CURRENT_CLIENT provider, provided by the extension, which is populated by the auth action sequence above.\n\n```ts\n  @inject.getter(AuthenticationBindings.CURRENT_USER)\n  private readonly getCurrentUser: Getter<User>,\n  @inject.getter(AuthenticationBindings.CURRENT_CLIENT)\n  private readonly getCurrentClient: Getter<AuthClient>,\n```\n\n### OTP\n\nFirst, create a OtpCache model. This model should have OTP and few details of user and client (which will be used to retrieve them from database), it will be used to verify otp and get user, client. See sample below.\n\n```ts\n@model()\nexport class OtpCache extends Entity {\n  @property({\n    type: 'string',\n  })\n  otp: string;\n\n  @property({\n    type: 'string',\n  })\n  userId: string;\n\n  @property({\n    type: 'string',\n  })\n  clientId: string;\n\n  @property({\n    type: 'string',\n  })\n  clientSecret: string;\n\n  constructor(data?: Partial<OtpCache>) {\n    super(data);\n  }\n}\n```\n\nCreate [redis-repository](https://loopback.io/doc/en/lb4/Repository.html#define-a-keyvaluerepository) for the above model. Use loopback CLI.\n\n```sh\nlb4 repository\n```\n\nHere is a simple example.\n\n```ts\nimport {OtpCache} from '../models';\nimport {AuthCacheSourceName} from 'loopback4-authentication';\n\nexport class OtpCacheRepository extends DefaultKeyValueRepository<OtpCache> {\n  constructor(\n    @inject(`datasources.${AuthCacheSourceName}`)\n    dataSource: juggler.DataSource,\n  ) {\n    super(OtpCache, dataSource);\n  }\n}\n```\n\nAdd the verifier function for the strategy. You need to create a provider for the same. You can add your application specific business logic for auth here. Here is a simple example.\n\n```ts\nexport class OtpVerifyProvider implements Provider<VerifyFunction.OtpAuthFn> {\n  constructor(\n    @repository(UserRepository)\n    public userRepository: UserRepository,\n    @repository(OtpCacheRepository)\n    public otpCacheRepo: OtpCacheRepository,\n  ) {}\n\n  value(): VerifyFunction.OtpAuthFn {\n    return async (key: string, otp: string) => {\n      const otpCache = await this.otpCacheRepo.get(key);\n      if (!otpCache) {\n        throw new HttpErrors.Unauthorized(AuthErrorKeys.InvalidCredentials);\n      }\n      if (otpCache.otp.toString() !== otp) {\n        throw new HttpErrors.Unauthorized('Invalid OTP');\n      }\n      return this.userRepository.findById(otpCache.userId);\n    };\n  }\n}\n```\n\nPlease note the Verify function type _VerifyFunction.OtpAuthFn_\n\nNow bind this provider to the application in application.ts.\n\n```ts\nimport {AuthenticationComponent, Strategies} from 'loopback4-authentication';\n```\n\n```ts\n// Add authentication component\nthis.component(AuthenticationComponent);\n// Customize authentication verify handlers\nthis.bind(Strategies.Passport.OTP_VERIFIER).toProvider(OtpVerifyProvider);\n```\n\nFinally, add the authenticate function as a sequence action to sequence.ts.\n\n```ts\nexport class MySequence implements SequenceHandler {\n  constructor(\n    @inject(SequenceActions.FIND_ROUTE) protected findRoute: FindRoute,\n    @inject(SequenceActions.PARSE_PARAMS) protected parseParams: ParseParams,\n    @inject(SequenceActions.INVOKE_METHOD) protected invoke: InvokeMethod,\n    @inject(SequenceActions.SEND) public send: Send,\n    @inject(SequenceActions.REJECT) public reject: Reject,\n    @inject(AuthenticationBindings.USER_AUTH_ACTION)\n    protected authenticateRequest: AuthenticateFn<AuthUser>,\n  ) {}\n\n  async handle(context: RequestContext) {\n    try {\n      const {request, response} = context;\n\n      const route = this.findRoute(request);\n      const args = await this.parseParams(request, route);\n      request.body = args[args.length - 1];\n      const authUser: AuthUser = await this.authenticateRequest(request);\n      const result = await this.invoke(route, args);\n      this.send(response, result);\n    } catch (err) {\n      this.reject(context, err);\n    }\n  }\n}\n```\n\nThen, you need to create APIs, where you will first authenticate the user, and then send the OTP to user's email/phone. See below.\n\n```ts\n  //You can use your other strategies also\n  @authenticate(STRATEGY.LOCAL)\n  @post('/auth/send-otp', {\n    responses: {\n      [STATUS_CODE.OK]: {\n        description: 'Send Otp',\n        content: {\n          [CONTENT_TYPE.JSON]: Object,\n        },\n      },\n    },\n  })\n  async login(\n    @requestBody()\n    req: LoginRequest,\n  ): Promise<{\n    key: string;\n  }> {\n\n    // User is authenticated before this step.\n    // Now follow these steps:\n    // 1. Create a unique key.\n    // 2. Generate and send OTP to user's email/phone.\n    // 3. Store the details in redis-cache using key created in step-1. (Refer OtpCache model mentioned above)\n    // 4. Response will be the key created in step-1\n  }\n```\n\nAfter this, create an API with @@authenticate(STRATEGY.OTP) decorator. See below.\n\n```ts\n  @authenticate(STRATEGY.OTP)\n  @post('/auth/login-otp', {\n    responses: {\n      [STATUS_CODE.OK]: {\n        description: 'Auth Code',\n        content: {\n          [CONTENT_TYPE.JSON]: Object,\n        },\n      },\n    },\n  })\n  async login(\n    @requestBody()\n    req: {\n      key: 'string';\n      otp: 'string';\n    },\n  ): Promise<{\n    code: string;\n  }> {\n    ......\n  }\n```\n\nFor accessing the authenticated AuthUser model reference, you can inject the CURRENT_USER provider, provided by the extension, which is populated by the auth action sequence above.\n\n```ts\n  @inject.getter(AuthenticationBindings.CURRENT_USER)\n  private readonly getCurrentUser: Getter<User>,\n```\n\n### Google Oauth 2\n\nIn order to use it, run `npm install passport-google-oauth20` and `npm install @types/passport-google-oauth20`.\nFirst, create a AuthUser model implementing the IAuthUser interface. You can implement the interface in the user model itself. See sample below.\n\n```ts\n@model({\n  name: 'users',\n})\nexport class User extends Entity implements IAuthUser {\n  @property({\n    type: 'number',\n    id: true,\n  })\n  id?: number;\n\n  @property({\n    type: 'string',\n    required: true,\n    name: 'first_name',\n  })\n  firstName: string;\n\n  @property({\n    type: 'string',\n    name: 'last_name',\n  })\n  lastName: string;\n\n  @property({\n    type: 'string',\n    name: 'middle_name',\n  })\n  middleName?: string;\n\n  @property({\n    type: 'string',\n    required: true,\n  })\n  username: string;\n\n  @property({\n    type: 'string',\n  })\n  email?: string;\n\n  // Auth provider - 'google'\n  @property({\n    type: 'string',\n    required: true,\n    name: 'auth_provider',\n  })\n  authProvider: string;\n\n  // Id from external provider\n  @property({\n    type: 'string',\n    name: 'auth_id',\n  })\n  authId?: string;\n\n  @property({\n    type: 'string',\n    name: 'auth_token',\n  })\n  authToken?: string;\n\n  @property({\n    type: 'string',\n  })\n  password?: string;\n\n  constructor(data?: Partial<User>) {\n    super(data);\n  }\n}\n```\n\nNow bind this model to USER_MODEL key in application.ts\n\n```ts\nthis.bind(AuthenticationBindings.USER_MODEL).to(User);\n```\n\nCreate CRUD repository for the above model. Use loopback CLI.\n\n```sh\nlb4 repository\n```\n\nAdd the verifier function for the strategy. You need to create a provider for the same. You can add your application specific business logic for client auth here. Here is a simple example.\n\n```ts\nimport {Provider} from '@loopback/context';\nimport {repository} from '@loopback/repository';\nimport {HttpErrors} from '@loopback/rest';\nimport {AuthErrorKeys, VerifyFunction} from 'loopback4-authentication';\n\nimport {Tenant} from '../../../models';\nimport {UserCredentialsRepository, UserRepository} from '../../../repositories';\nimport {AuthUser} from '../models/auth-user.model';\n\nexport class GoogleOauth2VerifyProvider\n  implements Provider<VerifyFunction.GoogleAuthFn>\n{\n  constructor(\n    @repository(UserRepository)\n    public userRepository: UserRepository,\n    @repository(UserCredentialsRepository)\n    public userCredsRepository: UserCredentialsRepository,\n  ) {}\n\n  value(): VerifyFunction.GoogleAuthFn {\n    return async (accessToken, refreshToken, profile) => {\n      const user = await this.userRepository.findOne({\n        where: {\n          /* eslint-disable-next-line @typescript-eslint/no-explicit-any */\n          email: (profile as any)._json.email,\n        },\n      });\n      if (!user) {\n        throw new HttpErrors.Unauthorized(AuthErrorKeys.InvalidCredentials);\n      }\n      if (\n        !user ||\n        user.authProvider !== 'google' ||\n        user.authId !== profile.id\n      ) {\n        throw new HttpErrors.Unauthorized(AuthErrorKeys.InvalidCredentials);\n      }\n\n      const authUser: AuthUser = new AuthUser(user);\n      authUser.permissions = [];\n      authUser.externalAuthToken = accessToken;\n      authUser.externalRefreshToken = refreshToken;\n      authUser.tenant = new Tenant({id: user.defaultTenant});\n      return authUser;\n    };\n  }\n}\n```\n\nPlease note the Verify function type _VerifyFunction.LocalPasswordFn_\n\nNow bind this provider to the application in application.ts.\n\n```ts\nimport {AuthenticationComponent, Strategies} from 'loopback4-authentication';\n```\n\n```ts\n// Add authentication component\nthis.component(AuthenticationComponent);\n// Customize authentication verify handlers\nthis.bind(Strategies.Passport.GOOGLE_OAUTH2_VERIFIER).toProvider(\n  GoogleOauth2VerifyProvider,\n);\n```\n\nNow, bind this provider to the application in application.ts.\n\n```ts\nimport {GoogleAuthStrategyFactoryProvider} from 'loopback4-authentication/passport-google-oauth2';\n```\n\n```ts\nthis.bind(Strategies.Passport.GOOGLE_OAUTH2_STRATEGY_FACTORY.key).toProvider(\n  GoogleAuthStrategyFactoryProvider,\n);\n```\n\nFinally, add the authenticate function as a sequence action to sequence.ts.\n\n```ts\nexport class MySequence implements SequenceHandler {\n  constructor(\n    @inject(SequenceActions.FIND_ROUTE) protected findRoute: FindRoute,\n    @inject(SequenceActions.PARSE_PARAMS) protected parseParams: ParseParams,\n    @inject(SequenceActions.INVOKE_METHOD) protected invoke: InvokeMethod,\n    @inject(SequenceActions.SEND) public send: Send,\n    @inject(SequenceActions.REJECT) public reject: Reject,\n    @inject(AuthenticationBindings.USER_AUTH_ACTION)\n    protected authenticateRequest: AuthenticateFn<AuthUser>,\n  ) {}\n\n  async handle(context: RequestContext) {\n    try {\n      const {request, response} = context;\n\n      const route = this.findRoute(request);\n      const args = await this.parseParams(request, route);\n      request.body = args[args.length - 1];\n      const authUser: AuthUser = await this.authenticateRequest(\n        request,\n        response,\n      );\n      const result = await this.invoke(route, args);\n      this.send(response, result);\n    } catch (err) {\n      this.reject(context, err);\n    }\n  }\n}\n```\n\nAfter this, you can use decorator to apply auth to controller functions wherever needed. See below.\n\n```ts\n@authenticateClient(STRATEGY.CLIENT_PASSWORD)\n  @authenticate(\n    STRATEGY.GOOGLE_OAUTH2,\n    {\n      accessType: 'offline',\n      scope: ['profile', 'email'],\n      authorizationURL: process.env.GOOGLE_AUTH_URL,\n      callbackURL: process.env.GOOGLE_AUTH_CALLBACK_URL,\n      clientID: process.env.GOOGLE_AUTH_CLIENT_ID,\n      clientSecret: process.env.GOOGLE_AUTH_CLIENT_SECRET,\n      tokenURL: process.env.GOOGLE_AUTH_TOKEN_URL,\n    },\n    (req: Request) => {\n      return {\n        accessType: 'offline',\n        state: Object.keys(req.query)\n          .map(key => key + '=' + req.query[key])\n          .join('&'),\n      };\n    },\n  )\n  @authorize(['*'])\n  @get('/auth/google', {\n    responses: {\n      [STATUS_CODE.OK]: {\n        description: 'Token Response',\n        content: {\n          [CONTENT_TYPE.JSON]: {\n            schema: {'x-ts-type': TokenResponse},\n          },\n        },\n      },\n    },\n  })\n  async loginViaGoogle(\n    @param.query.string('client_id')\n    clientId?: string,\n    @param.query.string('client_secret')\n    clientSecret?: string,\n  ): Promise<void> {}\n\n  @authenticate(\n    STRATEGY.GOOGLE_OAUTH2,\n    {\n      accessType: 'offline',\n      scope: ['profile', 'email'],\n      authorizationURL: process.env.GOOGLE_AUTH_URL,\n      callbackURL: process.env.GOOGLE_AUTH_CALLBACK_URL,\n      clientID: process.env.GOOGLE_AUTH_CLIENT_ID,\n      clientSecret: process.env.GOOGLE_AUTH_CLIENT_SECRET,\n      tokenURL: process.env.GOOGLE_AUTH_TOKEN_URL,\n    },\n    (req: Request) => {\n      return {\n        accessType: 'offline',\n        state: Object.keys(req.query)\n          .map(key => `${key}=${req.query[key]}`)\n          .join('&'),\n      };\n    },\n  )\n  @authorize(['*'])\n  @get('/auth/google-auth-redirect', {\n    responses: {\n      [STATUS_CODE.OK]: {\n        description: 'Token Response',\n        content: {\n          [CONTENT_TYPE.JSON]: {\n            schema: {'x-ts-type': TokenResponse},\n          },\n        },\n      },\n    },\n  })\n  async googleCallback(\n    @param.query.string('code') code: string,\n    @param.query.string('state') state: string,\n    @inject(RestBindings.Http.RESPONSE) response: Response,\n  ): Promise<void> {\n    const clientId = new URLSearchParams(state).get('client_id');\n    if (!clientId || !this.user) {\n      throw new HttpErrors.Unauthorized(AuthErrorKeys.ClientInvalid);\n    }\n    const client = await this.authClientRepository.findOne({\n      where: {\n        clientId: clientId,\n      },\n    });\n    if (!client || !client.redirectUrl) {\n      throw new HttpErrors.Unauthorized(AuthErrorKeys.ClientInvalid);\n    }\n    try {\n      const codePayload: ClientAuthCode<User> = {\n        clientId,\n        user: this.user,\n      };\n      const token = jwt.sign(codePayload, client.secret, {\n        expiresIn: client.authCodeExpiration,\n        audience: clientId,\n        subject: this.user.username,\n        issuer: process.env.JWT_ISSUER,\n      });\n      response.redirect(`${client.redirectUrl}?code=${token}`);\n    } catch (error) {\n      throw new HttpErrors.InternalServerError(AuthErrorKeys.UnknownError);\n    }\n  }\n```\n\nPlease note above that we are creating two new APIs for google auth. The first one is for UI clients to hit. We are authenticating client as well, then passing the details to the google auth. Then, the actual authentication is done by google authorization url, which redirects to the second API we created after success. The first API method body is empty as we do not need to handle its response. The google auth provider in this package will do the redirection for you automatically.\n\nFor accessing the authenticated AuthUser model reference, you can inject the CURRENT_USER provider, provided by the extension, which is populated by the auth action sequence above.\n\n```ts\n  @inject.getter(AuthenticationBindings.CURRENT_USER)\n  private readonly getCurrentUser: Getter<User>,\n```\n\n### Instagram Oauth 2\n\nIn order to use it, run `npm install passport-instagram`.\nFirst, create a AuthUser model implementing the IAuthUser interface. You can implement the interface in the user model itself. See sample below.\n\n```ts\n@model({\n  name: 'users',\n})\nexport class User extends Entity implements IAuthUser {\n  @property({\n    type: 'number',\n    id: true,\n  })\n  id?: number;\n\n  @property({\n    type: 'string',\n    required: true,\n    name: 'first_name',\n  })\n  firstName: string;\n\n  @property({\n    type: 'string',\n    name: 'last_name',\n  })\n  lastName: string;\n\n  @property({\n    type: 'string',\n    name: 'middle_name',\n  })\n  middleName?: string;\n\n  @property({\n    type: 'string',\n    required: true,\n  })\n  username: string;\n\n  @property({\n    type: 'string',\n  })\n  email?: string;\n\n  // Auth provider - 'instagram'\n  @property({\n    type: 'string',\n    required: true,\n    name: 'auth_provider',\n  })\n  authProvider: string;\n\n  // Id from external provider\n  @property({\n    type: 'string',\n    name: 'auth_id',\n  })\n  authId?: string;\n\n  @property({\n    type: 'string',\n    name: 'auth_token',\n  })\n  authToken?: string;\n\n  @property({\n    type: 'string',\n  })\n  password?: string;\n\n  constructor(data?: Partial<User>) {\n    super(data);\n  }\n}\n```\n\nNow bind this model to USER_MODEL key in application.ts\n\n```ts\nthis.bind(AuthenticationBindings.USER_MODEL).to(User);\n```\n\nCreate CRUD repository for the above model. Use loopback CLI.\n\n```sh\nlb4 repository\n```\n\nAdd the verifier function for the strategy. You need to create a provider for the same. You can add your application specific business logic for client auth here. Here is a simple example.\n\n```ts\nimport {Provider} from '@loopback/context';\nimport {repository} from '@loopback/repository';\nimport {HttpErrors} from '@loopback/rest';\nimport {AuthErrorKeys, VerifyFunction} from 'loopback4-authentication';\n\nimport {Tenant} from '../../../models';\nimport {UserCredentialsRepository, UserRepository} from '../../../repositories';\nimport {AuthUser} from '../models/auth-user.model';\n\nexport class InstagramOauth2VerifyProvider\n  implements Provider<VerifyFunction.InstagramAuthFn>\n{\n  constructor(\n    @repository(UserRepository)\n    public userRepository: UserRepository,\n    @repository(UserCredentialsRepository)\n    public userCredsRepository: UserCredentialsRepository,\n  ) {}\n\n  value(): VerifyFunction.InstagramAuthFn {\n    return async (accessToken, refreshToken, profile) => {\n      const user = await this.userRepository.findOne({\n        where: {\n          /* eslint-disable-next-line @typescript-eslint/no-explicit-any */\n          email: (profile as any)._json.email,\n        },\n      });\n      if (!user) {\n        throw new HttpErrors.Unauthorized(AuthErrorKeys.InvalidCredentials);\n      }\n      if (\n        !user ||\n        user.authProvider !== 'instagram' ||\n        user.authId !== profile.id\n      ) {\n        throw new HttpErrors.Unauthorized(AuthErrorKeys.InvalidCredentials);\n      }\n\n      const authUser: AuthUser = new AuthUser(user);\n      authUser.permissions = [];\n      authUser.externalAuthToken = accessToken;\n      authUser.externalRefreshToken = refreshToken;\n      authUser.tenant = new Tenant({id: user.defaultTenant});\n      return authUser;\n    };\n  }\n}\n```\n\nPlease note the Verify function type _VerifyFunction.LocalPasswordFn_\n\nNow bind this provider to the application in application.ts.\n\n```ts\nimport {AuthenticationComponent, Strategies} from 'loopback4-authentication';\n```\n\n```ts\n// Add authentication component\nthis.component(AuthenticationComponent);\n// Customize authentication verify handlers\nthis.bind(Strategies.Passport.INSTAGRAM_OAUTH2_VERIFIER).toProvider(\n  InstagramOauth2VerifyProvider,\n);\n```\n\nFinally, add the authenticate function as a sequence action to sequence.ts.\n\n```ts\nexport class MySequence implements SequenceHandler {\n  constructor(\n    @inject(SequenceActions.FIND_ROUTE) protected findRoute: FindRoute,\n    @inject(SequenceActions.PARSE_PARAMS) protected parseParams: ParseParams,\n    @inject(SequenceActions.INVOKE_METHOD) protected invoke: InvokeMethod,\n    @inject(SequenceActions.SEND) public send: Send,\n    @inject(SequenceActions.REJECT) public reject: Reject,\n    @inject(AuthenticationBindings.USER_AUTH_ACTION)\n    protected authenticateRequest: AuthenticateFn<AuthUser>,\n  ) {}\n\n  async handle(context: RequestContext) {\n    try {\n      const {request, response} = context;\n\n      const route = this.findRoute(request);\n      const args = await this.parseParams(request, route);\n      request.body = args[args.length - 1];\n      const authUser: AuthUser = await this.authenticateRequest(\n        request,\n        response,\n      );\n      const result = await this.invoke(route, args);\n      this.send(response, result);\n    } catch (err) {\n      this.reject(context, err);\n    }\n  }\n}\n```\n\nAfter this, you can use decorator to apply auth to controller functions wherever needed. See below.\n\n```ts\n@authenticateClient(STRATEGY.CLIENT_PASSWORD)\n  @authenticate(\n    STRATEGY.INSTAGRAM_OAUTH2,\n    {\n      accessType: 'offline',\n      authorizationURL: process.env.INSTAGRAM_AUTH_URL,\n      callbackURL: process.env.INSTAGRAM_AUTH_CALLBACK_URL,\n      clientID: process.env.INSTAGRAM_AUTH_CLIENT_ID,\n      clientSecret: process.env.INSTAGRAM_AUTH_CLIENT_SECRET,\n      tokenURL: process.env.INSTAGRAM_AUTH_TOKEN_URL,\n    },\n    (req: Request) => {\n      return {\n        accessType: 'offline',\n        state: Object.keys(req.query)\n          .map(key => key + '=' + req.query[key])\n          .join('&'),\n      };\n    },\n  )\n  @authorize(['*'])\n  @get('/auth/instagram', {\n    responses: {\n      [STATUS_CODE.OK]: {\n        description: 'Token Response',\n        content: {\n          [CONTENT_TYPE.JSON]: {\n            schema: {'x-ts-type': TokenResponse},\n          },\n        },\n      },\n    },\n  })\n  async loginViaInstagram(\n    @param.query.string('client_id')\n    clientId?: string,\n    @param.query.string('client_secret')\n    clientSecret?: string,\n  ): Promise<void> {}\n\n  @authenticate(\n    STRATEGY.INSTAGRAM_OAUTH2,\n    {\n      accessType: 'offline',\n      authorizationURL: process.env.INSTAGRAM_AUTH_URL,\n      callbackURL: process.env.INSTAGRAM_AUTH_CALLBACK_URL,\n      clientID: process.env.INSTAGRAM_AUTH_CLIENT_ID,\n      clientSecret: process.env.INSTAGRAM_AUTH_CLIENT_SECRET,\n      tokenURL: process.env.INSTAGRAM_AUTH_TOKEN_URL,\n    },\n    (req: Request) => {\n      return {\n        accessType: 'offline',\n        state: Object.keys(req.query)\n          .map(key => `${key}=${req.query[key]}`)\n          .join('&'),\n      };\n    },\n  )\n  @authorize(['*'])\n  @get('/auth/instagram-auth-redirect', {\n    responses: {\n      [STATUS_CODE.OK]: {\n        description: 'Token Response',\n        content: {\n          [CONTENT_TYPE.JSON]: {\n            schema: {'x-ts-type': TokenResponse},\n          },\n        },\n      },\n    },\n  })\n  async instagramCallback(\n    @param.query.string('code') code: string,\n    @param.query.string('state') state: string,\n    @inject(RestBindings.Http.RESPONSE) response: Response,\n  ): Promise<void> {\n    const clientId = new URLSearchParams(state).get('client_id');\n    if (!clientId || !this.user) {\n      throw new HttpErrors.Unauthorized(AuthErrorKeys.ClientInvalid);\n    }\n    const client = await this.authClientRepository.findOne({\n      where: {\n        clientId: clientId,\n      },\n    });\n    if (!client || !client.redirectUrl) {\n      throw new HttpErrors.Unauthorized(AuthErrorKeys.ClientInvalid);\n    }\n    try {\n      const codePayload: ClientAuthCode<User> = {\n        clientId,\n        user: this.user,\n      };\n      const token = jwt.sign(codePayload, client.secret, {\n        expiresIn: client.authCodeExpiration,\n        audience: clientId,\n        subject: this.user.username,\n        issuer: process.env.JWT_ISSUER,\n      });\n      response.redirect(`${client.redirectUrl}?code=${token}`);\n    } catch (error) {\n      throw new HttpErrors.InternalServerError(AuthErrorKeys.UnknownError);\n    }\n  }\n```\n\nPlease note above that we are creating two new APIs for instagram auth. The first one is for UI clients to hit. We are authenticating client as well, then passing the details to the instagram auth. Then, the actual authentication is done by instagram authorization url, which redirects to the second API we created after success. The first API method body is empty as we do not need to handle its response. The instagram auth provider in this package will do the redirection for you automatically.\n\nFor accessing the authenticated AuthUser model reference, you can inject the CURRENT_USER provider, provided by the extension, which is populated by the auth action sequence above.\n\n```ts\n  @inject.getter(AuthenticationBindings.CURRENT_USER)\n  private readonly getCurrentUser: Getter<User>,\n```\n\n### Apple Oauth 2\n\nIn order to use it, run `npm install --save passport-apple`.\nFirst, create a AuthUser model implementing the IAuthUser interface. You can implement the interface in the user model itself. See sample below.\n\n```ts\n@model({\n  name: 'users',\n})\nexport class User extends Entity implements IAuthUser {\n  @property({\n    type: 'number',\n    id: true,\n  })\n  id?: number;\n\n  @property({\n    type: 'string',\n    required: true,\n    name: 'first_name',\n  })\n  firstName: string;\n\n  @property({\n    type: 'string',\n    name: 'last_name',\n  })\n  lastName: string;\n\n  @property({\n    type: 'string',\n    name: 'middle_name',\n  })\n  middleName?: string;\n\n  @property({\n    type: 'string',\n    required: true,\n  })\n  username: string;\n\n  @property({\n    type: 'string',\n  })\n  email?: string;\n\n  // Auth provider - 'apple'\n  @property({\n    type: 'string',\n    required: true,\n    name: 'auth_provider',\n  })\n  authProvider: string;\n\n  // Id from external provider\n  @property({\n    type: 'string',\n    name: 'auth_id',\n  })\n  authId?: string;\n\n  @property({\n    type: 'string',\n    name: 'auth_token',\n  })\n  authToken?: string;\n\n  @property({\n    type: 'string',\n  })\n  password?: string;\n\n  constructor(data?: Partial<User>) {\n    super(data);\n  }\n}\n```\n\nNow bind this model to USER_MODEL key in application.ts\n\n```ts\nthis.bind(AuthenticationBindings.USER_MODEL).to(User);\n```\n\nCreate CRUD repository for the above model. Use loopback CLI.\n\n```sh\nlb4 repository\n```\n\nAdd the verifier function for the strategy. You need to create a provider for the same. You can add your application specific business logic for client auth here. Here is a simple example.\n\n```ts\nimport {Provider} from '@loopback/context';\nimport {repository} from '@loopback/repository';\nimport {HttpErrors} from '@loopback/rest';\nimport {AuthErrorKeys, VerifyFunction} from 'loopback4-authentication';\n\nimport {Tenant} from '../../../models';\nimport {UserCredentialsRepository, UserRepository} from '../../../repositories';\nimport {AuthUser} from '../models/auth-user.model';\n\nexport class AppleOauth2VerifyProvider\n  implements Provider<VerifyFunction.AppleAuthFn>\n{\n  constructor(\n    @repository(UserRepository)\n    public userRepository: UserRepository,\n    @repository(UserCredentialsRepository)\n    public userCredsRepository: UserCredentialsRepository,\n  ) {}\n\n  value(): VerifyFunction.AppleAuthFn {\n    return async (accessToken, refreshToken, profile) => {\n      const user = await this.userRepository.findOne({\n        where: {\n          /* eslint-disable-next-line @typescript-eslint/no-explicit-any */\n          email: (profile as any)._json.email,\n        },\n      });\n      if (!user) {\n        throw new HttpErrors.Unauthorized(AuthErrorKeys.InvalidCredentials);\n      }\n      if (\n        !user ||\n        user.authProvider !== 'apple' ||\n        user.authId !== profile.id\n      ) {\n        throw new HttpErrors.Unauthorized(AuthErrorKeys.InvalidCredentials);\n      }\n\n      const authUser: AuthUser = new AuthUser(user);\n      authUser.permissions = [];\n      authUser.externalAuthToken = accessToken;\n      authUser.externalRefreshToken = refreshToken;\n      authUser.tenant = new Tenant({id: user.defaultTenant});\n      return authUser;\n    };\n  }\n}\n```\n\nPlease note the Verify function type _VerifyFunction.LocalPasswordFn_\n\nNow bind this provider to the application in application.ts.\n\n```ts\nimport {AuthenticationComponent, Strategies} from 'loopback4-authentication';\n```\n\n```ts\n// Add authentication component\nthis.component(AuthenticationComponent);\n// Customize authentication verify handlers\nthis.bind(Strategies.Passport.APPLE_OAUTH2_VERIFIER).toProvider(\n  AppleOauth2VerifyProvider,\n);\n```\n\nFinally, add the authenticate function as a sequence action to sequence.ts.\n\n```ts\nexport class MySequence implements SequenceHandler {\n  constructor(\n    @inject(SequenceActions.FIND_ROUTE) protected findRoute: FindRoute,\n    @inject(SequenceActions.PARSE_PARAMS) protected parseParams: ParseParams,\n    @inject(SequenceActions.INVOKE_METHOD) protected invoke: InvokeMethod,\n    @inject(SequenceActions.SEND) public send: Send,\n    @inject(SequenceActions.REJECT) public reject: Reject,\n    @inject(AuthenticationBindings.USER_AUTH_ACTION)\n    protected authenticateRequest: AuthenticateFn<AuthUser>,\n  ) {}\n\n  async handle(context: RequestContext) {\n    try {\n      const {request, response} = context;\n\n      const route = this.findRoute(request);\n      const args = await this.parseParams(request, route);\n      request.body = args[args.length - 1];\n      const authUser: AuthUser = await this.authenticateRequest(\n        request,\n        response,\n      );\n      const result = await this.invoke(route, args);\n      this.send(response, result);\n    } catch (err) {\n      this.reject(context, err);\n    }\n  }\n}\n```\n\nAfter this, you can use decorator to apply auth to controller functions wherever needed. See below.\n\n```ts\n@authenticateClient(STRATEGY.CLIENT_PASSWORD)\n  @authenticate(\n    STRATEGY.APPLE_OAUTH2,\n    {\n      accessType: 'offline',\n      scope: ['name', 'email'],\n      callbackURL: process.env.APPLE_AUTH_CALLBACK_URL,\n      clientID: process.env.APPLE_AUTH_CLIENT_ID,\n      teamID: process.env.APPLE_AUTH_TEAM_ID,\n      keyID: process.env.APPLE_AUTH_KEY_ID,\n      privateKeyLocation: process.env.APPLE_AUTH_PRIVATE_KEY_LOCATION,\n    },\n    (req: Request) => {\n      return {\n        accessType: 'offline',\n        state: Object.keys(req.query)\n          .map(key => key + '=' + req.query[key])\n          .join('&'),\n      };\n    },\n  )\n  @authorize(['*'])\n  @get('/auth/oauth-apple', {\n    responses: {\n      [STATUS_CODE.OK]: {\n        description: 'Token Response',\n        content: {\n          [CONTENT_TYPE.JSON]: {\n            schema: {'x-ts-type': TokenResponse},\n          },\n        },\n      },\n    },\n  })\n  async loginViaApple(\n    @param.query.string('client_id')\n    clientId?: string,\n    @param.query.string('client_secret')\n    clientSecret?: string,\n  ): Promise<void> {}\n\n  @authenticate(\n    STRATEGY.APPLE_OAUTH2,\n    {\n      accessType: 'offline',\n      scope: ['name', 'email'],\n      callbackURL: process.env.APPLE_AUTH_CALLBACK_URL,\n      clientID: process.env.APPLE_AUTH_CLIENT_ID,\n      teamID: process.env.APPLE_AUTH_TEAM_ID,\n      keyID: process.env.APPLE_AUTH_KEY_ID,\n      privateKeyLocation: process.env.APPLE_AUTH_PRIVATE_KEY_LOCATION,\n    },\n    (req: Request) => {\n      return {\n        accessType: 'offline',\n        state: Object.keys(req.query)\n          .map(key => `${key}=${req.query[key]}`)\n          .join('&'),\n      };\n    },\n  )\n  @authorize(['*'])\n  @get('/auth/apple-oauth-redirect', {\n    responses: {\n      [STATUS_CODE.OK]: {\n        description: 'Token Response',\n        content: {\n          [CONTENT_TYPE.JSON]: {\n            schema: {'x-ts-type': TokenResponse},\n          },\n        },\n      },\n    },\n  })\n  async appleCallback(\n    @param.query.string('code') code: string,\n    @param.query.string('state') state: string,\n    @inject(RestBindings.Http.RESPONSE) response: Response,\n  ): Promise<void> {\n    const clientId = new URLSearchParams(state).get('client_id');\n    if (!clientId || !this.user) {\n      throw new HttpErrors.Unauthorized(AuthErrorKeys.ClientInvalid);\n    }\n    const client = await this.authClientRepository.findOne({\n      where: {\n        clientId: clientId,\n      },\n    });\n    if (!client || !client.redirectUrl) {\n      throw new HttpErrors.Unauthorized(AuthErrorKeys.ClientInvalid);\n    }\n    try {\n      const codePayload: ClientAuthCode<User> = {\n        clientId,\n        user: this.user,\n      };\n      const token = jwt.sign(codePayload, client.secret, {\n        expiresIn: client.authCodeExpiration,\n        audience: clientId,\n        subject: this.user.username,\n        issuer: process.env.JWT_ISSUER,\n      });\n      response.redirect(`${client.redirectUrl}?code=${token}`);\n    } catch (error) {\n      throw new HttpErrors.InternalServerError(AuthErrorKeys.UnknownError);\n    }\n  }\n```\n\nPlease note above that we are creating two new APIs for apple auth. The first one is for UI clients to hit. We are authenticating client as well, then passing the details to the apple auth. Then, the actual authentication is done by apple authorization url, which redirects to the second API we created after success. The first API method body is empty as we do not need to handle its response. The apple auth provider in this package will do the redirection for you automatically.\n\nFor accessing the authenticated AuthUser model reference, you can inject the CURRENT_USER provider, provided by the extension, which is populated by the auth action sequence above.\n\n```ts\n  @inject.getter(AuthenticationBindings.CURRENT_USER)\n  private readonly getCurrentUser: Getter<User>,\n```\n\n### Facebook Oauth 2\n\nIn order to use it, run `npm install passport-facebook`.\nFirst, create a AuthUser model implementing the IAuthUser interface. You can implement the interface in the user model itself. See sample below.\n\n```ts\n@model({\n  name: 'users',\n})\nexport class User extends Entity implements IAuthUser {\n  @property({\n    type: 'number',\n    id: true,\n  })\n  id?: number;\n\n  @property({\n    type: 'string',\n    required: true,\n    name: 'first_name',\n  })\n  firstName: string;\n\n  @property({\n    type: 'string',\n    name: 'last_name',\n  })\n  lastName: string;\n\n  @property({\n    type: 'string',\n    name: 'middle_name',\n  })\n  middleName?: string;\n\n  @property({\n    type: 'string',\n    required: true,\n  })\n  username: string;\n\n  @property({\n    type: 'string',\n  })\n  email?: string;\n\n  // Auth provider - 'facebook'\n  @property({\n    type: 'string',\n    required: true,\n    name: 'auth_provider',\n  })\n  authProvider: string;\n\n  // Id from external provider\n  @property({\n    type: 'string',\n    name: 'auth_id',\n  })\n  authId?: string;\n\n  @property({\n    type: 'string',\n    name: 'auth_token',\n  })\n  authToken?: string;\n\n  @property({\n    type: 'string',\n  })\n  password?: string;\n\n  constructor(data?: Partial<User>) {\n    super(data);\n  }\n}\n```\n\nNow bind this model to USER_MODEL key in application.ts\n\n```ts\nthis.bind(AuthenticationBindings.USER_MODEL).to(User);\n```\n\nCreate CRUD repository for the above model. Use loopback CLI.\n\n```sh\nlb4 repository\n```\n\nAdd the verifier function for the strategy. You need to create a provider for the same. You can add your application specific business logic for client auth here. Here is a simple example.\n\n```ts\nimport {Provider} from '@loopback/context';\nimport {repository} from '@loopback/repository';\nimport {HttpErrors} from '@loopback/rest';\nimport {AuthErrorKeys, VerifyFunction} from 'loopback4-authentication';\n\nimport {Tenant} from '../../../models';\nimport {UserCredentialsRepository, UserRepository} from '../../../repositories';\nimport {AuthUser} from '../models/auth-user.model';\n\nexport class FacebookOauth2VerifyProvider\n  implements Provider<VerifyFunction.FacebookAuthFn>\n{\n  constructor(\n    @repository(UserRepository)\n    public userRepository: UserRepository,\n    @repository(UserCredentialsRepository)\n    public userCredsRepository: UserCredentialsRepository,\n  ) {}\n\n  value(): VerifyFunction.FacebookAuthFn {\n    return async (accessToken, refreshToken, profile) => {\n      const user = await this.userRepository.findOne({\n        where: {\n          /* eslint-disable-next-line @typescript-eslint/no-explicit-any */\n          email: (profile as any)._json.email,\n        },\n      });\n      if (!user) {\n        throw new HttpErrors.Unauthorized(AuthErrorKeys.InvalidCredentials);\n      }\n      if (\n        !user ||\n        user.authProvider !== 'facebook' ||\n        user.authId !== profile.id\n      ) {\n        throw new HttpErrors.Unauthorized(AuthErrorKeys.InvalidCredentials);\n      }\n\n      const authUser: AuthUser = new AuthUser(user);\n      authUser.permissions = [];\n      authUser.externalAuthToken = accessToken;\n      authUser.externalRefreshToken = refreshToken;\n      authUser.tenant = new Tenant({id: user.defaultTenant});\n      return authUser;\n    };\n  }\n}\n```\n\nPlease note the Verify function type _VerifyFunction.LocalPasswordFn_\n\nNow bind this provider to the application in application.ts.\n\n```ts\nimport {AuthenticationComponent, Strategies} from 'loopback4-authentication';\n```\n\n```ts\n// Add authentication component\nthis.component(AuthenticationComponent);\n// Customize authentication verify handlers\nthis.bind(Strategies.Passport.FACEBOOK_OAUTH2_VERIFIER).toProvider(\n  FacebookOauth2VerifyProvider,\n);\n```\n\nFinally, add the authenticate function as a sequence action to sequence.ts.\n\n```ts\nexport class MySequence implements SequenceHandler {\n  constructor(\n    @inject(SequenceActions.FIND_ROUTE) protected findRoute: FindRoute,\n    @inject(SequenceActions.PARSE_PARAMS) protected parseParams: ParseParams,\n    @inject(SequenceActions.INVOKE_METHOD) protected invoke: InvokeMethod,\n    @inject(SequenceActions.SEND) public send: Send,\n    @inject(SequenceActions.REJECT) public reject: Reject,\n    @inject(AuthenticationBindings.USER_AUTH_ACTION)\n    protected authenticateRequest: AuthenticateFn<AuthUser>,\n  ) {}\n\n  async handle(context: RequestContext) {\n    try {\n      const {request, response} = context;\n\n      const route = this.findRoute(request);\n      const args = await this.parseParams(request, route);\n      request.body = args[args.length - 1];\n      const authUser: AuthUser = await this.authenticateRequest(\n        request,\n        response,\n      );\n      const result = await this.invoke(route, args);\n      this.send(response, result);\n    } catch (err) {\n      this.reject(context, err);\n    }\n  }\n}\n```\n\nAfter this, you can use decorator to apply auth to controller functions wherever needed. See below.\n\n```ts\n@authenticateClient(STRATEGY.CLIENT_PASSWORD)\n  @authenticate(\n    STRATEGY.FACEBOOK_OAUTH2,\n    {\n      accessType: 'offline',\n      authorizationURL: process.env.FACEBOOK_AUTH_URL,\n      callbackURL: process.env.FACEBOOK_AUTH_CALLBACK_URL,\n      clientID: process.env.FACEBOOK_AUTH_CLIENT_ID,\n      clientSecret: process.env.FACEBOOK_AUTH_CLIENT_SECRET,\n      tokenURL: process.env.FACEBOOK_AUTH_TOKEN_URL,\n    },\n    (req: Request) => {\n      return {\n        accessType: 'offline',\n        state: Object.keys(req.query)\n          .map(key => key + '=' + req.query[key])\n          .join('&'),\n      };\n    },\n  )\n  @authorize(['*'])\n  @get('/auth/facebook', {\n    responses: {\n      [STATUS_CODE.OK]: {\n        description: 'Token Response',\n        content: {\n          [CONTENT_TYPE.JSON]: {\n            schema: {'x-ts-type': TokenResponse},\n          },\n        },\n      },\n    },\n  })\n  async loginViaFacebook(\n    @param.query.string('client_id')\n    clientId?: string,\n    @param.query.string('client_secret')\n    clientSecret?: string,\n  ): Promise<void> {}\n\n  @authenticate(\n    STRATEGY.FACEBOOK_OAUTH2,\n    {\n      accessType: 'offline',\n      authorizationURL: process.env.FACEBOOK_AUTH_URL,\n      callbackURL: process.env.FACEBOOK_AUTH_CALLBACK_URL,\n      clientID: process.env.FACEBOOK_AUTH_CLIENT_ID,\n      clientSecret: process.env.FACEBOOK_AUTH_CLIENT_SECRET,\n      tokenURL: process.env.FACEBOOK_AUTH_TOKEN_URL,\n    },\n    (req: Request) => {\n      return {\n        accessType: 'offline',\n        state: Object.keys(req.query)\n          .map(key => `${key}=${req.query[key]}`)\n          .join('&'),\n      };\n    },\n  )\n  @authorize(['*'])\n  @get('/auth/facebook-auth-redirect', {\n    responses: {\n      [STATUS_CODE.OK]: {\n        description: 'Token Response',\n        content: {\n          [CONTENT_TYPE.JSON]: {\n            schema: {'x-ts-type': TokenResponse},\n          },\n        },\n      },\n    },\n  })\n  async facebookCallback(\n    @param.query.string('code') code: string,\n    @param.query.string('state') state: string,\n    @inject(RestBindings.Http.RESPONSE) response: Response,\n  ): Promise<void> {\n    const clientId = new URLSearchParams(state).get('client_id');\n    if (!clientId || !this.user) {\n      throw new HttpErrors.Unauthorized(AuthErrorKeys.ClientInvalid);\n    }\n    const client = await this.authClientRepository.findOne({\n      where: {\n        clientId: clientId,\n      },\n    });\n    if (!client || !client.redirectUrl) {\n      throw new HttpErrors.Unauthorized(AuthErrorKeys.ClientInvalid);\n    }\n    try {\n      const codePayload: ClientAuthCode<User> = {\n        clientId,\n        user: this.user,\n      };\n      const token = jwt.sign(codePayload, client.secret, {\n        expiresIn: client.authCodeExpiration,\n        audience: clientId,\n        subject: this.user.username,\n        issuer: process.env.JWT_ISSUER,\n      });\n      response.redirect(`${client.redirectUrl}?code=${token}`","readmeFilename":"README.md"}