{"_id":"@3merge/express-auth-middleware","_rev":"6-7a0327b04a297f462a603e084230861d","name":"@3merge/express-auth-middleware","dist-tags":{"latest":"1.0.4"},"versions":{"1.0.0":{"name":"@3merge/express-auth-middleware","version":"1.0.0","description":"Authentication middleware for Express APIs","main":"dist/index.js","repository":{"type":"git","url":"https://github.com/3merge/express-auth-middleware.git"},"author":{"name":"Mike","email":"mibberson@3merge.ca"},"license":"MIT","scripts":{"build":"babel src -d dist --copy-files","test":"jest --collectCoverage --runInBand --detectOpenHandles","lint":"eslint \"src/**/*.js\" --fix"},"jest":{"verbose":true,"testEnvironment":"node","setupFilesAfterEnv":["<rootDir>/src/lib/jest.js"],"transform":{"^.+\\.jsx?$":"babel-jest"},"testPathIgnorePatterns":["/node_modules/","/dist/"],"coverageReporters":["json-summary","text","lcov"]},"dependencies":{"bcrypt":"^3.0.6","body-parser":"^1.19.0","connect":"^3.7.0","crypto":"^1.0.1","express":"^4.17.1","express-async-handler":"^1.1.4","flat":"^4.1.0","generate-password":"^1.4.2","jsonwebtoken":"^8.5.1","lodash":"^4.17.15","moment":"^2.24.0","mongoose":"^5.7.1","mongoose-paginate-v2":"^1.3.0","mongoose-unique-validator":"^2.0.3","request-context":"^2.0.0"},"devDependencies":{"@babel/cli":"^7.6.0","@babel/core":"^7.6.0","@babel/node":"^7.6.1","@babel/preset-env":"^7.6.0","babel-eslint":"^10.0.3","babel-jest":"^24.9.0","eslint":"^6.4.0","eslint-config-airbnb-base":"^14.0.0","eslint-config-node-3merge":"^1.0.1","eslint-config-prettier":"^6.3.0","eslint-plugin-import":"^2.18.2","eslint-plugin-jest":"^22.17.0","eslint-plugin-prettier":"^3.1.0","jest":"^24.9.0","mongodb-memory-server":"^5.2.3","nodemon":"^1.19.2","prettier":"1.18.2","supertest":"^4.0.2"},"_id":"@3merge/express-auth-middleware@1.0.0","dist":{"shasum":"be744392738f793006a1d6d47c167e4fa2ec9a70","integrity":"sha512-ov3G8tyZmhSRyywCZiabhEdk8GmB7F3xTgm9P6N9MODr5Nvtszx2rb6jxAg40w7gG8YQImUdIAxXqX9l+6m2pA==","tarball":"https://registry.npmjs.org/@3merge/express-auth-middleware/-/express-auth-middleware-1.0.0.tgz","fileCount":43,"unpackedSize":57540,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgjEoCRA9TVsSAnZWagAAO2wP/3aU3CGOPCh+/1lONQMH\nnoAsyu1mz1gFNDhhbqlOnyWzC4U+CzlNV70jFvvLRir/IloqVvLv04VqFsSS\nv8YyxE+8JO4Hb/SZs1/x1RyzjawgqFUnJyyXp1yG18pGsTrzeMclnf9HijpS\na/DmaxnaRppa2pEhMSr4HbsJamdvyByKHa+3Uj7A+dTuDGu44iaw7mOL1Nke\nqO29ggd3vD4k9saTWdT4VQhnV0i1aIMeDCMZT+SAGQp97rLgNjcY08Hvk+na\nvgfy17hOuyfFq6CHmNlb5mDRnFBrgeJSdwuYkRlDQ4wuCHTs11P6r66v//Tf\nCS44l3ZeN6Au9ihtfumrDmE1h6kpURn2vlz7B1lYxuQLRhuo8nRHuds/Co0c\nMup3PsKwxuiU21cr5Tqu5pX+dTM4yg2/+jt2v87TsbM9dv7elmR2vr3Ow13H\nwE2cbZmNC4epUZ+s0Yx2a/BmBT9jRq+d3X7D19lOkx8YblBzD5c1zrXnkmUQ\npcy5oIJbGa/uMqD66qf5bunTdq0NBZCzULqG2X3cMPDQgQqmdpiFgs4+vvoq\n8vLCvxfk93uWhJ1k6e+TNKt2jveWqHfsgpsFO40N2zU67sLM6YHMy85ZeBq1\nGXt1sMel9fg4AktjUEbG+RUGB6ZzGvaMRtpPymF4vM0pAZKqKifhSeWNRzfi\n/jlx\r\n=haTa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHJyRwMiVxCvg3qRMHAiYM6Sp8M5GkfLcC5txzi2Tc92AiEA4EkXJvAP4pwMV8Uz4cTf99NPt6a/fznKJTpn8y4Nw5k="}]},"maintainers":[{"name":"3merge","email":"mibberson@3merge.ca"}],"_npmUser":{"name":"3merge","email":"mibberson@3merge.ca"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-auth-middleware_1.0.0_1568813351747_0.8632325840140929"},"_hasShrinkwrap":false},"1.0.1":{"name":"@3merge/express-auth-middleware","version":"1.0.1","description":"Authentication middleware for Express APIs","main":"dist/index.js","repository":{"type":"git","url":"https://github.com/3merge/express-auth-middleware.git"},"author":{"name":"Mike","email":"mibberson@3merge.ca"},"license":"MIT","scripts":{"build":"babel src -d dist --copy-files","test":"jest --collectCoverage --runInBand --detectOpenHandles","lint":"eslint \"src/**/*.js\" --fix"},"jest":{"verbose":true,"testEnvironment":"node","setupFilesAfterEnv":["<rootDir>/src/lib/jest.js"],"transform":{"^.+\\.jsx?$":"babel-jest"},"testPathIgnorePatterns":["/node_modules/","/dist/"],"coverageReporters":["json-summary","text","lcov"]},"dependencies":{"bcrypt":"^3.0.6","body-parser":"^1.19.0","connect":"^3.7.0","crypto":"^1.0.1","express":"^4.17.1","express-async-handler":"^1.1.4","flat":"^4.1.0","generate-password":"^1.4.2","jsonwebtoken":"^8.5.1","lodash":"^4.17.15","moment":"^2.24.0","mongoose":"^5.7.1","mongoose-paginate-v2":"^1.3.0","mongoose-unique-validator":"^2.0.3","request-context":"^2.0.0"},"devDependencies":{"@babel/cli":"^7.6.0","@babel/core":"^7.6.0","@babel/node":"^7.6.1","@babel/preset-env":"^7.6.0","babel-eslint":"^10.0.3","babel-jest":"^24.9.0","eslint":"^6.4.0","eslint-config-airbnb-base":"^14.0.0","eslint-config-node-3merge":"^1.0.1","eslint-config-prettier":"^6.3.0","eslint-plugin-import":"^2.18.2","eslint-plugin-jest":"^22.17.0","eslint-plugin-prettier":"^3.1.0","jest":"^24.9.0","mongodb-memory-server":"^5.2.3","nodemon":"^1.19.2","prettier":"1.18.2","supertest":"^4.0.2"},"_id":"@3merge/express-auth-middleware@1.0.1","dist":{"shasum":"0e089450b092b50196d6a13e67f2f5bad1ce9eb7","integrity":"sha512-suo/kZObrVwoYqc5rgMblD5vICnkutuYCJILJtootrHcwCMZMCl0JW+q4qiMU6vm/HRATZ0y4TEJvu19qWjGNQ==","tarball":"https://registry.npmjs.org/@3merge/express-auth-middleware/-/express-auth-middleware-1.0.1.tgz","fileCount":43,"unpackedSize":57435,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgjH3CRA9TVsSAnZWagAAdPsQAI4F4G8nnxgOhZXxgn3b\nxnUIvxfN3SzjVHzfRiBSWJSyxHrXjg0HJuRTCVwZfR0BB8VX5S3U3a6mGlTG\nF+Q0KTMzVISeAjZIUWMSKNACvmIcleg78L7hJA7CXILJFmnL4Rb9QrBuCfQ1\nZQpFoZKbSq9LcfT6iJqXWjPdsadi23vJLavqeKV+7LUSf7ieqhRALGDR4tEJ\nCdvPpuM9mDPMEoWL9ST90lPctCAV5+u7TelumOHwW4TC3yKnGrY/zjhEpLsm\nsHZ97PiCxUe+GDt/3T1J4QrYUm8l/ShJvtp59nK5ieXavBYDpqegjy9mfNq6\nD7eePt2whG5dAptw1ESof7j1Sb42IkUYq0ryn/oc1/Iqlw1j/OV+CN/SppRb\nSLwy5b4UTePkMt1UEjxWXFj/hGFjJQyKVRiu+Vdbf66n0WLoPhhqdvx6+X7v\nMkQ2a7dYVFUI9qle2HeatmqYP58pSNJxswQ8Sy7bjLCLXmrzwhXk9oQBTmJm\nRWzJj/ZBGe7LpspoFpAldI89ooBb6djLU0Ce2feCnRhIXkAuFHvJUeZfatRb\nAqjPda2WzTuP5KzM6/OCkLgfTiPu6sEKuqgF5ZLK6+eSqzrdwCWSc46N2UlS\nACS2Ae2IWbC/3o01YcEnEQShSREzTRCc640caSPiTIEDJi2qjVTP5wHLIbCD\njbNq\r\n=aUKm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDz8Rb/OXtK95dyHw4Gy15i0lPVg+asnwaaPrSFnC3/3wIhAJb5L57cRAnMC3EDzv1Vy8eK2qmD9t9iVHAGAjszU4C2"}]},"maintainers":[{"name":"3merge","email":"mibberson@3merge.ca"}],"_npmUser":{"name":"3merge","email":"mibberson@3merge.ca"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-auth-middleware_1.0.1_1568813558101_0.8533986085741734"},"_hasShrinkwrap":false},"1.0.2":{"name":"@3merge/express-auth-middleware","version":"1.0.2","description":"Authentication middleware for Express APIs","main":"dist/index.js","repository":{"type":"git","url":"https://github.com/3merge/express-auth-middleware.git"},"author":{"name":"Mike","email":"mibberson@3merge.ca"},"license":"MIT","scripts":{"build":"babel src -d dist --copy-files","test":"jest --collectCoverage --runInBand --detectOpenHandles","lint":"eslint \"src/**/*.js\" --fix"},"jest":{"verbose":true,"testEnvironment":"node","setupFilesAfterEnv":["<rootDir>/src/lib/jest.js"],"transform":{"^.+\\.jsx?$":"babel-jest"},"testPathIgnorePatterns":["/node_modules/","/dist/"],"coverageReporters":["json-summary","text","lcov"]},"dependencies":{"bcrypt":"^3.0.6","body-parser":"^1.19.0","connect":"^3.7.0","crypto":"^1.0.1","express":"^4.17.1","express-async-handler":"^1.1.4","flat":"^4.1.0","generate-password":"^1.4.2","jsonwebtoken":"^8.5.1","lodash":"^4.17.15","moment":"^2.24.0","mongoose":"^5.7.1","mongoose-paginate-v2":"^1.3.0","mongoose-unique-validator":"^2.0.3","request-context":"^2.0.0"},"devDependencies":{"@babel/cli":"^7.6.0","@babel/core":"^7.6.0","@babel/node":"^7.6.1","@babel/preset-env":"^7.6.0","babel-eslint":"^10.0.3","babel-jest":"^24.9.0","eslint":"^6.4.0","eslint-config-airbnb-base":"^14.0.0","eslint-config-node-3merge":"^1.0.1","eslint-config-prettier":"^6.3.0","eslint-plugin-import":"^2.18.2","eslint-plugin-jest":"^22.17.0","eslint-plugin-prettier":"^3.1.0","jest":"^24.9.0","mongodb-memory-server":"^5.2.3","nodemon":"^1.19.2","prettier":"1.18.2","supertest":"^4.0.2"},"_id":"@3merge/express-auth-middleware@1.0.2","dist":{"shasum":"c7c1c011c3980dac7428fe2ddff7e58b489e2ae0","integrity":"sha512-QEcBSSI/JTqO8wpu0ZVensGtbPFbhxHjH3BmBHVa1GC4t32pLm9FTv05n0+K9qkznhBd4Jn1dJML2PXasWMftw==","tarball":"https://registry.npmjs.org/@3merge/express-auth-middleware/-/express-auth-middleware-1.0.2.tgz","fileCount":43,"unpackedSize":57642,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgjRmCRA9TVsSAnZWagAAXDQP/37AoRHx6FG4oCIyzIcQ\nWUTqy2j4SCXriSmIerFDk0DHQ98TQpdtP74IjCdnz3lcPM4f+u1hh/T4lnPr\nyhLMVWOdIirRe2BU7LqL1J3vCoSfHf908aeJRlI4gSfhG6fPAGPlwjKmXACJ\nlKbqifHgbEbFCyShaHRC/kMpwsxi+Uh6QmiwXH66VgtAyD4zFvn30dpmDJjQ\nwBDQaflOxvZ69BWkdhconKUJdvzhWJjt0t2bQm/r+VROoRLUCuJpx6bIwyVA\nYH+Zha6jLr4vFoyzShzVmFyLqL35CynBsCHHYcptZ9O+D6yvtTYhUWz3MDPE\nOxdixLfV6eBcj7cml0L9wscH/nw/oCr2mza9ecSXJ2PnqDnL5NZmNhlsX+Co\nSg6CPzUR4VOGY18DLBGpmj5RL5WusNG9tAEbSPrM3RGbh7eIOW6sHGTk77Qw\nl+bT8XY0LTf3J+qC7X1CszIXjcFuUsYrpBPAnii1NTHL6Yj6+oN501S8CR4l\nSLQtTqWCz8u27Ckn6SEz0WbB6xQZZtLQdMS431V1TXfoD58P5vl64hjG+Qus\nfIYDsAwqJwzjRpDvhDmw3s4Y46nrYP5s8LHDWqncLpWCBJbj3Mvn3zNPsi5Z\nWFx4jTheAzIisPZisnjyLhVTylWSHxaXjCREm3h1EMxGLEgYMPx030yoW8Ma\noArl\r\n=YAcB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIErKJFcNXQxhEDmh/IiVcXlv4PvrmCMgiLoRvyI7wAfSAiBg2TyajPftI70WfEcXBosstCBSpuW6oAsy8J9mgZ4PYg=="}]},"maintainers":[{"name":"3merge","email":"mibberson@3merge.ca"}],"_npmUser":{"name":"3merge","email":"mibberson@3merge.ca"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-auth-middleware_1.0.2_1568814181977_0.5734191010358187"},"_hasShrinkwrap":false},"1.0.3":{"name":"@3merge/express-auth-middleware","version":"1.0.3","description":"Authentication middleware for Express APIs","main":"dist/index.js","repository":{"type":"git","url":"https://github.com/3merge/express-auth-middleware.git"},"author":{"name":"Mike","email":"mibberson@3merge.ca"},"license":"MIT","scripts":{"develop":"nodemon example --exec babel-node -r ./example/dotenv.js","build":"babel src -d dist --copy-files","test":"jest --collectCoverage --runInBand --detectOpenHandles","lint":"eslint \"src/**/*.js\" --fix"},"jest":{"verbose":true,"testEnvironment":"node","setupFilesAfterEnv":["<rootDir>/src/lib/jest.js"],"transform":{"^.+\\.jsx?$":"babel-jest"},"testPathIgnorePatterns":["/node_modules/","/dist/"],"coverageReporters":["json-summary","text","lcov"]},"dependencies":{"bcrypt":"^3.0.6","body-parser":"^1.19.0","connect":"^3.7.0","crypto":"^1.0.1","dotenv":"^8.1.0","express":"^4.17.1","express-async-handler":"^1.1.4","flat":"^4.1.0","generate-password":"^1.4.2","jsonwebtoken":"^8.5.1","lodash":"^4.17.15","moment":"^2.24.0","mongoose":"^5.7.1","mongoose-paginate-v2":"^1.3.0","mongoose-unique-validator":"^2.0.3","request-context":"^2.0.0"},"devDependencies":{"@babel/cli":"^7.6.0","@babel/core":"^7.6.0","@babel/node":"^7.6.1","@babel/preset-env":"^7.6.0","babel-eslint":"^10.0.3","babel-jest":"^24.9.0","eslint":"^6.4.0","eslint-config-airbnb-base":"^14.0.0","eslint-config-node-3merge":"^1.0.1","eslint-config-prettier":"^6.3.0","eslint-plugin-import":"^2.18.2","eslint-plugin-jest":"^22.17.0","eslint-plugin-prettier":"^3.1.0","jest":"^24.9.0","mongodb-memory-server":"^5.2.3","nodemon":"^1.19.2","prettier":"1.18.2","supertest":"^4.0.2"},"_id":"@3merge/express-auth-middleware@1.0.3","dist":{"shasum":"2ad122c8e5442f1049486a8318bb2bbcee280073","integrity":"sha512-Agn/Cu0JiARaHqEKV/hrc/CidZZUgZ2xrPjpJ85GaMBgCCWffUJTdtE6LdUrVRKQdpisgt9XdrAg9UXlmcjIkg==","tarball":"https://registry.npmjs.org/@3merge/express-auth-middleware/-/express-auth-middleware-1.0.3.tgz","fileCount":47,"unpackedSize":60244,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdglOOCRA9TVsSAnZWagAAlsEQAIvThXcu37XGL2D4TUJr\ntP/wv+nb+HQArIbkAOYSmBEJAwXXpfq25HhERNOlJw5Eo2G8372k7eiy3S3U\n0jfEvGxxRzEBR2RsGBF4pN/2WOsA9C+BNisyJq7GgkhHEH0mhl2cZgx4zf2U\ndbLiyDsnNPs7eD3pKoBr8xUmaFREZfu/K/RgueMrbQW9MXp6lzRuI5ZYqAns\nrzlqZBfhE90sEal1IJSk0MpApoj7I8y6kWWONWzhcy5xpgxBzqsNJdYFDsMl\nt06EMSYgLtCoOihi4utJ1RhTvM7gKDKc7CpeGtBfXbcC2DuzilsS98Wnbhjs\nvj8RaQUOZuQQQKnJo40kgyDzIX1Nr5sRN8e3EaCy8OnehMnnrG+GviEpbyYx\no1ebUwrFE/zQ4Peg9URVvcQuRhRqh9ZhCiNkDReayrQ+dFV7zDgB1hdZ3eUp\n8ev5ZHYlBFZn7o8z+U2TkvZlPr0x7UxNdY+nLSFUClKVhwX/StKMk2mh7pcM\na29w7ELDD6AtLuvP4YDtYd0Vy7nvk7x+FXRctQkGcOCwSoW4vxXcDo7CKcRx\nKlgK5cSi6UY+MKeId30Qon8dTt3jH+1oBdDW6z9+9fNNAjeXnx0GvpY+Bjdm\nF00lPRTMorzdItn2tf4BsSjn/v9HWpKNGId77SaJ5AJMq7u+XYc7t04kRuqm\natWv\r\n=r6zn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBBQutUuespue1CcIcwKC+kGTGmJuIGXCQSAK8zPHzURAiB4Ah+TVVwz46W8UsZuqol9+y7KVrD/TXPtuC321uECjA=="}]},"maintainers":[{"name":"3merge","email":"mibberson@3merge.ca"}],"_npmUser":{"name":"3merge","email":"mibberson@3merge.ca"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-auth-middleware_1.0.3_1568822157735_0.632089641364199"},"_hasShrinkwrap":false},"1.0.4":{"name":"@3merge/express-auth-middleware","version":"1.0.4","description":"Authentication middleware for Express APIs","main":"dist/index.js","repository":{"type":"git","url":"https://github.com/3merge/express-auth-middleware.git"},"author":{"name":"Mike","email":"mibberson@3merge.ca"},"license":"MIT","scripts":{"develop":"nodemon example --exec babel-node -r ./example/dotenv.js","build":"babel src -d dist --copy-files","test":"jest --collectCoverage --runInBand --detectOpenHandles","lint":"eslint \"src/**/*.js\" --fix"},"jest":{"verbose":true,"testEnvironment":"node","setupFilesAfterEnv":["<rootDir>/src/lib/jest.js"],"transform":{"^.+\\.jsx?$":"babel-jest"},"testPathIgnorePatterns":["/node_modules/","/dist/"],"coverageReporters":["json-summary","text","lcov"]},"dependencies":{"bcrypt":"^3.0.6","body-parser":"^1.19.0","connect":"^3.7.0","crypto":"^1.0.1","dotenv":"^8.1.0","express":"^4.17.1","express-async-handler":"^1.1.4","flat":"^4.1.0","generate-password":"^1.4.2","jsonwebtoken":"^8.5.1","lodash":"^4.17.15","moment":"^2.24.0","mongoose":"^5.7.1","mongoose-paginate-v2":"^1.3.0","mongoose-unique-validator":"^2.0.3","request-context":"^2.0.0"},"devDependencies":{"@babel/cli":"^7.6.0","@babel/core":"^7.6.0","@babel/node":"^7.6.1","@babel/preset-env":"^7.6.0","babel-eslint":"^10.0.3","babel-jest":"^24.9.0","eslint":"^6.4.0","eslint-config-airbnb-base":"^14.0.0","eslint-config-node-3merge":"^1.0.1","eslint-config-prettier":"^6.3.0","eslint-plugin-import":"^2.18.2","eslint-plugin-jest":"^22.17.0","eslint-plugin-prettier":"^3.1.0","jest":"^24.9.0","mongodb-memory-server":"^5.2.3","nodemon":"^1.19.2","prettier":"1.18.2","supertest":"^4.0.2"},"_id":"@3merge/express-auth-middleware@1.0.4","dist":{"shasum":"70a3667909eac0f4836221ba6d41f8f6873023e5","integrity":"sha512-MfIJhpwo4fF6YkIRFXxV4906Df49NzzJ4KwnOZzLu+SwI75MJt/Vaz0mgQh3NnQvMohv4ALkH53YT1+AyeCA0Q==","tarball":"https://registry.npmjs.org/@3merge/express-auth-middleware/-/express-auth-middleware-1.0.4.tgz","fileCount":49,"unpackedSize":60299,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgnfPCRA9TVsSAnZWagAAPwEQAID71Js6Se12wYjrkSMo\nMUKFjCWjlEQRJTkOyDUc9H3BudphegowKnL2G5LfqBsNrWhCK2YMRvhVLIWQ\nXApTrhG9/SKZ3PiXjhLabxSe5c933Tmdvj8o5j/2cFMof/q8GVv35+60YNor\nRoizO5DoSDRWsj/eZmZCGyfwEZ3snS9Uv6YJXlGaJcysxTCaHJjURR3PVt1h\nNkwEoByotXh7yYpkdGEoZcm5FrPLFGBKpQ4Hkrw4agkvRHBoGBfnZmdEjMp4\nnEi9JIMtRkZzWlAGYBGCCvJcQmQDMdlKI9722Gdn5e2kt1g01Kdr4rYKiLSm\nfn07c0IXgeoHOuNLYXMxy4S12e55yE8Wk+4pdTTpQQbnrSOjVfDWPbybYDHP\nNfZQLBy4I2VBbAqa6nI721J+KpxrUbEFin7BBXfneby7/XSJ23DpXkZiMOrJ\n0I0tncsOemOKgXaPBzFnlYmhrP46wM1+dEzC2F4Eo6kWBVTWm1P/+HHv3iDD\n0PoC5+yq3WjNh585ybAHOlaQSRfeXw4I8FOIOejS8VtTwGOJ17mworEVhAYW\nvOjXBJgMGkuUoa2XVkl62wFGi9fxMmEY7Oo0I8eQltip1dSg9LECtjjHcY3W\ngBHJzHrs9H829kLI3iLpobODAWpevT2uQfaWdTLidY9Zyzhomm3TvzeXncsl\nRvbN\r\n=AYTi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHX4v9dfZMpAtyw1PuVJrGzIFgG/NYnlnIWCb+z3jnqjAiBd2UzmizY+yi+SsTgBIWN6ywcpJyd2o43xIA8+JIs/8g=="}]},"maintainers":[{"name":"3merge","email":"mibberson@3merge.ca"}],"_npmUser":{"name":"3merge","email":"mibberson@3merge.ca"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-auth-middleware_1.0.4_1568831439184_0.6156536551254701"},"_hasShrinkwrap":false,"deprecated":"Now a core module of q3-api"}},"time":{"created":"2019-09-18T13:29:11.520Z","1.0.0":"2019-09-18T13:29:11.892Z","modified":"2022-04-04T10:45:11.400Z","1.0.1":"2019-09-18T13:32:38.393Z","1.0.2":"2019-09-18T13:43:02.105Z","1.0.3":"2019-09-18T15:55:57.875Z","1.0.4":"2019-09-18T18:30:39.303Z"},"maintainers":[{"name":"3merge","email":"mibberson@3merge.ca"}],"description":"Authentication middleware for Express APIs","repository":{"type":"git","url":"https://github.com/3merge/express-auth-middleware.git"},"author":{"name":"Mike","email":"mibberson@3merge.ca"},"license":"MIT","readme":"# Authentication middleware\n\n__Work in progress!__\n\n## The user model\n\nDiscriminating the user model, the preferred approach, assigns a `kind` property to all documents. I recommend using the decorator functions in this module to get/set properties in the base as well.\n\n### Schema\n\n| Property      | Type       | Description                                                                                  | Default |\n| ------------- | ---------- | -------------------------------------------------------------------------------------------- | ------- |\n| active        | `boolean`  | System-generated to keep track of \"deleted\" users                                            | `true`  |\n| email*        | `string`   | Self-explanatory                                                                             | `null`  |\n| firstName*    | `string`   | Self-explanatory                                                                             | `null`  |\n| frozen        | `boolean`  | Somewhat of an alias for active, only setting it does not affect other properties            | `false` |\n| lang          | `string`   | The preferred locale (`en-CA` or `fr-CA`).                                                   | `en-CA` |\n| lastName*     | `string`   | Self-explanatory                                                                             | `null`  |\n| loginAttempts | `number`   | Used to block excessive login attempts (< 5)                                                 | `0`     |\n| password      | `password` | Used to authenticate                                                                         | `null`  |\n| secret*       | `string`   | Used to read and write JWT tokens. Nullifying this would destroy all active sessions         | `null`  |\n| verified      | `boolean`  | Represents the validity of an email address. Login attempts are blocked without verification | `false` |\n\n### Methods\n\n| Name                                        | Description                                                                      | Return    |\n| ------------------------------------------- | -------------------------------------------------------------------------------- | --------- |\n| `await Model.findByEmail(string)`           | Lookup active users by email address                                             | `object`  |\n| `await Model.findUnverifiedByEmail(string)` | Lookup unverified users by email                                                 | `object`  |\n| `await Model.findVerifiedByEmail(string)`   | Lookup verified users by email                                                   | `object`  |\n| `await Model.findVerifiedById(string)`      | Lookup verified users by id                                                      | `object`  |\n| `await doc.setSecret()`                     | Generate secret token                                                            | `object`  |\n| `await doc.verifyPassword(string, boolean)` | Compare string against stored password. Throws error if second parameter is true | `boolean` |\n| `await doc.deactivate()`                    | Deletes a user for most intents-and-purposes                                     | `object`  |\n| `doc.isBlocked`                             | Is the user allowed to login?                                                    | `boolean` |\n| `doc.hasExpired`                            | Has more than 24 hours elapsed since requesting verification?                    | `boolean` |\n| `doc.isPermitted`                           | Does the user have all the necessary properties to login?                        | `boolean` |\n","readmeFilename":"README.md"}