{"_id":"passport-magic-link","_rev":"18-59b8c3f2f1b73b8fe6d8dd5b776c5621","name":"passport-magic-link","dist-tags":{"latest":"4.1.0"},"versions":{"0.1.0":{"name":"passport-magic-link","version":"0.1.0","keywords":["passport","magic","link","passwordless","encryption","timestamp","two","factor","authentication","2FA"],"author":{"name":"Vinicius Albano","email":"vinialbano@gmail.com"},"license":"MIT","_id":"passport-magic-link@0.1.0","maintainers":[{"name":"vinialbano","email":"vinialbano@gmail.com"}],"homepage":"https://github.com/vinialbano/passport-magic-link#readme","bugs":{"url":"https://github.com/vinialbano/passport-magic-link/issues"},"dist":{"shasum":"20bff2ace8046dc897d27077710445d645e093b4","tarball":"https://registry.npmjs.org/passport-magic-link/-/passport-magic-link-0.1.0.tgz","fileCount":14,"integrity":"sha512-9lptvgHiJlMr4UlYH1l8hzakzXnNIDwFQhRaXuhPORG82XbR/ousrCHc+m8ldtiDZRj4QT1HLfUO2YxcYRvWeg==","signatures":[{"sig":"MEYCIQCTyiWiX+QGF2JEUsekT8INvwUvSJtqAlHe/yN059Om8gIhAJch7SP9vSElZdT0rC49PhNbMHM8P4wB2DW39Y/lRPJL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52787,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbiYheCRA9TVsSAnZWagAAGvUP/AuHmBaXLnGNmVMUtQec\n9sImttaSAuXgmsS5t+Sg4/7OyLSUcQWcQhZwh0EHt6Yf1e+Ro/0WTspupZH5\np/xRCaTI66ojX1X6fIF1a/Jhcc/RLauTCZcGsaY4QGskeaEblHr3OCxR2Tvu\nJIuom8CI2EkCF5qDhOMdwUpa2/R5d7iIgyybCScS1MRC/ToWo0WM63oLkCNT\nBY/JgxilAchP5X1dG57/chSqS5QlJNyWU2ifBfqNZEsvHX8a3cMoY4LgoKD/\nB0SU0Y8Qg//VY8wvfEPJj8TZJ0LDSEQSDaDk7Mb3Ftdf4aCxF7vBkz+EPyfG\nO6/49T7PuLgeIrBsTDVSG7ZtZyrHCJmmv+UQPYCtP7EHSJwiE1+Gaz1H+VcC\nAXqXtvVJ5/+m71x7eyzzNpXfAlSObxXT+tQhcvYAxf5ukIFlrqgtIVtf8GNN\nb2K0mr0iwwaFzAUprM4YMpBxow39MYzcoCAxJvpNFM63uylSI5nDyYHzBugX\n+faHbFlSCKSQxkiL63nuNYo6OtM482IlRG0vswWCDMO7m9SzRmvibJrtUGKw\nj1dRtPR857s2kTzAQMavgCm1QsFPXleh8iuPsIKFivni4pCQPvPcYOa7+DAr\ndGYvDFoatOCCscwt3MSjYRNUzykjiGnerWPLZbrRetSe5TmQreVNIN9vjO4U\nSKgV\r\n=KOBW\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"clearMocks":true,"collectCoverage":true,"coverageDirectory":"./coverage/","coverageReporters":["lcov"]},"main":"index.js","gitHead":"0b95205c0d576df500d22c4bd76ae1233a4c3f83","scripts":{"dev":"jest --watch","test":"jest","build":"babel src -d lib","coverage":"cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","precommit":"lint-staged"},"_npmUser":{"name":"vinialbano","email":"vinialbano@gmail.com"},"repository":{"url":"git+https://github.com/vinialbano/passport-magic-link.git","type":"git"},"_npmVersion":"6.4.1","description":"Passport JS module for Magic Link authentication","directories":{},"lint-staged":{"*.js":["eslint --fix","git add","jest --bail --findRelatedTests"]},"_nodeVersion":"8.11.1","dependencies":{"jsonwebtoken":"^8.3.0","babel-polyfill":"^6.26.0","passport-strategy":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.1.2","jest":"^23.5.0","husky":"^0.14.3","eslint":"^5.4.0","babel-cli":"^6.26.0","coveralls":"^3.0.2","babel-core":"^6.26.3","lint-staged":"^7.2.2","babel-preset-env":"^1.7.0","eslint-plugin-jest":"^21.21.0","eslint-plugin-node":"^7.0.1","eslint-plugin-import":"^2.14.0","eslint-plugin-promise":"^4.0.0","chai-passport-strategy":"^1.0.1","eslint-config-standard":"^11.0.0","eslint-plugin-standard":"^3.1.0","babel-plugin-transform-runtime":"^6.23.0","babel-plugin-transform-object-rest-spread":"^6.26.0"},"_npmOperationalInternal":{"tmp":"tmp/passport-magic-link_0.1.0_1535739997286_0.681068272415009","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"passport-magic-link","version":"1.0.1","keywords":["passport","magic","link","passwordless","encryption","timestamp","two","factor","authentication","2FA"],"author":{"name":"Vinicius Albano","email":"vinialbano@gmail.com"},"license":"MIT","_id":"passport-magic-link@1.0.1","maintainers":[{"name":"vinialbano","email":"vinialbano@gmail.com"}],"homepage":"https://github.com/vinialbano/passport-magic-link#readme","bugs":{"url":"https://github.com/vinialbano/passport-magic-link/issues"},"dist":{"shasum":"2fb88f08f96467c8b6903e1371f75db7b01bf325","tarball":"https://registry.npmjs.org/passport-magic-link/-/passport-magic-link-1.0.1.tgz","fileCount":14,"integrity":"sha512-nCTMalAoJsOTLgbRpXAiedb+vqS4+VbSIqMrvb06MfWMbIUsDLQAcD2g8jjXTcZg9C+20RTLjWKQgnhQPy2Hrw==","signatures":[{"sig":"MEUCIEiURXKj1HlqIsWsRZ0LFpTRPoPpOml85afSLuwqOhWaAiEArvjm3xVYMc4dZTizWPJ/imGsv8TO6DYNOq9HfKDsiB4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbiYljCRA9TVsSAnZWagAA59MP/1JU0Dgr7rN7byLfygeS\nibgNyOiTNR20ZsHTF+Pm6qe0muBE88XhYQlXOXo6Y6sDgm01UOzjyB/Hp7Bn\noTyqPMIpkBbmJJ0pDmx0NJPcBlDU9nG11v1Hi1OawnnhqSjX0F3t8k+Ov35T\nRPirJ9RRAlrnSXf0xMsQtsHmSPbiT6tPT7RUY1b7KIJtw8vzyNk55lV9sv8G\nTTbP+Uj+Fi74D+bH9oxCPN7USFPrFFhM+6/L0YXHIEMLMmlOrjD8pUJOzZQ7\nAA4SeWK8XuMZvRYha6BgTYM0ocl6pVVabQILn0y6zUHredxMD5cD/Mt9Rbvj\nLu1+Y1JBxVv07ZfpuOyK0ae203Zd6D4tG7ZUrqtpAR55q6zDT+HiqjUVNazO\nfET3uvdOaLlMR8YG633mdCceYqr3faANNMqMavVzfVKaMAyML0Ao9cz0FCn5\nicI7ulcoyMxzHtgs87I0HeROkVzu7QOfxrYzUbFWPoz3PIO9V5LvKu4yliNf\nsV/sB9lkCwZJKzfJU2B3H6IxXGlNQYvhdGYBgMrNKvA3pQ6tDwsb2jiyR0/g\n94Vp47KomRCObweDRvwpAehXY9Ish86bKHoE1Jh6nHj5XW8YJ5AGshAAyckp\nT7aOwYe6jpUTrVW5nqnPcMr8ryBGJPo3r84HevN4QXnbi1X77iQqQXVKMv7S\n7zcP\r\n=7299\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"clearMocks":true,"collectCoverage":true,"coverageDirectory":"./coverage/","coverageReporters":["lcov"]},"main":"index.js","gitHead":"620479ab8bfada1cf0ce481e34288b767f04e501","scripts":{"dev":"jest --watch","test":"jest","build":"babel src -d lib","coverage":"cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","precommit":"lint-staged","prepublish":"npm run build"},"_npmUser":{"name":"vinialbano","email":"vinialbano@gmail.com"},"repository":{"url":"git+https://github.com/vinialbano/passport-magic-link.git","type":"git"},"_npmVersion":"6.4.1","description":"Passport JS module for Magic Link authentication","directories":{},"lint-staged":{"*.js":["eslint --fix","git add","jest --bail --findRelatedTests"]},"_nodeVersion":"8.11.1","dependencies":{"jsonwebtoken":"^8.3.0","babel-polyfill":"^6.26.0","passport-strategy":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.1.2","jest":"^23.5.0","husky":"^0.14.3","eslint":"^5.4.0","babel-cli":"^6.26.0","coveralls":"^3.0.2","babel-core":"^6.26.3","lint-staged":"^7.2.2","babel-preset-env":"^1.7.0","eslint-plugin-jest":"^21.21.0","eslint-plugin-node":"^7.0.1","eslint-plugin-import":"^2.14.0","eslint-plugin-promise":"^4.0.0","chai-passport-strategy":"^1.0.1","eslint-config-standard":"^11.0.0","eslint-plugin-standard":"^3.1.0","babel-plugin-transform-runtime":"^6.23.0","babel-plugin-transform-object-rest-spread":"^6.26.0"},"_npmOperationalInternal":{"tmp":"tmp/passport-magic-link_1.0.1_1535740258962_0.46745945835552627","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"passport-magic-link","version":"1.0.2","keywords":["passport","magic","link","passwordless","encryption","timestamp","two","factor","authentication","2FA"],"author":{"name":"Vinicius Albano","email":"vinialbano@gmail.com"},"license":"MIT","_id":"passport-magic-link@1.0.2","maintainers":[{"name":"vinialbano","email":"vinialbano@gmail.com"}],"homepage":"https://github.com/vinialbano/passport-magic-link#readme","bugs":{"url":"https://github.com/vinialbano/passport-magic-link/issues"},"dist":{"shasum":"fd86a6ea8d8c33f4410e19335b7752ec2056205b","tarball":"https://registry.npmjs.org/passport-magic-link/-/passport-magic-link-1.0.2.tgz","fileCount":6,"integrity":"sha512-3uX8FIg2LHGovweI9jgcDRbDqFTYaRF4NCTplYCcHgilTBc37luqxY+VYgqx2ddPkB9wQrd3gEFAwkPMpdyFrA==","signatures":[{"sig":"MEYCIQCd45tIKQ3QCRCSDsJ9Zzu2mvALbJc2GazrsX+Gf/LXlQIhANcLRrTb9w3jwtTOQURmRJrqYBy8kuX5UEb4ZXH7dceV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21531,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbiY0PCRA9TVsSAnZWagAAq/UP/Rb6f9nfbdlcMSicjjCI\n9VRCr1suZGCACV6O1Y0fRoY7S502HTJmTjC6EEOuhq0xIhpFoll/mt0I4YLV\nowRXuOKcaab4RjWjogHPSnTVu2ofGZSrd9/aH9h4Xu23u3cH3zmNhslefjwn\n1Vow7uYhqM4M9+TYl5SDOWM9DGkOYmWNEdjVpxybYWakmR0HXsR0b1Szpa8v\nR4h9TnSFKfPaGE66FcJiSsQliXU1yiJl3jAwJWwjMg1HDVJZPDHxswwemPrC\nPK3UnwxVdt6KVZSv5SM0MmN+zcPa3SIQUTiXBHqJpoiobVbQtUWh7aqPhjxx\njI6FMWS81VVwzZ8TxoqYSirFERYf7wLQpXS+XbKePkWvWA7fCEA2h88zyH3l\ntamSK3HGa2uvS3qIeiUg1ywO/AzG/qoGsP93DXQWPbpsBLXPg3zIX1G7ve6L\nWol3Ix6HU4/8gwsloPCM8dWp1YRiJnKxQG710LiDgttDuGTkvEBrmELFLpAq\nPuRWh+KIgSSNQm+QeZz8xzJpxPMtObfZqgNSQ1VJA9gkUD7duow7oftMTj0z\n4CmPHVOK2HjTdMhYgWsOUjbmhbobludg+nrCSv7+k4wKIm/YoFTNgC+UxKe6\nuZ0V9LIZLAlNGN5CcyxB/Sl+N86XvzUSXyn/YoVrhkVMvBrfgW0+7b9KeLzX\nAOqk\r\n=oZkt\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"clearMocks":true,"collectCoverage":true,"coverageDirectory":"./coverage/","coverageReporters":["lcov"]},"main":"index.js","gitHead":"118d5631a0c7fff82ae0a43f92c51fee87fb09f0","scripts":{"dev":"jest --watch","test":"jest","build":"babel src -d lib","coverage":"cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","precommit":"lint-staged","prepublish":"npm run build"},"_npmUser":{"name":"vinialbano","email":"vinialbano@gmail.com"},"repository":{"url":"git+https://github.com/vinialbano/passport-magic-link.git","type":"git"},"_npmVersion":"6.4.1","description":"Passport JS module for Magic Link authentication","directories":{},"lint-staged":{"*.js":["eslint --fix","git add","jest --bail --findRelatedTests"]},"_nodeVersion":"8.11.1","dependencies":{"jsonwebtoken":"^8.3.0","babel-polyfill":"^6.26.0","passport-strategy":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.1.2","jest":"^23.5.0","husky":"^0.14.3","eslint":"^5.4.0","babel-cli":"^6.26.0","coveralls":"^3.0.2","babel-core":"^6.26.3","lint-staged":"^7.2.2","babel-preset-env":"^1.7.0","eslint-plugin-jest":"^21.21.0","eslint-plugin-node":"^7.0.1","eslint-plugin-import":"^2.14.0","eslint-plugin-promise":"^4.0.0","chai-passport-strategy":"^1.0.1","eslint-config-standard":"^11.0.0","eslint-plugin-standard":"^3.1.0","babel-plugin-transform-runtime":"^6.23.0","babel-plugin-transform-object-rest-spread":"^6.26.0"},"_npmOperationalInternal":{"tmp":"tmp/passport-magic-link_1.0.2_1535741198347_0.946164450818946","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"passport-magic-link","version":"1.0.3","keywords":["passport","magic","link","passwordless","encryption","timestamp","two","factor","authentication","2FA"],"author":{"name":"Vinicius Albano","email":"vinialbano@gmail.com"},"license":"MIT","_id":"passport-magic-link@1.0.3","maintainers":[{"name":"vinialbano","email":"vinialbano@gmail.com"}],"homepage":"https://github.com/vinialbano/passport-magic-link#readme","bugs":{"url":"https://github.com/vinialbano/passport-magic-link/issues"},"dist":{"shasum":"1a91b78670ca02857478dbe2c8d6b2998f199796","tarball":"https://registry.npmjs.org/passport-magic-link/-/passport-magic-link-1.0.3.tgz","fileCount":6,"integrity":"sha512-ADKD/RZ0EQ3dgqBd9hdxW/Sp0qBC/Qu3fQridmaXr5DILgjlI5kHkYo+maN/UJq99UD5IHtKTxWudSZK7Z9k2w==","signatures":[{"sig":"MEUCIEhWcvaDBKVJf6vadzvAGPJybx6i38WjbD/9bm7TzBOEAiEAwmk8PJWiGncNZZkCMLWcaegvSdxSeSzYUOKFzdLo6UE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21660,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbiZztCRA9TVsSAnZWagAAszwP/i3F9/Kb2o9fZqqnxGtK\ndIReMIvYpU9kqBb0tdvPS4TV0bxJ2OrFfJkXcONqxqlmwO1Vxg9bYe9AUDmx\nmppYCbDY0rds8UYin273qkZIIMoS3ck0sShZaAdhSNlHke/4M7aR9NOh/ZA7\nKRHp03HroKFSzMERw3rYdpMmll1PBHUvhXxm8RIDRLVUynDL9aOPwC1gXOCV\na6t2BSdWBT58IapewFylcdy1fCL9YlmfDxdAMu7eI3YNhBY9LfLYezgfF6im\n2R9fNKLlwHd7AkL/bZKmLmWxqH5vyOcOx6Ob2RH+5wCG7HW7jtJ9ovbkD/2/\nHTo8ygk/Ta3j2Jc1/QvUjlwVRY6wuuKSDUhzAqL5NeYxHOBK8V5umeD05cnh\n8fDp0nMSqDqDP+Z5KmXuG9AOTEPDUVOtOr+oXNzo1je4H0+KCEFtg46isLl2\ngW97J6Y7AH9HJvHovHJWKvipROxQ+wHmjIuix6mnN2kfs01opTCea9s01MFy\nIYS49Ftd53pCQH9up9wCxbRGVtpwnJhItudC7ba6QUMg3WiDJt0CnJPNnMtE\nAi15Z+2HRDAawsy1CM/saIPWyL0hKM/G4zENSWYkM55DZIP1pBwa9/2P0/U5\nzdjUPfG/G3sDIzuP1k0XFx7yxb4FnUflyR6g+Fy52ePsgRFRjYiRdnU1AsDT\n41cA\r\n=xnic\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"clearMocks":true,"collectCoverage":true,"coverageDirectory":"./coverage/","coverageReporters":["lcov"]},"main":"index.js","gitHead":"8b39e8efe82be70b12a48d3de601752a8e55f9d2","scripts":{"dev":"jest --watch","test":"jest","build":"babel src -d lib","coverage":"cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","precommit":"lint-staged","prepublish":"npm run build"},"_npmUser":{"name":"vinialbano","email":"vinialbano@gmail.com"},"repository":{"url":"git+https://github.com/vinialbano/passport-magic-link.git","type":"git"},"_npmVersion":"6.4.1","description":"Passport JS module for Magic Link authentication","directories":{},"lint-staged":{"*.js":["eslint --fix","git add","jest --bail --findRelatedTests"]},"_nodeVersion":"8.11.1","dependencies":{"jsonwebtoken":"^8.3.0","babel-polyfill":"^6.26.0","passport-strategy":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.1.2","jest":"^23.5.0","husky":"^0.14.3","eslint":"^5.4.0","babel-cli":"^6.26.0","coveralls":"^3.0.2","babel-core":"^6.26.3","lint-staged":"^7.2.2","babel-preset-env":"^1.7.0","eslint-plugin-jest":"^21.21.0","eslint-plugin-node":"^7.0.1","eslint-plugin-import":"^2.14.0","eslint-plugin-promise":"^4.0.0","chai-passport-strategy":"^1.0.1","eslint-config-standard":"^11.0.0","eslint-plugin-standard":"^3.1.0","babel-plugin-transform-runtime":"^6.23.0","babel-plugin-transform-object-rest-spread":"^6.26.0"},"_npmOperationalInternal":{"tmp":"tmp/passport-magic-link_1.0.3_1535745260538_0.3029864484624649","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"passport-magic-link","version":"1.0.4","keywords":["passport","magic","link","passwordless","encryption","timestamp","two","factor","authentication","2FA"],"author":{"name":"Vinicius Albano","email":"vinialbano@gmail.com"},"license":"MIT","_id":"passport-magic-link@1.0.4","maintainers":[{"name":"vinialbano","email":"vinialbano@gmail.com"}],"homepage":"https://github.com/vinialbano/passport-magic-link#readme","bugs":{"url":"https://github.com/vinialbano/passport-magic-link/issues"},"dist":{"shasum":"8ac48d668aba5eb67cf0a382646dbbe67ec73da3","tarball":"https://registry.npmjs.org/passport-magic-link/-/passport-magic-link-1.0.4.tgz","fileCount":6,"integrity":"sha512-l3acos288nveWx6QLqiww/4J+WpXPZfE2rIO49cvrah1UHoNIfgTcli4XA8kQ9gF+exzC6veVWE2LU2QtbyYHw==","signatures":[{"sig":"MEUCIQC57/ea7T+MFY26rjT7wkhaTn4lF8CpFVGI3tesybe0nQIgFd3RsSkqP0qHg8fC7Jm6yt5McXuUP4cDA0rXM6TGLjY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21700,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb5dxGCRA9TVsSAnZWagAArgsQAJTwxokI3xAsucsBvMW8\ngC7p1V75w+gVAHVLEDms4JxbkXh1mWvGd/59p8PJ2Dko4AQ5aIUAO4O5asdV\neePUPsZtc6LX5VEI4RwpCKU6D88dOYmxnwjQik2dY4MYPb9B2ipR/poMQnCN\nOskfl2mrc4zKysSQRiOmPqMvQDw9sUzF/M06djnT0oL/6tvp9CXZhVKPu1SI\nMr6VOnK5GtjdGfkabmIGtzI+LKp0WacUYb0CivQjoS3iWxrjGiUzP83v53kL\nKPWfT5d6urdWXL+sPxemd5T7LbrEVGKevCy0GYtvzAkKAPLceOPcFhDix2RK\nPnCWldr8/BHfx5gZXZbIdeLMDmzq8+7rdzrbJ4d+eaRH88MMsUBOSe/frmv8\niZKhgvRGeA13+qkTfPpmAAlQfd/ShgWaptPEQND0+7r1Tqiwc5l7jK7dA0ai\nfUvOp23jLYSr7TqzBKDd9NELXX8ng6KgrMVO9afPHkDp284Hwk/SKW9YMhET\n4+1F+LpoEfFZM5h/Ld8r+TturwWb1VYYJOB92+WMBft1LCv1PyHbkYi+kfnJ\na/j2k4AJTXymeW50K8L7n2w8ckE7KdG5IG0WtxAXT3+4ooSQRAw3OroE4Yzb\n5lfgl7CCOmp6VPLF4HwErU9pJlHCpTLQXqBUnHxwPgrrpldsJ83jariOCVFk\nL+19\r\n=Uc+C\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"clearMocks":true,"collectCoverage":true,"coverageDirectory":"./coverage/","coverageReporters":["lcov"]},"main":"index.js","gitHead":"71283fb35c95845811feda818eda60065b2767c2","scripts":{"dev":"jest --watch","test":"jest","build":"babel src -d lib","coverage":"cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","precommit":"lint-staged","prepublish":"npm run build"},"_npmUser":{"name":"vinialbano","email":"vinialbano@gmail.com"},"repository":{"url":"git+https://github.com/vinialbano/passport-magic-link.git","type":"git"},"_npmVersion":"6.4.1","description":"Passport JS module for Magic Link authentication","directories":{},"lint-staged":{"*.js":["eslint --fix","git add","jest --bail --findRelatedTests"]},"_nodeVersion":"8.12.0","dependencies":{"jsonwebtoken":"^8.3.0","babel-polyfill":"^6.26.0","passport-strategy":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.1.2","jest":"^23.5.0","husky":"^0.14.3","eslint":"^5.4.0","babel-cli":"^6.26.0","coveralls":"^3.0.2","babel-core":"^6.26.3","lint-staged":"^7.2.2","babel-preset-env":"^1.7.0","eslint-plugin-jest":"^21.21.0","eslint-plugin-node":"^7.0.1","eslint-plugin-import":"^2.14.0","eslint-plugin-promise":"^4.0.0","chai-passport-strategy":"^1.0.1","eslint-config-standard":"^11.0.0","eslint-plugin-standard":"^3.1.0","babel-plugin-transform-runtime":"^6.23.0","babel-plugin-transform-object-rest-spread":"^6.26.0"},"_npmOperationalInternal":{"tmp":"tmp/passport-magic-link_1.0.4_1541790789923_0.9825971454369669","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"passport-magic-link","version":"1.0.5","keywords":["passport","magic","link","passwordless","encryption","timestamp","two","factor","authentication","2FA"],"author":{"name":"Vinicius Albano","email":"vinialbano@gmail.com"},"license":"MIT","_id":"passport-magic-link@1.0.5","maintainers":[{"name":"vinialbano","email":"vinialbano@gmail.com"}],"homepage":"https://github.com/vinialbano/passport-magic-link#readme","bugs":{"url":"https://github.com/vinialbano/passport-magic-link/issues"},"dist":{"shasum":"8caf9a2a0e6dc8fd42e0a028f17f1ba523370074","tarball":"https://registry.npmjs.org/passport-magic-link/-/passport-magic-link-1.0.5.tgz","fileCount":6,"integrity":"sha512-op2JmqJkFc5Q5xpU1aMO78uavaPQvk1zItXJ7C3+GqEHim1sQ/RksAwJ3fmXItTPevPQA5eJspD18JmsAEF6TA==","signatures":[{"sig":"MEQCICGXK/OqsFuUmygexGPmXcRWf+NAY2TqeGHN3jSpJt4aAiAlbc6haymTHRSn6SUixGkc8NGN21qasDk8xXJjCGccmg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21699,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb5euHCRA9TVsSAnZWagAAbDcP/0jfRbzYes4grU+rtWEz\nrmnF1GtoRekS2D6bvgl2NDPlR4hPvldWdrTJ5+5rBZDwvXfbzh3z+aixVqpX\nemSdT+KVK+lBYF9L3oeLCiiRjoRyiHY58yGxVobwJTXkdsu1JYaLtLTgbwxF\nqgBteuoJ4pc5cIRLetrcE3MRtVt3ZcXqUC9F/pNfXnjkwMTYbBO3pV2t/VZH\npYpEQiImKF8eribHcjXD1RQNnSX2gEKFYhV/+WmFZQLOHe/J8cFHJ8rUxlyQ\n/IH7/6l98ml3dwae/UeMtgFXiSe00ZXEcAfCVZOrnjVsBf2Ha73fxK7+mhZk\nMVSSMRszOFSVOxaeNV3fG2VnQNDT77iXduZgbAS47Ij1ofsUwpVqX4UiC1wo\nHMnA4ameMq0jgpdsiH/MV2E/uuntgM2mZ27AKXU5cUOPqNJ+1j3WpUkFjRb+\nFv8DkuEIcSmZijV6e5OxYTr133bCoRl9+IXbw+TJm/IgoNjAxD7uUOWm31Z7\nH+jazaEHaMdRWrTnKVskMwxzJZKXNLwuqqxkkRdU580d35jlHrrCLJ+urGJP\nFxDLzgGMdqcJp8HkU7rGIXJojf9fstZc+ByCM+Lo0Y5OeOD2GYfKerOOdbsH\nyowcvjSNU8S8C1cC+Aecm+ZDr9gW5z20Vsot6HFO4IDZfwneEm7ZOnwn6lSl\n7D1u\r\n=fIsE\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"clearMocks":true,"collectCoverage":true,"coverageDirectory":"./coverage/","coverageReporters":["lcov"]},"main":"index.js","gitHead":"f01666546f53d5cb51dabc35a0b7cce29f3dbe05","scripts":{"dev":"jest --watch","test":"jest","build":"babel src -d lib","coverage":"cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","precommit":"lint-staged","prepublish":"npm run build"},"_npmUser":{"name":"vinialbano","email":"vinialbano@gmail.com"},"repository":{"url":"git+https://github.com/vinialbano/passport-magic-link.git","type":"git"},"_npmVersion":"6.4.1","description":"Passport JS module for Magic Link authentication","directories":{},"lint-staged":{"*.js":["eslint --fix","git add","jest --bail --findRelatedTests"]},"_nodeVersion":"8.12.0","dependencies":{"jsonwebtoken":"^8.3.0","babel-polyfill":"^6.26.0","passport-strategy":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.1.2","jest":"^23.5.0","husky":"^0.14.3","eslint":"^5.4.0","babel-cli":"^6.26.0","coveralls":"^3.0.2","babel-core":"^6.26.3","lint-staged":"^7.2.2","babel-preset-env":"^1.7.0","eslint-plugin-jest":"^21.21.0","eslint-plugin-node":"^7.0.1","eslint-plugin-import":"^2.14.0","eslint-plugin-promise":"^4.0.0","chai-passport-strategy":"^1.0.1","eslint-config-standard":"^11.0.0","eslint-plugin-standard":"^3.1.0","babel-plugin-transform-runtime":"^6.23.0","babel-plugin-transform-object-rest-spread":"^6.26.0"},"_npmOperationalInternal":{"tmp":"tmp/passport-magic-link_1.0.5_1541794695277_0.4969456615330219","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"passport-magic-link","version":"1.1.0","keywords":["passport","magic","link","passwordless","encryption","timestamp","two","factor","authentication","2FA"],"author":{"name":"Vinicius Albano","email":"vinialbano@gmail.com"},"license":"MIT","_id":"passport-magic-link@1.1.0","maintainers":[{"name":"vinialbano","email":"vinialbano@gmail.com"}],"homepage":"https://github.com/vinialbano/passport-magic-link#readme","bugs":{"url":"https://github.com/vinialbano/passport-magic-link/issues"},"dist":{"shasum":"d40f3ee08aeccf580d5b33bb8fa93d244d9bda1f","tarball":"https://registry.npmjs.org/passport-magic-link/-/passport-magic-link-1.1.0.tgz","fileCount":6,"integrity":"sha512-mfm1/pTn0iFO7p8j7ry1G6hsGUANsq8e6E2+hCOkXBUQlOvW7YN50oixwvIJsq007LtT3O/qmZXbwBFR9V2UOw==","signatures":[{"sig":"MEYCIQDjrZo3kkyKEvTPvTWYeaL62BtuOgfjbWBoRRhVafFXqQIhAP1tCofJsQz1WQCLdIuViqubTQuFW0Wzx25QmNyRLUpz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20432,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcatg+CRA9TVsSAnZWagAAIjQQAIb5NGClQljeroWE5jNb\nAo8npZ//4tmVeCkxS4uTwwOgC+Yef65vDViHyj1v7TXTfX8P0+aJ/EEAmgLj\nNjSw1USRVSssjF9jo+LMhVCLuUQ7DlRtJP0Z1/NBKzFryiEBPNzm82jjgKH5\nLWBCYVWYRRCyRdlcspd0O9yBXnmMi5wvg1+nJdd+FqglPz8YAKf4Artgfvb3\nhgvUCQieRrC/Y7dab6G3/qbF5/YNifqLjjHFXXlb80cf/Zi21GZF8A3Ub1F8\nTVfJrJlDph7BFZdgUHA4QKkXNY00Qx1576uEN2/BbyaB5Wt8f3siz5V7tXzI\nvAzRkgJicpcJGeAUN6bKlI5+RXRwf/dk6FR5f3l9HB74oFfoQrFbALb1PLoN\n49LX+x5SmHedncaiHuSX0T1l1QygtPnv6UTrRNrpZAc/XOl1pr7D+KZvpzXu\niVTILFwzIvy+IvhOZVHi7IolnBP1ZEeF0c/hpS9oPQ/DE9hUDR9BibHq85EF\nwD2FM9RObh3e9RFF6pRDu9iLYFXdfhtTXAKrSzbCjTADCuT6gu0o2qqOLX6o\nMevMboVdu1mX/Q1GkKRlZpFf3rWTdJnLLrSGpyrzttCdsFEkRl8yJdzfGr32\nBT4i5j43mdCnIDS5c9TidX5IWs6lDFYf9Uyk5cnvYIWBJwlIBVRqu5KgWRl7\n3pmZ\r\n=fXGW\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"clearMocks":true,"collectCoverage":true,"coverageDirectory":"./coverage/","coverageReporters":["lcov"]},"main":"index.js","gitHead":"b555e16202783a7e8a2e735aad638d833377472f","scripts":{"dev":"jest --watch","test":"jest","build":"babel src -d lib","coverage":"cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","precommit":"lint-staged","prepublish":"npm run build"},"_npmUser":{"name":"vinialbano","email":"vinialbano@gmail.com"},"repository":{"url":"git+https://github.com/vinialbano/passport-magic-link.git","type":"git"},"_npmVersion":"6.8.0","description":"Passport JS module for Magic Link authentication","directories":{},"lint-staged":{"*.js":["eslint --fix","git add","jest --bail --findRelatedTests"]},"_nodeVersion":"8.15.0","dependencies":{"jsonwebtoken":"^8.4.0","@babel/runtime":"^7.3.1","@babel/polyfill":"^7.0.0","passport-strategy":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","jest":"^24.1.0","husky":"^0.14.3","eslint":"^5.14.0","coveralls":"^3.0.2","@babel/cli":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-jest":"^23.4.2","@babel/core":"^7.0.0","lint-staged":"^7.3.0","@babel/preset-env":"^7.0.0","eslint-plugin-jest":"^21.27.2","eslint-plugin-node":"^7.0.1","eslint-plugin-import":"^2.16.0","eslint-plugin-promise":"^4.0.1","chai-passport-strategy":"^1.0.1","eslint-config-standard":"^11.0.0","eslint-plugin-standard":"^3.1.0","@babel/plugin-transform-runtime":"^7.0.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/passport-magic-link_1.1.0_1550506045736_0.3043602865757804","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"passport-magic-link","version":"1.1.1","keywords":["passport","magic","link","passwordless","encryption","timestamp","two","factor","authentication","2FA"],"author":{"name":"Vinicius Albano","email":"vinialbano@gmail.com"},"license":"MIT","_id":"passport-magic-link@1.1.1","maintainers":[{"name":"vinialbano","email":"vinialbano@gmail.com"}],"homepage":"https://github.com/vinialbano/passport-magic-link#readme","bugs":{"url":"https://github.com/vinialbano/passport-magic-link/issues"},"dist":{"shasum":"aa524baaa08942ee75b4e849d3d0d5fcb9c8a5ad","tarball":"https://registry.npmjs.org/passport-magic-link/-/passport-magic-link-1.1.1.tgz","fileCount":6,"integrity":"sha512-ad++5YqebUfgIR8ytamDf2Lgc3xA8S0Xh3qs2uCbOSUFuLZjb4/ReHSz8yDIj1r18CDvwBxnnAgi3j8L33ipIQ==","signatures":[{"sig":"MEUCIBEza0VSetbDoQGcT9L7Gazm/X0gK3woBb6nFMETbhlXAiEAzcVNmFQc/+fV+3Rj9f1CcnwrCH5xzNa3gmTdVfVZUYg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20433,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcaulSCRA9TVsSAnZWagAA3ZkP/0mAjQ+DdDoLc9EpOhpn\noyTtxxkZd2N9JhF764ZUEBdL98Eg5OMeByIJKr65gxKf5h7ntFyAs7EQ/yH1\nv52ZFILiDya18fuwOcC5JGrULcQusFLhLUbwBe2/MRcP1ybFYIttc9VdOBPZ\n9Nu2QLpsltng5DN4auo3QzCnU6wQLlsxW2vJLXos+dLPks2I7LuESB+FP0vi\n/hAoTwQTQqBgNB8iooT19rFmuQ2i+Z4Pk8PJlfgjLlMsgfwYixp3nGpYII5a\nltW3gDTxUfD0CeMSFiPgJsvpJt0LZSBWVbpew+iCSso2udg7BwoG/TyPqdBr\npXbtuaUvoP5k0czBhhn1nX6z2y0GE9d8Z16m24mZ5Htl2YozMMJ0TpJWSlug\nyYul41am4sGKNXVmTA7PhFvpuuz/Kd2uPbtbK9oPMp62TdXkHhuu6Vmsw1F4\nkbsw55F7WtGMWXQTrDrfdX0sYIVxIvg7m2L4U+frloYclVIYT3IwTGQ8IR7e\nh8IqAKGpkgd3GCcbxM5jyScWjKNvLdU9KHeSQuvRm5HBYleSgpsCKPB1KkyB\nYS5tHdF2gKrIuBVJBUDqgnnUqRCk49N3V1KvaAvK/S/5H7zBv7Rm4NkmX8bE\nLliMkeQoLyQA5zBje26pAQgeJ5YvMwGa85s2sNvY7IlXTvBVB37dPmpdFdlv\nL52B\r\n=pQMu\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"clearMocks":true,"collectCoverage":true,"coverageDirectory":"./coverage/","coverageReporters":["lcov"]},"main":"index.js","gitHead":"024dda52d4b01791b6380b5701220f95ce9ac77c","scripts":{"dev":"jest --watch","test":"jest","build":"babel src -d lib","coverage":"cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","precommit":"lint-staged","prepublish":"npm run build"},"_npmUser":{"name":"vinialbano","email":"vinialbano@gmail.com"},"repository":{"url":"git+https://github.com/vinialbano/passport-magic-link.git","type":"git"},"_npmVersion":"6.8.0","description":"Passport JS module for Magic Link authentication","directories":{},"lint-staged":{"*.js":["eslint --fix","git add","jest --bail --findRelatedTests"]},"_nodeVersion":"8.15.0","dependencies":{"jsonwebtoken":"^8.4.0","@babel/runtime":"^7.3.1","@babel/polyfill":"^7.0.0","passport-strategy":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","jest":"^24.1.0","husky":"^0.14.3","eslint":"^5.14.0","coveralls":"^3.0.2","@babel/cli":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-jest":"^23.4.2","@babel/core":"^7.0.0","lint-staged":"^7.3.0","@babel/preset-env":"^7.0.0","eslint-plugin-jest":"^21.27.2","eslint-plugin-node":"^7.0.1","eslint-plugin-import":"^2.16.0","eslint-plugin-promise":"^4.0.1","chai-passport-strategy":"^1.0.1","eslint-config-standard":"^11.0.0","eslint-plugin-standard":"^3.1.0","@babel/plugin-transform-runtime":"^7.0.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/passport-magic-link_1.1.1_1550510417528_0.16845666082248845","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"passport-magic-link","version":"1.1.2","keywords":["passport","magic","link","passwordless","encryption","timestamp","two","factor","authentication","2FA"],"author":{"name":"Vinicius Albano","email":"vinialbano@gmail.com"},"license":"MIT","_id":"passport-magic-link@1.1.2","maintainers":[{"name":"vinialbano","email":"vinialbano@gmail.com"}],"homepage":"https://github.com/vinialbano/passport-magic-link#readme","bugs":{"url":"https://github.com/vinialbano/passport-magic-link/issues"},"dist":{"shasum":"7f39b0139d0fe30c73bd9326fb5d27a5c09aa860","tarball":"https://registry.npmjs.org/passport-magic-link/-/passport-magic-link-1.1.2.tgz","fileCount":6,"integrity":"sha512-3+Cxp8xhvtEW4LqC8qUaINOtO9tI15Fe3auJOmOJ0gdKi9ft/C4P8LiPdfqJ7160cKvClr7BOW1zg0sUuQuCOw==","signatures":[{"sig":"MEQCIBbs7bcbqvlBxhlKTr36D9lARO3rBiDfxk9vGL0URCKRAiB5yMIImfwxeDc/EmYoiI62WAC3WNvjFslHdeqLz764dA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20433,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcvb8ECRA9TVsSAnZWagAAUwIP/0/b60hANg5CZzlrjaBQ\nBLqGfyCfMzJV/AosA8MfQyqplfshAmtjCESHOxjo8noVUNGSf8JnRUL1XwLp\nEy3whia68fJKD3d9W5GhvKl9ikRaiefu0T04rRPc8f3psJ/whKWUaV6MdTlI\nN38FS0neO2ow3EskPy5a1tY6dTwtJKYxHQ5MBpA2/1LfD2k+/gAI6D/5tL/q\nD3s5X6VxWtUEEyhZxdY9LEjdtLk75KpSS44BkJnJBf2RKncscHfgZ/a0FbSy\ngjXgO66CR0vb9erg8PCc/8l6co1aMTAX9EobSEENWnY5za9eToGpupMiirAq\nL0kP2JOJeGFESBs1+ItTwsNekJ424YIC2UB0Wzi+Tfmx76PFXLVB+peueiWt\nQf/QoRKYXToV51tW+0SchBSJRRL4nMX1CnGWj/9DhrCNhUIaJ6lXVlHbPACW\npMosUGFvs+1SJm1P232ixT6A6XKNxyzmnyVM+t2JBzlEnRgRBMRyJlk79jzc\nSenmmmgacDr0Bk9VPUZn9NxehPZnlByVuXbeIso9BFzG5CXyxRDn/mX52g/i\nBb7N6oNjZohLDRcM9/i3GoQkP1dgsdoSi9lct5nNoS3LNcau31smNjU3qGri\n39W3b/5iObmwGjXdqRi/ikE+kO0Z+4uJ9drWcmUZVL7bwwyZp0dZgA0ovb1c\nCgQe\r\n=UzX2\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"clearMocks":true,"collectCoverage":true,"coverageDirectory":"./coverage/","coverageReporters":["lcov"]},"main":"index.js","gitHead":"5957644693b9f0ab7e04c5bce0868e5a098f9a16","scripts":{"dev":"jest --watch","test":"jest","build":"babel src -d lib","coverage":"cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","precommit":"lint-staged","prepublish":"npm run build"},"_npmUser":{"name":"vinialbano","email":"vinialbano@gmail.com"},"repository":{"url":"git+https://github.com/vinialbano/passport-magic-link.git","type":"git"},"_npmVersion":"6.4.1","description":"Passport JS module for Magic Link authentication","directories":{},"lint-staged":{"*.js":["eslint --fix","git add","jest --bail --findRelatedTests"]},"_nodeVersion":"8.15.1","dependencies":{"jsonwebtoken":"^8.4.0","@babel/runtime":"^7.3.1","@babel/polyfill":"^7.0.0","passport-strategy":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","jest":"^24.1.0","husky":"^0.14.3","eslint":"^5.14.0","coveralls":"^3.0.2","@babel/cli":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-jest":"^23.4.2","@babel/core":"^7.0.0","lint-staged":"^7.3.0","@babel/preset-env":"^7.0.0","eslint-plugin-jest":"^21.27.2","eslint-plugin-node":"^7.0.1","eslint-plugin-import":"^2.16.0","eslint-plugin-promise":"^4.0.1","chai-passport-strategy":"^1.0.1","eslint-config-standard":"^11.0.0","eslint-plugin-standard":"^3.1.0","@babel/plugin-transform-runtime":"^7.0.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/passport-magic-link_1.1.2_1555939075998_0.5235169694853576","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"passport-magic-link","version":"2.0.0","keywords":["passport","magic","link","passwordless","encryption","timestamp","two","factor","authentication","2FA"],"author":{"name":"Vinicius Albano","email":"vinialbano@gmail.com"},"license":"MIT","_id":"passport-magic-link@2.0.0","maintainers":[{"name":"vinialbano","email":"vinialbano@gmail.com"}],"homepage":"https://github.com/vinialbano/passport-magic-link#readme","bugs":{"url":"https://github.com/vinialbano/passport-magic-link/issues"},"dist":{"shasum":"a89183adfd14e93957da030abb1e8ef779b26dc9","tarball":"https://registry.npmjs.org/passport-magic-link/-/passport-magic-link-2.0.0.tgz","fileCount":7,"integrity":"sha512-dUHisQszGJalPZjxoPVvOOYJucbYuvSnu9x7b12nDW2oKr7wK8lHKorB3vFV2LIruGbYNhCyaQZPC1XPGiTRow==","signatures":[{"sig":"MEUCIGyRLbwQlryrepCBCZ4LaWkmTnhcldma/7mzbZRLFk/WAiEAuGgA8D6gdBlQ7YxG10FhlIXxGhqvTeZXWt71XK5Bt8o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26152,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcvibTCRA9TVsSAnZWagAAkyUQAIo5PMTpKqB/M4wk/C5P\nR0eVu2owdCswTwjcIxoBmgQd25sGMCXUSFLqH8XVRHDp3tUmSXLyi+ererPY\njjsoWk3xg3zFiL6BOa9PEGsfNg+xRbNzsjjwgNV1aVxuHoy1dFrhycryqjF0\nQa3oCgoMG/WoInNbrkJy6LmD3u5GafoUyQUTUOwYSdgFLm46yJjZk8/Iawiz\nbTKfy9BOVG+3ZgPcaHn4C1RPCmXhzvKvl4bSHyv8YAyWf8BCzPZockO8IL/w\noYN4pcj8+801BdoZwsD/7Vhx/MA78E6d/vfuCQNEIefxHXZe2T1SSoNsML/N\nWw7NHgf+aRrCgPDIOUNqV5YYnVYFVVt+ieEJl6rwZVRWPVHU6P20mlIhjRJj\nqDJy+abzJV1gwmggeqSFdPuUDDV+ryA0pEYl9Xka58spWhJ+WBL48bQCOAfa\nUeDmI4U8MhzLBdr1C0JNHI/4TzfOSQPBMtnXV7vLYAfLi5EB4EZI0+m00RNX\nlBe+Z+3WJU2uVkQJD0f6BA12Pi5jIgsNBOXmVO6Q5upwZkWvu12SigGlucXy\nMUJXcJmiMFZblgh6jjzBoEmU/hf0Bxw4gFBl1HYVdKCxBgsgOOr6fjZb1muU\nBvmjYeE/9qthlhmKQC30CH/JOKtmEPUx5keFYfAojQUVHviDsY6D8noG1LCL\no6p+\r\n=HRqc\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"clearMocks":true,"collectCoverage":true,"coverageDirectory":"./coverage/","coverageReporters":["lcov"]},"main":"index.js","gitHead":"058393a5940f393f6e067bd49a15e8b532bc86ea","scripts":{"dev":"jest --watch","test":"jest","build":"babel src -d lib","coverage":"cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","precommit":"lint-staged","prepublish":"npm run build"},"_npmUser":{"name":"vinialbano","email":"vinialbano@gmail.com"},"repository":{"url":"git+https://github.com/vinialbano/passport-magic-link.git","type":"git"},"_npmVersion":"6.4.1","description":"Passport JS module for Magic Link authentication","directories":{},"lint-staged":{"*.js":["eslint --fix","git add","jest --bail --findRelatedTests"]},"_nodeVersion":"8.15.1","dependencies":{"jsonwebtoken":"^8.4.0","@babel/runtime":"^7.3.1","@babel/polyfill":"^7.0.0","passport-strategy":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","jest":"^24.1.0","husky":"^0.14.3","eslint":"^5.14.0","coveralls":"^3.0.2","@babel/cli":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-jest":"^23.4.2","@babel/core":"^7.0.0","lint-staged":"^7.3.0","@babel/preset-env":"^7.0.0","eslint-plugin-jest":"^21.27.2","eslint-plugin-node":"^7.0.1","eslint-plugin-import":"^2.16.0","eslint-plugin-promise":"^4.0.1","chai-passport-strategy":"^1.0.1","eslint-config-standard":"^11.0.0","eslint-plugin-standard":"^3.1.0","@babel/plugin-transform-runtime":"^7.0.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/passport-magic-link_2.0.0_1555965650591_0.4690677215860819","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"passport-magic-link","version":"2.1.0","keywords":["passport","magic","link","passwordless","encryption","timestamp","two","factor","authentication","2FA"],"author":{"name":"Vinicius Albano","email":"vinialbano@gmail.com"},"license":"MIT","_id":"passport-magic-link@2.1.0","maintainers":[{"name":"vinialbano","email":"vinialbano@gmail.com"}],"homepage":"https://github.com/vinialbano/passport-magic-link#readme","bugs":{"url":"https://github.com/vinialbano/passport-magic-link/issues"},"dist":{"shasum":"ee788f03db891d43c747d76d3f531e35c45000d9","tarball":"https://registry.npmjs.org/passport-magic-link/-/passport-magic-link-2.1.0.tgz","fileCount":7,"integrity":"sha512-NzToduaRS8Qj/hHK+LsFTvlRfFwb+f+jGkLshlJSuY3kIt+c3ChrXWK4Kr0p2MStD8qMtZ9otLWn1w35UwGKIQ==","signatures":[{"sig":"MEUCIHtj2vkqEJCAFZoY7zL+2JvxC59hXlP/8nG6mPSFs4CrAiEA03AX54zVZGcsHpwKCFGBbPwE33haX1Brnt0jkndTFjE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefk2UCRA9TVsSAnZWagAAKTIP/0xFHJJNIs3lb/g6RAoX\nA0Zmncd4XbuFiRDswYL7yRFd4xrqs10zc/U8iCFQ8o3tTdzLQpwm17jewCMT\nI8JAoaDUiPBcVLrIp/rjLnJGybLnWXwiTQlofQnRAYpm2bcfIqUgu/XTxgZM\nG2+z5qlpcj+yDeu4LrCWVcBCp/dj/ocMZozrvb6tHESQxVqze9xbO2YBeu7Q\ncxCWiH08lBNwm1a6IXu6WRh8Totk0zPV4Ji/ikyPYqYmsfc2Nx7aM8pPrGyg\n60NT9Rv7u9jpXpD2S5nBT61vDxZNcURiq9sh16AIksoFBRCOxUp99amQWk6o\nekLgpDJde78xru2o50o6RU2Yy07uobHutLVEFW474TDz1lF5nESNxBhyYipi\nMFmbA3ZBuD3tOwhaQw+72Lc4mLFXT5OS/w8ensZsB6NKZ4HfKOQwAtaSeBY4\n+b9se7Tc/jGk10LQRUTy4xUAz2UeSnfQgeXYp6UZC3XO5PugpzK0Kb4Znnhl\ntv1etsyhOMYeqVFL5f/gA2JVysgsLLVullbkd88UU2WFiNcRMl/mo6Ak8dtI\nLLZjr4DiT/nNxiy+apbtvIcXIXUSnZwm7KuWc62PoKOllRU6lSsZoCBNXjCa\nZtUTmS0z3ZQwmb9jtxcYXqfMod0M1/1TnzRYndjzohL4wYn8mxv8It7fwhhd\nWBmL\r\n=yE6Z\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"clearMocks":true,"collectCoverage":true,"coverageDirectory":"./coverage/","coverageReporters":["lcov"]},"main":"index.js","gitHead":"ca196374220ff614d4cedfd712b54e5dcbad3eef","scripts":{"dev":"jest --watch","test":"jest","build":"babel src -d lib","coverage":"cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","precommit":"lint-staged","prepublish":"npm run build"},"_npmUser":{"name":"vinialbano","email":"vinialbano@gmail.com"},"repository":{"url":"git+https://github.com/vinialbano/passport-magic-link.git","type":"git"},"_npmVersion":"6.13.4","description":"Passport JS module for Magic Link authentication","directories":{},"lint-staged":{"*.js":["eslint --fix","git add","jest --bail --findRelatedTests"]},"_nodeVersion":"13.5.0","dependencies":{"jsonwebtoken":"^8.4.0","@babel/runtime":"^7.3.1","@babel/polyfill":"^7.0.0","passport-strategy":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","jest":"^25.2.3","husky":"^0.14.3","eslint":"^5.14.0","coveralls":"^3.0.2","@babel/cli":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-jest":"^23.4.2","@babel/core":"^7.0.0","lint-staged":"^7.3.0","@babel/preset-env":"^7.0.0","eslint-plugin-jest":"^21.27.2","eslint-plugin-node":"^7.0.1","eslint-plugin-import":"^2.16.0","eslint-plugin-promise":"^4.0.1","chai-passport-strategy":"^1.0.1","eslint-config-standard":"^11.0.0","eslint-plugin-standard":"^3.1.0","@babel/plugin-transform-runtime":"^7.0.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/passport-magic-link_2.1.0_1585335700029_0.6742025856885878","host":"s3://npm-registry-packages"}},"2.1.1":{"name":"passport-magic-link","version":"2.1.1","keywords":["passport","magic","link","passwordless","encryption","timestamp","two","factor","authentication","2FA"],"author":{"name":"Vinicius Albano","email":"vinialbano@gmail.com"},"license":"MIT","_id":"passport-magic-link@2.1.1","maintainers":[{"name":"vinialbano","email":"vinialbano@gmail.com"},{"name":"tongbo","email":"tongbohuang@gmail.com"}],"homepage":"https://github.com/vinialbano/passport-magic-link#readme","bugs":{"url":"https://github.com/vinialbano/passport-magic-link/issues"},"dist":{"shasum":"2acd05fa2d8dafde71689bf75c3366c459b80e5e","tarball":"https://registry.npmjs.org/passport-magic-link/-/passport-magic-link-2.1.1.tgz","fileCount":7,"integrity":"sha512-6aeWKgxloQAyDJuupkuzs89DTNXQ0UGLJ6FWTHSxXCCrd7lQUEVoZNLGYZT72vMvs6oFESn1t5kO4iRGDGflhw==","signatures":[{"sig":"MEUCIQCZslHP32ltCxQxjSbLfaOTVwlG38TLOge8j3x48t1yRQIgdX8BKjGutugFIxwKco1K4T+MZRU86GBXpilq0qx/Hds=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27849},"jest":{"clearMocks":true,"collectCoverage":true,"coverageDirectory":"./coverage/","coverageReporters":["lcov"]},"main":"index.js","gitHead":"3d9710f60dd68c120aed1110caabbd3a0206c263","scripts":{"dev":"jest --watch","test":"jest","build":"babel src -d lib","coverage":"cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","precommit":"lint-staged","prepublish":"npm run build"},"_npmUser":{"name":"tongbo","email":"tongbohuang@gmail.com"},"repository":{"url":"git+https://github.com/vinialbano/passport-magic-link.git","type":"git"},"_npmVersion":"10.1.0","description":"Passport JS module for Magic Link authentication","directories":{},"lint-staged":{"*.js":["eslint --fix","git add","jest --bail --findRelatedTests"]},"_nodeVersion":"20.7.0","dependencies":{"jsonwebtoken":"^9.0.0","@babel/runtime":"^7.3.1","@babel/polyfill":"^7.0.0","passport-strategy":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","jest":"^25.2.3","husky":"^0.14.3","eslint":"^5.14.0","coveralls":"^3.0.2","@babel/cli":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-jest":"^29.4.3","@babel/core":"^7.0.0","lint-staged":"^7.3.0","@babel/preset-env":"^7.0.0","eslint-plugin-jest":"^21.27.2","eslint-plugin-node":"^7.0.1","eslint-plugin-import":"^2.16.0","eslint-plugin-promise":"^4.0.1","chai-passport-strategy":"^1.0.1","eslint-config-standard":"^11.0.0","eslint-plugin-standard":"^3.1.0","@babel/plugin-transform-runtime":"^7.0.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/passport-magic-link_2.1.1_1717528841576_0.5753431447660744","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"passport-magic-link","version":"3.0.0","keywords":["passport","magic","link","passwordless","encryption","timestamp","two","factor","authentication","2FA"],"author":{"name":"Vinicius Albano","email":"vinialbano@gmail.com"},"license":"MIT","_id":"passport-magic-link@3.0.0","maintainers":[{"name":"vinialbano","email":"vinialbano@gmail.com"},{"name":"tongbo","email":"tongbohuang@gmail.com"}],"homepage":"https://github.com/vinialbano/passport-magic-link#readme","bugs":{"url":"https://github.com/vinialbano/passport-magic-link/issues"},"dist":{"shasum":"345660c689ac3dac0a126791cb537e5541a6920d","tarball":"https://registry.npmjs.org/passport-magic-link/-/passport-magic-link-3.0.0.tgz","fileCount":36,"integrity":"sha512-Ptew1FFx6jB81ENsVT9fK+YXrlkH7PRHvGZoRcXk3UdWk6hq1dHA/n224QGP7t1JVjQkrbZAaAGbFmzzV/JPsQ==","signatures":[{"sig":"MEYCIQCk3QWyHW4aFQyYLFjZKDyfbs/GbQ8X+mxT9YvLCU2BtAIhAIK7gqM/Qw+uopoeR9HLhgAkONNbzsWPWq+vpIoj6yc1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/passport-magic-link@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":75297},"main":"index.cjs","type":"module","types":"lib/index.d.ts","module":"lib/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/esm/index.js","require":"./index.cjs"},"./lib/cjs":{"default":"./lib/cjs/index.js","require":"./lib/cjs/index.js"},"./lib/esm":{"import":"./lib/esm/index.js","default":"./lib/esm/index.js"},"./package.json":"./package.json"},"gitHead":"79ef264c321b6c9d648ea7a7fa4e5aa3fba95137","scripts":{"dev":"jest --watch --selectProjects unit","lint":"eslint \"src/**/*.ts\"","test":"jest","build":"rimraf lib && tsc && tsc -p tsconfig.cjs.json && node scripts/create-cjs-package.cjs","typecheck":"tsc --noEmit","prepublishOnly":"npm run lint && npm test && npm run build"},"_npmUser":{"name":"vinialbano","email":"vinialbano@gmail.com"},"repository":{"url":"git+https://github.com/vinialbano/passport-magic-link.git","type":"git"},"_npmVersion":"10.8.2","description":"Passport JS module for Magic Link authentication","directories":{},"lint-staged":{"*.{js,ts}":["prettier --write","eslint --fix"],"src/**/!(*.spec|*.test).ts":["jest --bail --findRelatedTests --passWithNoTests"]},"_nodeVersion":"20.19.5","dependencies":{"jsonwebtoken":"9.0.2","passport-strategy":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^6.2.0","jest":"^30.2.0","husky":"^9.1.7","tslib":"^2.8.1","eslint":"^9.37.0","rimraf":"^6.0.1","express":"^5.1.0","ts-jest":"^29.4.4","passport":"^0.7.0","prettier":"^3.6.2","supertest":"^7.1.4","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/chai":"^5.2.2","@types/jest":"^30.0.0","@types/node":"^24.6.2","lint-staged":"^16.2.3","@types/express":"^5.0.3","eslint-plugin-n":"^17.23.1","express-session":"^1.18.2","@types/supertest":"^6.0.3","typescript-eslint":"^8.45.0","eslint-plugin-jest":"^29.0.1","@types/jsonwebtoken":"^9.0.10","@types/express-session":"^1.18.2","chai-passport-strategy":"^3.0.0","@types/passport-strategy":"^0.2.38","@total-typescript/tsconfig":"^1.0.4"},"_npmOperationalInternal":{"tmp":"tmp/passport-magic-link_3.0.0_1761108192903_0.8191357131006456","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"passport-magic-link","version":"4.0.0","keywords":["passport","magic","link","passwordless","encryption","timestamp","two","factor","authentication","2FA"],"author":{"name":"Vinicius Albano","email":"vinialbano@gmail.com"},"license":"MIT","_id":"passport-magic-link@4.0.0","maintainers":[{"name":"vinialbano","email":"vinialbano@gmail.com"}],"homepage":"https://github.com/vinialbano/passport-magic-link#readme","bugs":{"url":"https://github.com/vinialbano/passport-magic-link/issues"},"dist":{"shasum":"e8617bde6f2fd7abde9df647009d8b1fb39acea4","tarball":"https://registry.npmjs.org/passport-magic-link/-/passport-magic-link-4.0.0.tgz","fileCount":16,"integrity":"sha512-mZHacc+PORiaRhpi0k7vLFGgNklWG+OEC3IKzfXNZdTuTYxNDPCZBLDKl81PBiEEPJCziHD+kJNBjs0H0kO97g==","signatures":[{"sig":"MEQCIHnI87JY+Lt56Yj38mr+s0urd9mDzBcAH/dhmZdxudp8AiBVZmLBeriygsXeMTue8AyEUc02bc2k32lCZ9BZOw30WA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/passport-magic-link@4.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":55005},"main":"./lib/index.cjs","type":"module","types":"./lib/index.d.ts","module":"./lib/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"import":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"require":{"types":"./lib/index.d.cts","default":"./lib/index.cjs"}},"./package.json":"./package.json"},"gitHead":"d967609aabc6ab5015353778b3afd06046dd5fbd","scripts":{"dev":"jest --watch --selectProjects unit","lint":"eslint \"src/**/*.ts\"","test":"jest","build":"tsup && tsc --emitDeclarationOnly && node scripts/dual-dts.mjs","typecheck":"tsc --noEmit","prepublishOnly":"npm run lint && npm test && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2fe21fe0-826f-46d1-9955-4b9d26f95f6f"}},"repository":{"url":"git+https://github.com/vinialbano/passport-magic-link.git","type":"git"},"_npmVersion":"11.12.1","description":"Passport JS module for Magic Link authentication","directories":{},"lint-staged":{"*.{js,ts}":["prettier --write","eslint --fix"],"src/**/!(*.spec|*.test).ts":["jest --bail --findRelatedTests --passWithNoTests"]},"_nodeVersion":"24.15.0","dependencies":{"jsonwebtoken":"9.0.3","passport-strategy":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^6.2.0","jest":"^30.2.0","jiti":"^2.6.1","tsup":"^8.5.1","husky":"^9.1.7","eslint":"^10.2.1","express":"^5.1.0","passport":"^0.7.0","prettier":"^3.6.2","@swc/core":"^1.15.30","@swc/jest":"^0.2.39","supertest":"^7.1.4","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/chai":"^5.2.2","@types/jest":"^30.0.0","@types/node":"^25.6.0","lint-staged":"^16.2.3","@types/express":"^5.0.3","eslint-plugin-n":"^17.23.1","express-session":"^1.18.2","@types/supertest":"^7.2.0","typescript-eslint":"^8.45.0","eslint-plugin-jest":"^29.0.1","@types/jsonwebtoken":"^9.0.10","@types/express-session":"^1.18.2","chai-passport-strategy":"^3.0.0","@types/passport-strategy":"^0.2.38","@total-typescript/tsconfig":"^1.0.4"},"_npmOperationalInternal":{"tmp":"tmp/passport-magic-link_4.0.0_1776799422200_0.9820193488602145","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"passport-magic-link","version":"4.1.0","description":"Passport JS module for Magic Link authentication","main":"./lib/index.cjs","module":"./lib/index.js","types":"./lib/index.d.ts","type":"module","exports":{".":{"import":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"require":{"types":"./lib/index.d.cts","default":"./lib/index.cjs"}},"./package.json":"./package.json"},"engines":{"node":">=22.0.0"},"scripts":{"build":"tsup && tsc --emitDeclarationOnly && node scripts/dual-dts.mjs","dev":"jest --watch --selectProjects unit","test":"jest","lint":"eslint \"src/**/*.ts\"","typecheck":"tsc --noEmit","prepublishOnly":"npm run lint && npm test && npm run build"},"lint-staged":{"*.{js,ts}":["prettier --write","eslint --fix"],"src/**/!(*.spec|*.test).ts":["jest --bail --findRelatedTests --passWithNoTests"]},"repository":{"type":"git","url":"git+https://github.com/vinialbano/passport-magic-link.git"},"keywords":["passport","magic","link","passwordless","encryption","timestamp","two","factor","authentication","2FA"],"author":{"name":"Vinicius Albano","email":"vinialbano@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/vinialbano/passport-magic-link/issues"},"homepage":"https://github.com/vinialbano/passport-magic-link#readme","devDependencies":{"@eslint/js":"^10.0.1","@swc/core":"^1.15.30","@swc/jest":"^0.2.39","@total-typescript/tsconfig":"^1.0.4","@types/chai":"^5.2.2","@types/express":"^5.0.3","@types/express-session":"^1.18.2","@types/jest":"^30.0.0","@types/jsonwebtoken":"^9.0.10","@types/node":"^25.6.0","@types/passport-strategy":"^0.2.38","@types/supertest":"^7.2.0","chai":"^6.2.0","chai-passport-strategy":"^3.0.0","eslint":"^10.2.1","eslint-plugin-jest":"^29.0.1","eslint-plugin-n":"^18.2.1","express":"^5.1.0","express-session":"^1.18.2","husky":"^9.1.7","jest":"^30.2.0","jiti":"^2.6.1","lint-staged":"^17.0.4","passport":"^0.7.0","prettier":"^3.6.2","supertest":"^7.1.4","tsup":"^8.5.1","typescript":"^6.0.3","typescript-eslint":"^8.45.0"},"dependencies":{"jsonwebtoken":"9.0.3","passport-strategy":"^1.0.0"},"gitHead":"e77fd09ceb4f84cd0e338d78d198780911e8fe1e","_id":"passport-magic-link@4.1.0","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-U32S5VyKwTFsBcPEQH70CjTrkqsWNIinF6rmZRMS6DRlAC350RfryFA0eXmz0kxaXa1NBl6LgsvOQduwIcwHrQ==","shasum":"930c952acd7ed325ad34f65079b897d0888c30d8","tarball":"https://registry.npmjs.org/passport-magic-link/-/passport-magic-link-4.1.0.tgz","fileCount":16,"unpackedSize":57304,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/passport-magic-link@4.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDYyGGP4n3a3BoiMpMmQ17X8xyLiM/ufu0wmCJWwknagQIgNzpwAPtx6st6i94zVBL5XKvQhHtdpAyI/gAyi0hS2oE="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2fe21fe0-826f-46d1-9955-4b9d26f95f6f"}},"directories":{},"maintainers":[{"name":"vinialbano","email":"vinialbano@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/passport-magic-link_4.1.0_1787742624636_0.46646045908179845"},"_hasShrinkwrap":false}},"time":{"created":"2018-08-31T18:26:37.128Z","modified":"2026-08-26T11:10:25.117Z","0.1.0":"2018-08-31T18:26:37.513Z","1.0.1":"2018-08-31T18:30:59.159Z","1.0.2":"2018-08-31T18:46:38.641Z","1.0.3":"2018-08-31T19:54:20.667Z","1.0.4":"2018-11-09T19:13:10.037Z","1.0.5":"2018-11-09T20:18:15.420Z","1.1.0":"2019-02-18T16:07:25.876Z","1.1.1":"2019-02-18T17:20:17.729Z","1.1.2":"2019-04-22T13:17:56.095Z","2.0.0":"2019-04-22T20:40:51.000Z","2.1.0":"2020-03-27T19:01:40.345Z","2.1.1":"2024-06-04T19:20:41.722Z","3.0.0":"2025-10-22T04:43:13.156Z","4.0.0":"2026-04-21T19:23:42.345Z","4.1.0":"2026-08-26T11:10:24.778Z"},"bugs":{"url":"https://github.com/vinialbano/passport-magic-link/issues"},"author":{"name":"Vinicius Albano","email":"vinialbano@gmail.com"},"license":"MIT","homepage":"https://github.com/vinialbano/passport-magic-link#readme","keywords":["passport","magic","link","passwordless","encryption","timestamp","two","factor","authentication","2FA"],"repository":{"type":"git","url":"git+https://github.com/vinialbano/passport-magic-link.git"},"description":"Passport JS module for Magic Link authentication","maintainers":[{"name":"vinialbano","email":"vinialbano@gmail.com"}],"readme":"# passport-magic-link\nMagic Link authentication for Passport JS\n\n[![Build Status](https://travis-ci.org/vinialbano/passport-magic-link.svg?branch=master)](https://travis-ci.org/vinialbano/passport-magic-link)\n[![Coverage Status](https://coveralls.io/repos/github/vinialbano/passport-magic-link/badge.svg?branch=master)](https://coveralls.io/github/vinialbano/passport-magic-link?branch=master)\n\n## Installation\n\n```bash\nnpm install passport-magic-link\n```\n\n## Usage\n\nThis package supports both CommonJS and ES Modules, and includes TypeScript definitions.\n\n### Configure Strategy\n\n  The MagicLinkStrategy constructor receives three parameters:\n\n  * `options`: A javascript object containing some configuration:\n    * `secret` String, used to sign tokens. Mandatory unless both `createToken` and `verifyToken` are provided\n    * `userFields`: An array of mandatory field names from the request query or body that are going to be used to create or retrieve the user.\n    * `tokenField`: The name of the field which contains the token in the request query or body.\n    * `ttl`: Optional integer, defaults to 10 minutes (in seconds). It's used to set the token expiration\n    * `passReqToCallbacks`: Optional boolean, defaults to false. If true, the request is passed to the `sendToken` and `verifyUser` functions.\n    * `verifyUserAfterToken`: Optional boolean, defaults to false. If true, the request data is passed to the token and the user is verified after the token confirmation.\n    * `storage`: Optional token storage instance. Defaults to MemoryStorage.\n    * `createToken`: Optional function to generate a JWT token, but if `secret` is not provided it must be provided together with `verifyToken`.\n    * `verifyToken`: Optional function to verify a JWT token, but if `secret` is not provided it must be provided together with `createToken`. It should return the decoded token payload, including an `exp` claim used for token reuse-prevention cleanup.\n  * `sendToken`: A function that is used to deliver the token to the user. You may use an email service, SMS or whatever method you want. It receives the user object, the token and optionally the request. It returns a promise indicating whether the token has been sent or not.\n  * `verifyUser`: A function that receives the request and returns a promise containing the user object. It may be used to insert and/or find the user in the database. It may be executed before the token creation or after the token confirmation.\n\n#### Examples\n\n**CommonJS:**\n```javascript\nconst { Strategy } = require('passport-magic-link')\n\npassport.use(new Strategy({\n   secret: 'my-secret',\n   userFields: ['name', 'email'],\n   tokenField: 'token'\n}, (user, token) => {\n   return MailService.sendMail({\n    to: user.email,\n    token\n   })\n}, (user) => {\n  return User.findOrCreate({email: user.email, name: user.name})\n}))\n```\n\n**ES Modules:**\n```javascript\nimport { Strategy } from 'passport-magic-link'\n\npassport.use(new Strategy({\n   secret: 'my-secret',\n   userFields: ['name', 'email'],\n   tokenField: 'token'\n}, (user, token) => {\n   return MailService.sendMail({\n    to: user.email,\n    token\n   })\n}, (user) => {\n  return User.findOrCreate({email: user.email, name: user.name})\n}))\n```\n\n**TypeScript:**\n```typescript\nimport { Strategy, MagicLinkStrategyOptions } from 'passport-magic-link'\nimport type { SendTokenFunction, VerifyUserFunction } from 'passport-magic-link'\n\nconst options: MagicLinkStrategyOptions = {\n   secret: 'my-secret',\n   userFields: ['name', 'email'],\n   tokenField: 'token'\n}\n\nconst sendToken: SendTokenFunction = async (user, token) => {\n   return MailService.sendMail({\n    to: user.email,\n    token\n   })\n}\n\nconst verifyUser: VerifyUserFunction = async (user) => {\n  return User.findOrCreate({email: user.email, name: user.name})\n}\n\npassport.use(new Strategy(options, sendToken, verifyUser))\n```\n   \n  \n### Authenticate Requests\n  \n  Use `passport.authenticate()`, specifying the `'magiclink'` strategy for two actions:\n  \n#### request token\n  In this situation the passport authenticate middleware will send a token produced by the user information, which is returned by the `verifyUser` function. The delivery system is not provided by default and must be placed in the `sendToken` function.\n  \n  ```javascript\n  app.post('/auth/magiclink',\n      passport.authenticate('magiclink', { action : 'requestToken' }),\n      (req, res) => res.redirect('/check-your-inbox')\n  )\n  ```\n  \n#### accept token\n  In this situation (the default) the passport authenticate middleware will check for a token. The token value is returned by the `verifyToken` function.\n  \n  ```javascript\n  app.get('/auth/magiclink/callback',\n    passport.authenticate('magiclink', { action : 'acceptToken' }),\n    (req, res) => res.redirect('/profile')\n  )\n  ```\n  \n  The options field can also receive some optional properties:\n  * `allowReuse`: A boolean indicating whether a token can be used more than once. Defaults to `false`.\n  * `userPrimaryKey`: A string containing the primary key of the user object. This is only used if the token cannot be reused. Defaults to `email`.\n  * `tokenAlreadyUsedMessage`: A string containing the error message if the token has already been used. Defaults to `Token was already used`.\n  * `tokenExpiredMessage`: A string containing the error message if the token has expired. Defaults to `Invalid token`.\n  * `tokenInvalidMessage`: A string containing the error message if the token is invalid. Defaults to `Invalid token`.\n  \n  ```javascript\n  app.get('/auth/magiclink/callback',\n    passport.authenticate('magiclink', {\n      action : 'acceptToken',\n      userPrimaryKey: 'id'\n     }),\n    (req, res) => res.redirect('/profile')\n  )\n  ```\n\n## TypeScript Support\n\nThis package includes comprehensive TypeScript definitions. Key types include:\n\n- `MagicLinkStrategyOptions`: Configuration options for the strategy\n- `SendTokenFunction` / `SendTokenFunctionWithRequest`: Function signatures for token delivery\n- `VerifyUserFunction` / `VerifyUserFunctionWithRequest`: Function signatures for user verification\n- `StorageInterface`: Interface for custom token storage implementations\n- `MagicLinkUser`: User object structure\n- `MagicLinkPayload`: JWT payload structure\n\n### Custom Storage Implementation\n\n```typescript\nimport { StorageInterface } from 'passport-magic-link'\n\nclass RedisStorage implements StorageInterface {\n  async set(key: string, value: any): Promise<void> {\n    // Redis implementation\n  }\n  \n  async get(key: string): Promise<any> {\n    // Redis implementation\n  }\n  \n  async delete(key: string): Promise<boolean> {\n    // Redis implementation\n  }\n}\n\nconst strategy = new Strategy({\n  secret: 'my-secret',\n  userFields: ['email'],\n  tokenField: 'token',\n  storage: new RedisStorage()\n}, sendToken, verifyUser)\n```\n\n## Module Formats\n\nThis package supports multiple import methods:\n\n```javascript\n// CommonJS\nconst { Strategy, MemoryStorage, lookup } = require('passport-magic-link')\n\n// ES Modules\nimport { Strategy, MemoryStorage, lookup } from 'passport-magic-link'\n\n// TypeScript\nimport { Strategy, MemoryStorage, lookup } from 'passport-magic-link'\nimport type { MagicLinkStrategyOptions } from 'passport-magic-link'\n```\n\n## Acknowledgements\n  \n  This module is forked and modified from [Nick Balestra's Passport Zero](https://github.com/nickbalestra/zero)\n","readmeFilename":"README.md"}