{"_id":"@an_average_coder/auth_package","_rev":"8-c8243c9f50a6bf90f647ff2158b38d16","name":"@an_average_coder/auth_package","description":"login and signup feature","dist-tags":{"latest":"1.1.3"},"versions":{"1.0.0":{"name":"@an_average_coder/auth_package","version":"1.0.0","author":{"name":"Biswajit Panda"},"license":"ISC","_id":"@an_average_coder/auth_package@1.0.0","maintainers":[{"name":"an_average_coder","email":"biswajitpanda552@gmail.com"}],"dist":{"shasum":"0eeeda50ebffe93a65106521bafb6a9d127b2373","tarball":"https://registry.npmjs.org/@an_average_coder/auth_package/-/auth_package-1.0.0.tgz","fileCount":8,"integrity":"sha512-/8liA/Nt0SYxf61j4wRdNwA/6ZNzAJrhhQe3Gg6Qma3z3zLSin+1Fx+lodYyd0eb8ZGbCetxUf4QH5Kbv+x1dw==","signatures":[{"sig":"MEQCIB0e74IvRQ5+8pG80dSpHzZY3zEaFYldPXPG5dRZcXZEAiB4UTMhMmSjya6vciP/6gicremx9SpxmCuHExH5Cp+mbA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5963},"main":"index.js","scripts":{"test":"npx jest"},"_npmUser":{"name":"an_average_coder","email":"biswajitpanda552@gmail.com"},"_npmVersion":"10.7.0","description":"login and signup feature","directories":{},"_nodeVersion":"20.11.1","dependencies":{"bcrypt":"^5.1.1","express":"^4.19.2","mongoose":"^8.4.0","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","supertest":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/auth_package_1.0.0_1716145872150_0.1690037559226767","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@an_average_coder/auth_package","version":"1.0.1","author":{"name":"Biswajit Panda"},"license":"ISC","_id":"@an_average_coder/auth_package@1.0.1","maintainers":[{"name":"an_average_coder","email":"biswajitpanda552@gmail.com"}],"dist":{"shasum":"81ef64e275b248f218598707039547c0211115b1","tarball":"https://registry.npmjs.org/@an_average_coder/auth_package/-/auth_package-1.0.1.tgz","fileCount":9,"integrity":"sha512-62CjGwLaIZdVzHW/QAbBMjz9RjRW5aWbUf/G7FwA+5a+pmsneyG5mAUNwoHeXyMEQ2GlosjTs1nJmQRYBO5IFA==","signatures":[{"sig":"MEUCIQDHQ9laywbuQyzwiHmIXPIm3XNDfzyqSvawquyZXqzDcwIgXd/bJRRqWLzVNeMSoBuQFBCCSsO6iEevyxhAAppfTpU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7829},"main":"index.js","gitHead":"8cddd62ad1447490b7ad96ec1cccdb9cab0af86b","scripts":{"test":"npx jest"},"_npmUser":{"name":"an_average_coder","email":"biswajitpanda552@gmail.com"},"_npmVersion":"10.7.0","description":"login and signup feature","directories":{},"_nodeVersion":"20.11.1","dependencies":{"bcrypt":"^5.1.1","express":"^4.19.2","mongoose":"^8.4.0","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","supertest":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/auth_package_1.0.1_1716147658900_0.7073509226306278","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@an_average_coder/auth_package","version":"1.0.2","author":{"name":"Biswajit Panda"},"license":"ISC","_id":"@an_average_coder/auth_package@1.0.2","maintainers":[{"name":"an_average_coder","email":"biswajitpanda552@gmail.com"}],"dist":{"shasum":"f667a2f3fa857dce79078a4c8eb5ca14f682d230","tarball":"https://registry.npmjs.org/@an_average_coder/auth_package/-/auth_package-1.0.2.tgz","fileCount":9,"integrity":"sha512-traXFVbej3bxNQIWCFqLz/cBMQu/Bl/3+XkyZgfAzDc6aaIRZBGOmQ/gK9sLppsUlESXWpSn95uL5CbhGsuo1Q==","signatures":[{"sig":"MEUCIQCeYz4ETH8iS5ChJyZxbGiiynpTEDzFuxjCB41iOxwIOgIgHVzUoNDzQ2QGBumwVTP+LFXcnWw7WYA568lFm5UsDe4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7833},"main":"src/index.js","gitHead":"8cddd62ad1447490b7ad96ec1cccdb9cab0af86b","scripts":{"test":"npx jest"},"_npmUser":{"name":"an_average_coder","email":"biswajitpanda552@gmail.com"},"_npmVersion":"10.8.0","description":"login and signup feature","directories":{},"_nodeVersion":"20.11.1","dependencies":{"bcrypt":"^5.1.1","express":"^4.19.2","mongoose":"^8.4.0","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","supertest":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/auth_package_1.0.2_1716569891436_0.6120586261094176","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@an_average_coder/auth_package","version":"1.0.3","author":{"name":"Biswajit Panda"},"license":"ISC","_id":"@an_average_coder/auth_package@1.0.3","maintainers":[{"name":"an_average_coder","email":"biswajitpanda552@gmail.com"}],"dist":{"shasum":"cbaa4c5a52f7429d619861eba4ea06cefb390bc6","tarball":"https://registry.npmjs.org/@an_average_coder/auth_package/-/auth_package-1.0.3.tgz","fileCount":10,"integrity":"sha512-iS4JVhBbnAV4Ljc4pjrbGlBBMR5hdhXBS/KxNy7v98AkdGFiW1MBlHWewmq3QLhJFLfDdBNWyNan67IUuzrKYg==","signatures":[{"sig":"MEYCIQDNUT3mjOga7zsYe9ppoBZ5GAWV//7v5bOoDKmlI3ARuQIhAO/fD+cx6Ey4dVpSRBOqwl0gqc+ffI9ON6y15Z1RnWvH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9030},"main":"src/index.js","gitHead":"9a37c22c985141f815f3039d87126e1f608dbbb9","scripts":{"test":"npx jest","release":"standard-version"},"_npmUser":{"name":"an_average_coder","email":"biswajitpanda552@gmail.com"},"_npmVersion":"10.8.0","description":"login and signup feature","directories":{},"_nodeVersion":"20.11.1","dependencies":{"bcrypt":"^5.1.1","express":"^4.19.2","mongoose":"^8.4.0","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","supertest":"^7.0.0","standard-version":"^9.5.0"},"_npmOperationalInternal":{"tmp":"tmp/auth_package_1.0.3_1716590024534_0.3666989078304079","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"@an_average_coder/auth_package","version":"1.0.4","author":{"name":"Biswajit Panda"},"license":"ISC","_id":"@an_average_coder/auth_package@1.0.4","maintainers":[{"name":"an_average_coder","email":"biswajitpanda552@gmail.com"}],"dist":{"shasum":"8cc245323949b17b8e72e91617be54756921c305","tarball":"https://registry.npmjs.org/@an_average_coder/auth_package/-/auth_package-1.0.4.tgz","fileCount":10,"integrity":"sha512-rG9Py67JrWO68eoiNwzlPVN9dypfv5ZVpKvfdPuAM7gQNVezDepu+nhJKk2m+Vt7TMzi0YXt+IwV74e3JtYJww==","signatures":[{"sig":"MEQCIDpR2P8Gv8krLVx9Ca5/TiSR78PbYQn7pzP3agXmtt/ZAiAxHYqw3sixs1iswrTvKZtu3xBcm9823l/MLyw7DiO5ow==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8998},"main":"src/index.js","gitHead":"4fbea2e8f835a255228c54dc038b43fdb73a53ef","scripts":{"test":"npx jest","release":"standard-version"},"_npmUser":{"name":"an_average_coder","email":"biswajitpanda552@gmail.com"},"_npmVersion":"10.8.0","description":"login and signup feature","directories":{},"_nodeVersion":"20.11.1","dependencies":{"bcrypt":"^5.1.1","express":"^4.19.2","mongoose":"^8.4.0","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","supertest":"^7.0.0","standard-version":"^9.5.0"},"_npmOperationalInternal":{"tmp":"tmp/auth_package_1.0.4_1716652210629_0.10055131329807243","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@an_average_coder/auth_package","version":"1.1.0","author":{"name":"Biswajit Panda"},"license":"ISC","_id":"@an_average_coder/auth_package@1.1.0","maintainers":[{"name":"an_average_coder","email":"biswajitpanda552@gmail.com"}],"homepage":"https://github.com/ReTXChintu/auth_package#readme","bugs":{"url":"https://github.com/ReTXChintu/auth_package/issues"},"dist":{"shasum":"2ec462fc07586f33b79dd76d5ed9ccf1953583df","tarball":"https://registry.npmjs.org/@an_average_coder/auth_package/-/auth_package-1.1.0.tgz","fileCount":11,"integrity":"sha512-WlOlknXpY79kzqi7h790121pSl9ow2kuDsbiC5N8ZimBy9QustOuM6LaDEMwGcvkcftfC6eOkv9cAqeIDcrFsw==","signatures":[{"sig":"MEUCIHP61lhN0GVHnAMhfgDoNCaqXeJVrH7MlSvj8Kp2XnZaAiEAvdugyKj8/Uokh0NTfnW6ry1lPGcRuBABBclR1UYT1gU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15709},"main":"src/index.js","gitHead":"5bd243bd30c07fb3a41655c704d2559b5fa52fb2","scripts":{"test":"npx jest","release":"standard-version --release-as minor"},"_npmUser":{"name":"an_average_coder","email":"biswajitpanda552@gmail.com"},"repository":{"url":"git+https://github.com/ReTXChintu/auth_package.git","type":"git"},"_npmVersion":"10.8.0","description":"login and signup feature","directories":{},"_nodeVersion":"20.11.1","dependencies":{"bcrypt":"^5.1.1","express":"^4.19.2","mongoose":"^8.4.0","jsonwebtoken":"^9.0.2","cookie-parser":"^1.4.6","api_response_formatter":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","supertest":"^7.0.0","standard-version":"^9.5.0"},"_npmOperationalInternal":{"tmp":"tmp/auth_package_1.1.0_1716672297945_0.4278072632840577","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"@an_average_coder/auth_package","version":"1.1.1","author":{"name":"Biswajit Panda"},"license":"ISC","_id":"@an_average_coder/auth_package@1.1.1","maintainers":[{"name":"an_average_coder","email":"biswajitpanda552@gmail.com"}],"homepage":"https://github.com/ReTXChintu/auth_package#readme","bugs":{"url":"https://github.com/ReTXChintu/auth_package/issues"},"dist":{"shasum":"0d0b4fbd8d0b7fde69c0f0d281462c3c51f56fdd","tarball":"https://registry.npmjs.org/@an_average_coder/auth_package/-/auth_package-1.1.1.tgz","fileCount":11,"integrity":"sha512-TOcq4u7z9pQql+NUj2RFNy53QieViSLB9kH+8GasRCdS6SAFKOr7BzMxNvAKlDvrjPBcm1lfEwQ9cM982VsFCw==","signatures":[{"sig":"MEUCICh2QMIvOuNnCWxr6Kpi0dVf2LTlOgENKDSbkm3MzpDHAiEAkvnHpqmAhipIm7kRQPL40Heu0BbSPyc+P9MheiN/vBE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15947},"main":"src/index.js","gitHead":"5065ad76ebbd1b5bb1081dc59858651345563cfe","scripts":{"test":"npx jest","release":"standard-version"},"_npmUser":{"name":"an_average_coder","email":"biswajitpanda552@gmail.com"},"repository":{"url":"git+https://github.com/ReTXChintu/auth_package.git","type":"git"},"_npmVersion":"10.8.0","description":"login and signup feature","directories":{},"_nodeVersion":"20.11.1","dependencies":{"bcrypt":"^5.1.1","express":"^4.19.2","mongoose":"^8.4.0","jsonwebtoken":"^9.0.2","cookie-parser":"^1.4.6","api_response_formatter":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","supertest":"^7.0.0","standard-version":"^9.5.0"},"_npmOperationalInternal":{"tmp":"tmp/auth_package_1.1.1_1716672726382_0.08855281721611341","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"@an_average_coder/auth_package","version":"1.1.2","author":{"name":"Biswajit Panda"},"license":"ISC","_id":"@an_average_coder/auth_package@1.1.2","maintainers":[{"name":"an_average_coder","email":"biswajitpanda552@gmail.com"}],"homepage":"https://github.com/ReTXChintu/auth_package#readme","bugs":{"url":"https://github.com/ReTXChintu/auth_package/issues"},"dist":{"shasum":"2482e3d363d0c9aa533f7fdea5166c264b0db08f","tarball":"https://registry.npmjs.org/@an_average_coder/auth_package/-/auth_package-1.1.2.tgz","fileCount":11,"integrity":"sha512-CsOL5rEsewFlHs5Q9teEl2zKls5+6GWcnlW6N+ySNKEDZ6eZEYSDoS01gPk99IJlk5Wf/gHAPr6euOoVjLOBng==","signatures":[{"sig":"MEUCIA6kkWj80BpsT666zlr+tQER5Q/JhKGVAdD6lv8293WrAiEAoWImnBo5RwxQd2xZYEqI6AgYsYFkdOj/I8Ny5XGaDMw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16117},"main":"src/index.js","gitHead":"9de116b0b8d6bd7bbcad0a4f1e7893d83bb13cf0","scripts":{"test":"npx jest","release":"standard-version"},"_npmUser":{"name":"an_average_coder","email":"biswajitpanda552@gmail.com"},"repository":{"url":"git+https://github.com/ReTXChintu/auth_package.git","type":"git"},"_npmVersion":"10.8.0","description":"login and signup feature","directories":{},"_nodeVersion":"20.11.1","dependencies":{"bcrypt":"^5.1.1","express":"^4.19.2","mongoose":"^8.4.0","jsonwebtoken":"^9.0.2","cookie-parser":"^1.4.6","api_response_formatter":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","supertest":"^7.0.0","standard-version":"^9.5.0"},"_npmOperationalInternal":{"tmp":"tmp/auth_package_1.1.2_1716675564482_0.26030478763286946","host":"s3://npm-registry-packages"}},"1.1.3":{"name":"@an_average_coder/auth_package","version":"1.1.3","description":"login and signup feature","main":"src/index.js","scripts":{"test":"npx jest","release":"standard-version"},"repository":{"type":"git","url":"git+https://github.com/ReTXChintu/auth_package.git"},"author":{"name":"Biswajit Panda"},"license":"ISC","dependencies":{"api_response_formatter":"^1.0.1","bcrypt":"^5.1.1","cookie-parser":"^1.4.6","express":"^4.19.2","jsonwebtoken":"^9.0.2","mongoose":"^8.4.0"},"devDependencies":{"jest":"^29.7.0","standard-version":"^9.5.0","supertest":"^7.0.0"},"_id":"@an_average_coder/auth_package@1.1.3","gitHead":"4da1e9b17e8b8f89dee187846a4b10b1403f0ec5","bugs":{"url":"https://github.com/ReTXChintu/auth_package/issues"},"homepage":"https://github.com/ReTXChintu/auth_package#readme","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-GJ65UFOL2gLz5rAPtx4c2fn/mjy7uR9+e5u+dZK+8pZ3IO6Ycuh20Spu6jj5A7Jznup+YzGiU+heiJVVdxhOjg==","shasum":"bff427b2f93c8a3e310503e2f348cbb44fe41bc2","tarball":"https://registry.npmjs.org/@an_average_coder/auth_package/-/auth_package-1.1.3.tgz","fileCount":11,"unpackedSize":17372,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDdAbtP9SiH5lvu7IL+M/5q4Dxbi7rYYnPiwBAJdCFUrAIhALwjlFKXVsxx7XAbfkmSMRN9qUjvJZjD50QTyQlH379u"}]},"_npmUser":{"name":"an_average_coder","email":"biswajitpanda552@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/auth_package_1.1.3_1719734428388_0.49821100476745417"},"_hasShrinkwrap":false}},"time":{"created":"2024-05-19T19:11:12.056Z","modified":"2024-06-30T08:00:28.698Z","1.0.0":"2024-05-19T19:11:12.317Z","1.0.1":"2024-05-19T19:40:59.090Z","1.0.2":"2024-05-24T16:58:11.585Z","1.0.3":"2024-05-24T22:33:44.775Z","1.0.4":"2024-05-25T15:50:10.847Z","1.1.0":"2024-05-25T21:24:58.094Z","1.1.1":"2024-05-25T21:32:06.559Z","1.1.2":"2024-05-25T22:19:24.642Z","1.1.3":"2024-06-30T08:00:28.548Z"},"maintainers":[{"name":"an_average_coder","email":"biswajitpanda552@gmail.com"}],"author":{"name":"Biswajit Panda"},"repository":{"type":"git","url":"git+https://github.com/ReTXChintu/auth_package.git"},"license":"ISC","homepage":"https://github.com/ReTXChintu/auth_package#readme","bugs":{"url":"https://github.com/ReTXChintu/auth_package/issues"},"readme":"# MERN Authentication System\r\n\r\nA flexible and dynamic authentication system for MERN stack applications. This package provides an easy-to-use solution for user signup and login, allowing you to define custom user fields and integrate with MongoDB seamlessly.\r\n\r\n## Features\r\n\r\n- User signup and login\r\n- Dynamic user schema\r\n- Secure password hashing\r\n- JSON Web Token (JWT) authentication\r\n- Easy integration with MongoDB\r\n\r\n## Installation\r\n\r\nnpm install @an_average_coder/auth_package\r\n\r\n## Configuration\r\n\r\n### Create a configs.json file to define your user schema fields:\r\n\r\n```bash\r\n{\r\n  \"userSchema\": {\r\n    \"firstName\": {\r\n      \"type\": \"String\",\r\n      \"required\": true,\r\n      \"minLength\": 1,\r\n      \"maxLength\": 50\r\n    },\r\n    \"middleName\": {\r\n      \"type\": \"String\",\r\n      \"required\": false,\r\n      \"minLength\": 1,\r\n      \"maxLength\": 50\r\n    },\r\n    \"lastName\": {\r\n      \"type\": \"String\",\r\n      \"required\": true,\r\n      \"minLength\": 1,\r\n      \"maxLength\": 50\r\n    },\r\n    \"email\": {\r\n      \"type\": \"String\",\r\n      \"required\": true,\r\n      \"minLength\": 1,\r\n      \"maxLength\": 50\r\n    },\r\n    \"password\": {\r\n      \"type\": \"String\",\r\n      \"required\": true,\r\n      \"minLength\": 1,\r\n      \"maxLength\": 50\r\n    },\r\n    \"username\": {\r\n      \"type\": \"String\",\r\n      \"required\": true,\r\n      \"minLength\": 1,\r\n      \"maxLength\": 50\r\n    },\r\n    \"name\": {\r\n      \"type\": \"String\",\r\n      \"required\": false,\r\n      \"minLength\": 1,\r\n      \"maxLength\": 50\r\n    }\r\n  },\r\n  \"saltRound\": 10,\r\n  \"cookieConfig\": {\r\n    \"httpOnly\": true\r\n  }\r\n}\r\n```\r\n\r\n### Set up environment variables in a .env file:\r\n\r\n```\r\n- MONGO_URI=your_mongo_db_uri\r\n- ACCESS_TOKEN_SECRET=\"your_secret\",\r\n- REFRESH_TOKEN_SECRET=\"your_refresh_token_secret\",\r\n- ACCESS_TOKEN_EXPIRY=\"1h\",\r\n- REFRESH_TOKEN_EXPIRY=\"7d\"\r\n```\r\n\r\n## Usage\r\n\r\nHere's an example of how to use this package in your MERN stack project:\r\n\r\n### Setup Express App\r\n\r\n```bash\r\nconst express = require('express');\r\nconst authSystem = require('@an_average_coder/auth_package');\r\nrequire('dotenv').config();\r\n\r\nconst app = express();\r\n\r\napp.use(express.json());\r\napp.use('/auth', authSystem);\r\n\r\nconst PORT = process.env.PORT || 3000;\r\n\r\napp.listen(PORT, () => {\r\nconsole.log(`Server is running on port ${PORT}`);\r\n});\r\n```\r\n\r\n### Signup\r\n\r\nSend a POST request to /auth/signup with the following JSON body:\r\n\r\n```bash\r\n{\r\n\"firstName\": \"Test\",\r\n\"lastName\", \"User\"\r\n\"username\": \"testuser\",\r\n\"password\": \"testpassword\",\r\n\"email\": \"test@example.com\",\r\n\"age\": 30\r\n}\r\n```\r\n\r\n### Login\r\n\r\nSend a POST request to /auth/login with the following JSON body:\r\n\r\n```bash\r\n{\r\n\"username\": \"testuser\",\r\n\"password\": \"testpassword\"\r\n}\r\n```\r\n\r\n### Protecting Routes using Middleware\r\n\r\n```bash\r\nconst express = require('express');\r\nconst authSystem = require('@an_average_coder/auth_package');\r\nconst { authMiddleware } = require('@an_average_coder/auth_package');\r\nrequire('dotenv').config();\r\n\r\nconst app = express();\r\n\r\napp.use(express.json());\r\napp.use('/auth', authSystem);\r\n\r\napp.get('/protected', authMiddleware, (req, res) => {\r\n    res.send('This is a protected route');\r\n});\r\n\r\nconst PORT = process.env.PORT || 3000;\r\n\r\napp.listen(PORT, () => {\r\n    console.log(`Server is running on port ${PORT}`);\r\n});\r\n\r\n```\r\n\r\n### Testing\r\n\r\nTo run tests, use the following command:\r\n\r\n```bash\r\n- npx jest\r\n```\r\n\r\n## Changelog\r\n\r\n- All notable changes to this project are documented in [Changelog](./CHANGELOG.md).\r\n","readmeFilename":"README.md"}