{"_id":"@a11n-io/react-use-oauth2","_rev":"9-a25c26ce59029f3422a313138ef4b5f2","name":"@a11n-io/react-use-oauth2","dist-tags":{"latest":"1.0.21"},"versions":{"1.0.12":{"name":"@a11n-io/react-use-oauth2","author":{"name":"Tasos Kakouris","email":"tasoskakour@gmail.com"},"keywords":["react","hooks","typescript","nodejs","oauth2"],"version":"1.0.12","description":"A React hook that handles OAuth2 authorization flow.","license":"MIT","homepage":"https://github.com/tasoskakour/react-use-oauth2#readme","bugs":{"url":"https://github.com/tasoskakour/react-use-oauth2/issues"},"repository":{"type":"git","url":"git+https://github.com/a11n-io/react-use-oauth2.git"},"main":"dist/cjs/index.js","module":"dist/esm/index.js","dependencies":{"use-local-storage-state":"^18.1.0"},"scripts":{"build":"rollup -c","example":"rollup -c rollup.config.example.js -w","test":"NODE_ENV=test npm run lint && start-server-and-test example \"3000|3001\" jest","lint":"eslint . --cache","prepare":"husky install"},"browserslist":{"production":[">1%","not dead","not op_mini all","not ie > 0","not ie_mob > 0"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"peerDependencies":{"react":"^18.2.0"},"devDependencies":{"@babel/core":"^7.18.9","@babel/plugin-transform-runtime":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@rollup/plugin-commonjs":"^22.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.3.0","@rollup/plugin-replace":"^4.0.0","@rollup/plugin-run":"^2.1.0","@rollup/plugin-typescript":"^8.3.3","@types/jest":"^28.1.6","@types/node":"^18.0.6","@types/react":"^18.0.15","@types/react-dom":"^18.0.6","babel-jest":"^28.1.3","babel-loader":"^8.2.5","builtin-modules":"^3.3.0","delay":"^5.0.0","eslint":"^8.20.0","eslint-config-tasoskakour-typescript-prettier":"^2.0.5","fastify":"^4.3.0","husky":"^8.0.1","jest":"^28.1.3","jest-puppeteer":"^6.1.1","lint-staged":"^13.0.3","puppeteer":"^15.5.0","react-dom":"^18.2.0","react-router-dom":"^6.3.0","rollup":"^2.77.0","rollup-plugin-delete":"^2.0.0","rollup-plugin-dts":"^4.2.2","rollup-plugin-livereload":"^2.0.5","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-serve":"^2.0.0","rollup-plugin-terser":"^7.0.2","start-server-and-test":"^1.14.0","ts-jest":"^28.0.7","typescript":"^4.7.4"},"engines":{"node":">=14"},"types":"dist/index.d.ts","lint-staged":{"*.{js,ts,tsx}":"eslint --cache --fix"},"publishConfig":{"access":"public"},"gitHead":"720a65fefa1b26425a3d573ebf4de9390093de7d","_id":"@a11n-io/react-use-oauth2@1.0.12","_nodeVersion":"19.0.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-NgH074nX9FNU9GOHMpDec+cBAV3Ghgy9Rijqhbl+La8puy3PM5+21HIz+q+5Vt8tMF2HIEec6OCTNaxJHscrBA==","shasum":"92a035c31314d088551dbc2bb7567cae8c7ce200","tarball":"https://registry.npmjs.org/@a11n-io/react-use-oauth2/-/react-use-oauth2-1.0.12.tgz","fileCount":18,"unpackedSize":90519,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICGf2HKQ4GME2GjBdQHSA+w6wHedzSeM5CyMBGMrYPxeAiEA8Iu5+mXw7tPKcB/KqIuXb3wcx2Ugct3A8Mdouw5TwLE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfh1aACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpqag//elIraeI0tJxL0rMHgHebAAm2Mi+zqPl2wuv9D4EZHtHNTU5g\r\neZmnmy16hvRgb269Ye0vi7uokWfzx9bCGiDB1qmM+4nz10Wxts0sEM/+02hJ\r\n8aOM2ZqwuC3WlV8NSwie7EhUEh3K+rJh8N/G9huYkOBi4grBWooT5ENAGuEi\r\npb5DdKqOhcPtd61IQ/0HkBhR6d3itqF7BCPqNtY7+oneoIQGvjRjxaErM6+H\r\nL7tpBjqJOy/PY5KzaEmVYRVBg7WsSDv1h14CCSMzePZ1BIU+SaFpt7WiHz6C\r\nqai+YlOkoNkcn5k9D06RTMxIZ6PwB6epfADM2AS0H0TAD07dB7IHq9HDvD0I\r\n1tYd9eliCA4XRsIvd4pplkR5tuhrhaWO0FOnQ6GNtcKHYMA3oGgIyUI4wY5q\r\nr7ONTLz51zpPcSNlELlvx0krR7icUzhzarddBxyq7LIkDU7WG36T+ZafpAX4\r\nrCVEiRag1Q6jZWfzineQ2HVBx4437jfg5fNA7oFWY5a9njlct6fZEtS6KPZp\r\nNVHOZ3jvLo2qbUuLwfEqRlwZldu6V3qko7sI09p9js263v9xotjWL/grZ24I\r\n0HydikmQd451/4AMSsyyEh0EwJrCW6FNyIPkFSfq1TSHOBaVC9td9jtikd/f\r\nQDaoO9rjee8iAoYfd1LLHwWWCQrcPer9bqA=\r\n=IAmf\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jacokruger","email":"superkruger@gmail.com"},"directories":{},"maintainers":[{"name":"jacokruger","email":"superkruger@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-oauth2_1.0.12_1669209434013_0.125152326102141"},"_hasShrinkwrap":false},"1.0.13":{"name":"@a11n-io/react-use-oauth2","author":{"name":"Tasos Kakouris","email":"tasoskakour@gmail.com"},"keywords":["react","hooks","typescript","nodejs","oauth2"],"version":"1.0.13","description":"A React hook that handles OAuth2 authorization flow.","license":"MIT","homepage":"https://github.com/tasoskakour/react-use-oauth2#readme","bugs":{"url":"https://github.com/tasoskakour/react-use-oauth2/issues"},"repository":{"type":"git","url":"git+https://github.com/a11n-io/react-use-oauth2.git"},"main":"dist/cjs/index.js","module":"dist/esm/index.js","dependencies":{"use-local-storage-state":"^18.1.0"},"scripts":{"build":"rollup -c","example":"rollup -c rollup.config.example.js -w","test":"NODE_ENV=test npm run lint && start-server-and-test example \"3000|3001\" jest","lint":"eslint . --cache","prepare":"husky install"},"browserslist":{"production":[">1%","not dead","not op_mini all","not ie > 0","not ie_mob > 0"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"peerDependencies":{"react":"^18.2.0"},"devDependencies":{"@babel/core":"^7.18.9","@babel/plugin-transform-runtime":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@rollup/plugin-commonjs":"^22.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.3.0","@rollup/plugin-replace":"^4.0.0","@rollup/plugin-run":"^2.1.0","@rollup/plugin-typescript":"^8.3.3","@types/jest":"^28.1.6","@types/node":"^18.0.6","@types/react":"^18.0.15","@types/react-dom":"^18.0.6","babel-jest":"^28.1.3","babel-loader":"^8.2.5","builtin-modules":"^3.3.0","delay":"^5.0.0","eslint":"^8.20.0","eslint-config-tasoskakour-typescript-prettier":"^2.0.5","fastify":"^4.3.0","husky":"^8.0.1","jest":"^28.1.3","jest-puppeteer":"^6.1.1","lint-staged":"^13.0.3","puppeteer":"^15.5.0","react-dom":"^18.2.0","react-router-dom":"^6.3.0","rollup":"^2.77.0","rollup-plugin-delete":"^2.0.0","rollup-plugin-dts":"^4.2.2","rollup-plugin-livereload":"^2.0.5","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-serve":"^2.0.0","rollup-plugin-terser":"^7.0.2","start-server-and-test":"^1.14.0","ts-jest":"^28.0.7","typescript":"^4.7.4"},"engines":{"node":">=14"},"types":"dist/index.d.ts","lint-staged":{"*.{js,ts,tsx}":"eslint --cache --fix"},"publishConfig":{"access":"public"},"gitHead":"720a65fefa1b26425a3d573ebf4de9390093de7d","_id":"@a11n-io/react-use-oauth2@1.0.13","_nodeVersion":"19.0.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-VBCgichccFq2Rfd5Na2jMOZhH2mGRTWSQBgMBJeU04VEGg+uPN7R1oWO9yI5TQaStkWWC9DFWwvArdV5Kum3yA==","shasum":"375a151244242ec24273ac39dcd23faeffc846ff","tarball":"https://registry.npmjs.org/@a11n-io/react-use-oauth2/-/react-use-oauth2-1.0.13.tgz","fileCount":18,"unpackedSize":90785,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDoZJbkFMA6oK4Y6P67BIAs0merBNycjdF9RPzlTqz2tQIhAPU27/9LjGpprTaycW5HIyvfnIFtGUNIrY+HqOd/SRMW"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfiKAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrl9g//eO2cwwkKP7+e08g5g/sXjc346bP0uiAYZaP+eufeVzFi+eEj\r\nvoPLW5+u+vOv2XTlpzNHgB5TlZQf88ExUSMnTaaU27thRsfliEGIHZ40nYeu\r\nssbCrU1nEY5SynlprbniTsBEAcJz1Vp5487nPSvCGAC3xuF3O4gPJSKGzUYE\r\nLEgkquvBxptmT4SVzkYjzdantTKtJJNBheSHG1ZXuuPxEU0SlwokWLoscenJ\r\nqjGQfPalltw2zq2g5DqqLRLdKfeYfmVc6m2AvRMc0GFbrSu4GOW3hzt9Ctha\r\n0ddZNO1CPy6OD9g1xi/DYfAGw2Uukv59aAgm8rN+Bs/3W674SQIaNMOIpGZ9\r\nGeW2BQJiDcBskJpm+7bvsLeU1e7t5iUDqE/OCfrkRrTsdiRqKPqGt44IkO1L\r\nz78nn14lsIPN24jV5K1h3fdxun+MJnBzzUh58DKrJcMgGrBSEQ/s6UaldHhK\r\nsg7pHJDY8Q4677bDSLFRKd9lOn/czTAzt9k8tsFPcTWCLO1Lkx3Bgs+GioDM\r\na6TBBOYi/Fu1m6ZSrD5WZUB1EukTu1qcRcBCIqqsebOYJ0v5shvr+1JMeQ4j\r\nrhQNaC0ng3ITE3g+uPjenUGguDuX6AL6oWvQRGs57uEJhLiwLRwh3swqD7co\r\nqoki4KQFaKsEO3ZPEFToc18vsIeu6Fe7inM=\r\n=yoBG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jacokruger","email":"superkruger@gmail.com"},"directories":{},"maintainers":[{"name":"jacokruger","email":"superkruger@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-oauth2_1.0.13_1669210752284_0.10024476619204603"},"_hasShrinkwrap":false},"1.0.14":{"name":"@a11n-io/react-use-oauth2","author":{"name":"Tasos Kakouris","email":"tasoskakour@gmail.com"},"keywords":["react","hooks","typescript","nodejs","oauth2"],"version":"1.0.14","description":"A React hook that handles OAuth2 authorization flow.","license":"MIT","homepage":"https://github.com/tasoskakour/react-use-oauth2#readme","bugs":{"url":"https://github.com/tasoskakour/react-use-oauth2/issues"},"repository":{"type":"git","url":"git+https://github.com/a11n-io/react-use-oauth2.git"},"main":"dist/cjs/index.js","module":"dist/esm/index.js","dependencies":{"use-local-storage-state":"^18.1.0"},"scripts":{"build":"rollup -c","example":"rollup -c rollup.config.example.js -w","test":"NODE_ENV=test npm run lint && start-server-and-test example \"3000|3001\" jest","lint":"eslint . --cache","prepare":"husky install"},"browserslist":{"production":[">1%","not dead","not op_mini all","not ie > 0","not ie_mob > 0"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"peerDependencies":{"react":"^18.2.0"},"devDependencies":{"@babel/core":"^7.18.9","@babel/plugin-transform-runtime":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@rollup/plugin-commonjs":"^22.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.3.0","@rollup/plugin-replace":"^4.0.0","@rollup/plugin-run":"^2.1.0","@rollup/plugin-typescript":"^8.3.3","@types/jest":"^28.1.6","@types/node":"^18.0.6","@types/react":"^18.0.15","@types/react-dom":"^18.0.6","babel-jest":"^28.1.3","babel-loader":"^8.2.5","builtin-modules":"^3.3.0","delay":"^5.0.0","eslint":"^8.20.0","eslint-config-tasoskakour-typescript-prettier":"^2.0.5","fastify":"^4.3.0","husky":"^8.0.1","jest":"^28.1.3","jest-puppeteer":"^6.1.1","lint-staged":"^13.0.3","puppeteer":"^15.5.0","react-dom":"^18.2.0","react-router-dom":"^6.3.0","rollup":"^2.77.0","rollup-plugin-delete":"^2.0.0","rollup-plugin-dts":"^4.2.2","rollup-plugin-livereload":"^2.0.5","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-serve":"^2.0.0","rollup-plugin-terser":"^7.0.2","start-server-and-test":"^1.14.0","ts-jest":"^28.0.7","typescript":"^4.7.4"},"engines":{"node":">=14"},"types":"dist/index.d.ts","lint-staged":{"*.{js,ts,tsx}":"eslint --cache --fix"},"publishConfig":{"access":"public"},"gitHead":"720a65fefa1b26425a3d573ebf4de9390093de7d","_id":"@a11n-io/react-use-oauth2@1.0.14","_nodeVersion":"19.0.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-C5heuBkoem26fmFacw/DzICEjY95vV/a0calX5VbIyqNxK3xPPt7+oSo3OFczMLKWlw9abC43Zo5ml1JwOmKaQ==","shasum":"fdc9250eb9c3f19bdbbcf93c69bc5bdfd88756cd","tarball":"https://registry.npmjs.org/@a11n-io/react-use-oauth2/-/react-use-oauth2-1.0.14.tgz","fileCount":18,"unpackedSize":90976,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHZS148QIXb5olF/bo7mYi+HiX5p2QY9NXca9AXtZ5OLAiEArF4QxVumPr3KHVa4LlKv5XhnBE14mtOLRSLRUgLYKXY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfiVDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrvMQ//SOAc61S+ZHYqKzEF883CrgUSdkFXuQ0TT+SOPwmPwgc/XPDE\r\nd3ls6Y5SW8iS3vKKVVl8ycJavw5cPNX1qB43rdpN9J7gkVGQKM/1eOqHkYQC\r\nGTF2kDUZ0qj5IjCw50/HpnyO0hJUo7HykYsrAvhrj79rmvYsRD9gz5G5q9aA\r\njtKoXNDgzg0+mFyF0ovL8ahnl2kuHxRooGRb70W3qpshYe7F2N4YGrtwUSRi\r\nHZZ7jlwZFhO36UdiZUzTkBqtBJ1xCLZTl8abhQDh/hV2UtA0wccLqH43haoi\r\nfuk4FLqdY3ECFKpAaaNuaYcujAWRDfDRJM+DdcbrU+aWw4QCc819urrMkfb7\r\nLLv6omRuaSMk62/3cLah5/OCniDEHCxAGs2vPwGq/a1I2H0zpMZzVSGS7SdO\r\nIeIz7Sz3y42KdSQ4ec4Jpjgt9o5Y/Cd/9CLgI2um3SUV7aBkH94LBn/uqt1u\r\nb48MpONtGtw21FIqH0eFeDCjVa3PErwkf65TnyzTsa8AEU1jEY+HH12uhwcW\r\nI/5AklsEFCKTw+hqgSnA0EXv8wksAx/ha9MmlkovmZN2a6vnJ2tXCZ67LumY\r\nFeJ/Do1tj4npurItVMHUoVOMrjz1j6qZ2PcVtDh0+RAAoCAo96pvj0VlrD9v\r\n61lBB029hJOnjv3Pp5D51ky8G0jraFqvxes=\r\n=ySG5\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jacokruger","email":"superkruger@gmail.com"},"directories":{},"maintainers":[{"name":"jacokruger","email":"superkruger@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-oauth2_1.0.14_1669211458985_0.4192757376400391"},"_hasShrinkwrap":false},"1.0.15":{"name":"@a11n-io/react-use-oauth2","author":{"name":"Tasos Kakouris","email":"tasoskakour@gmail.com"},"keywords":["react","hooks","typescript","nodejs","oauth2"],"version":"1.0.15","description":"A React hook that handles OAuth2 authorization flow.","license":"MIT","homepage":"https://github.com/tasoskakour/react-use-oauth2#readme","bugs":{"url":"https://github.com/tasoskakour/react-use-oauth2/issues"},"repository":{"type":"git","url":"git+https://github.com/a11n-io/react-use-oauth2.git"},"main":"dist/cjs/index.js","module":"dist/esm/index.js","dependencies":{"use-local-storage-state":"^18.1.0"},"scripts":{"build":"rollup -c","example":"rollup -c rollup.config.example.js -w","test":"NODE_ENV=test npm run lint && start-server-and-test example \"3000|3001\" jest","lint":"eslint . --cache","prepare":"husky install"},"browserslist":{"production":[">1%","not dead","not op_mini all","not ie > 0","not ie_mob > 0"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"peerDependencies":{"react":"^18.2.0"},"devDependencies":{"@babel/core":"^7.18.9","@babel/plugin-transform-runtime":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@rollup/plugin-commonjs":"^22.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.3.0","@rollup/plugin-replace":"^4.0.0","@rollup/plugin-run":"^2.1.0","@rollup/plugin-typescript":"^8.3.3","@types/jest":"^28.1.6","@types/node":"^18.0.6","@types/react":"^18.0.15","@types/react-dom":"^18.0.6","babel-jest":"^28.1.3","babel-loader":"^8.2.5","builtin-modules":"^3.3.0","delay":"^5.0.0","eslint":"^8.20.0","eslint-config-tasoskakour-typescript-prettier":"^2.0.5","fastify":"^4.3.0","husky":"^8.0.1","jest":"^28.1.3","jest-puppeteer":"^6.1.1","lint-staged":"^13.0.3","puppeteer":"^15.5.0","react-dom":"^18.2.0","react-router-dom":"^6.3.0","rollup":"^2.77.0","rollup-plugin-delete":"^2.0.0","rollup-plugin-dts":"^4.2.2","rollup-plugin-livereload":"^2.0.5","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-serve":"^2.0.0","rollup-plugin-terser":"^7.0.2","start-server-and-test":"^1.14.0","ts-jest":"^28.0.7","typescript":"^4.7.4"},"engines":{"node":">=14"},"types":"dist/index.d.ts","lint-staged":{"*.{js,ts,tsx}":"eslint --cache --fix"},"publishConfig":{"access":"public"},"gitHead":"720a65fefa1b26425a3d573ebf4de9390093de7d","_id":"@a11n-io/react-use-oauth2@1.0.15","_nodeVersion":"19.0.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-q2ZHHARcK4J2SEYPYhX88h+nwegZ3CY/2VwfevaFYt/2CtYp4uDa0ZUH87Xb3Y9ZQskt9LLOi8Jxw3T3yFuSfg==","shasum":"3c530d273e1344cade30cbb6b6e03c001d734780","tarball":"https://registry.npmjs.org/@a11n-io/react-use-oauth2/-/react-use-oauth2-1.0.15.tgz","fileCount":18,"unpackedSize":90594,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBCeDDnolZKyO0qGuY03l/dT2wUktadfl+e4HmrtwCqVAiEA5TOhyfhbx68/ubu1GyCPTyYgOTlF8PRqdGec1WjuyGw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfiuOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoPwQ//Yhh7pkHjfV4jYIlLv/giyd1HHiO24m/TzfIgxkdoX8B5tWlE\r\njYGc7yvr53n7cQtPyGsykJjmw665fkWHp3cNQPNKU1YHnRTpsbWmTPGjcK+N\r\nRhsDNLyanl/KG7y+CwTKzdsDoOLFXp6uStZZELG4dPNva6ULok4tMtH5XlEq\r\nFp+oWC23xLDzrI1W0Ief3wT9F3jKhffE/bFlGo8mPKPX5NIg88fHcjCpPNDR\r\nedcx9jkMYABIFU3RR23h51KejKFO4mqO5qLpsxMzCRex5VNe2kOHHA6eIKBS\r\ngLaGbPgzFJp1NLouWXHAvRcgk2TjXRsUqK5+YSW6zMUFWhfmWCJdCX6pc6VS\r\nLMhKFcf1j4SD7TrJgcaqPtTj5wQYiAWomWqKvwkyMaTW/UpYh0iPrid0hxCF\r\nOoqfp5Ck4F3mb1X/SL+guThd5rrYP5oRMyXpR5UveUW4O8+HBRhMO+P5Erxs\r\nrr4czkcbnYEGmbAt3NekZayqpaIlvKACSo6NoTh3os/4uFNm1bZvPyn5SBhN\r\nJ1alQ7vx3ane21BU7/DDKHUn3eSqFN2Yk5Rbm/ETRFRuWLvRbADSuYiq3oTl\r\nEMm8G7qNgzdbHnktJqZWyWPspeGbXi0WhF2OFxGreelfhGpX8+uqUnXbpZQD\r\nh1T4LIKoqOrR3E4OucBdBjlsEyPU0t2aaY0=\r\n=fNwf\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jacokruger","email":"superkruger@gmail.com"},"directories":{},"maintainers":[{"name":"jacokruger","email":"superkruger@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-oauth2_1.0.15_1669213070215_0.7371001932676906"},"_hasShrinkwrap":false},"1.0.16":{"name":"@a11n-io/react-use-oauth2","author":{"name":"Tasos Kakouris","email":"tasoskakour@gmail.com"},"keywords":["react","hooks","typescript","nodejs","oauth2"],"version":"1.0.16","description":"A React hook that handles OAuth2 authorization flow.","license":"MIT","homepage":"https://github.com/tasoskakour/react-use-oauth2#readme","bugs":{"url":"https://github.com/tasoskakour/react-use-oauth2/issues"},"repository":{"type":"git","url":"git+https://github.com/a11n-io/react-use-oauth2.git"},"main":"dist/cjs/index.js","module":"dist/esm/index.js","dependencies":{"use-local-storage-state":"^18.1.0"},"scripts":{"build":"rollup -c","example":"rollup -c rollup.config.example.js -w","test":"NODE_ENV=test npm run lint && start-server-and-test example \"3000|3001\" jest","lint":"eslint . --cache","prepare":"husky install"},"browserslist":{"production":[">1%","not dead","not op_mini all","not ie > 0","not ie_mob > 0"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"peerDependencies":{"react":"^18.2.0"},"devDependencies":{"@babel/core":"^7.18.9","@babel/plugin-transform-runtime":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@rollup/plugin-commonjs":"^22.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.3.0","@rollup/plugin-replace":"^4.0.0","@rollup/plugin-run":"^2.1.0","@rollup/plugin-typescript":"^8.3.3","@types/jest":"^28.1.6","@types/node":"^18.0.6","@types/react":"^18.0.15","@types/react-dom":"^18.0.6","babel-jest":"^28.1.3","babel-loader":"^8.2.5","builtin-modules":"^3.3.0","delay":"^5.0.0","eslint":"^8.20.0","eslint-config-tasoskakour-typescript-prettier":"^2.0.5","fastify":"^4.3.0","husky":"^8.0.1","jest":"^28.1.3","jest-puppeteer":"^6.1.1","lint-staged":"^13.0.3","puppeteer":"^15.5.0","react-dom":"^18.2.0","react-router-dom":"^6.3.0","rollup":"^2.77.0","rollup-plugin-delete":"^2.0.0","rollup-plugin-dts":"^4.2.2","rollup-plugin-livereload":"^2.0.5","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-serve":"^2.0.0","rollup-plugin-terser":"^7.0.2","start-server-and-test":"^1.14.0","ts-jest":"^28.0.7","typescript":"^4.7.4"},"engines":{"node":">=14"},"types":"dist/index.d.ts","lint-staged":{"*.{js,ts,tsx}":"eslint --cache --fix"},"publishConfig":{"access":"public"},"gitHead":"53f080d2110baab9228f90fa10a157d97f46ac7e","_id":"@a11n-io/react-use-oauth2@1.0.16","_nodeVersion":"19.0.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-UYovKItm0BzE76kPjf/imAo3+RNPN1DxAdIubwx9vdYePU6Aj8G59L0T7CUkrLqGbWugGgMi/ah/63JYAoGwJw==","shasum":"47d2f596c707c6696d0d77ed98500467f61410e0","tarball":"https://registry.npmjs.org/@a11n-io/react-use-oauth2/-/react-use-oauth2-1.0.16.tgz","fileCount":18,"unpackedSize":90706,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC5RnwmlrjyLvaD01NIRraQRmveapURHELD3iyog8FICAiEA/IdWcLp+hbw0aFM9aVrKzKPj/Hrj5lw++CabRGMgp5s="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjf0QvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrsFA//dSyZRexcb5cYam8fz2oqc6O4MW4hC2MAUVQVwsbOTVFZXM+A\r\niitfT2e6lKZqflM5Uz36rRsIlRojhlMJwmwSIis718OOv+cHMFNmRPqUlJdW\r\nTamaGBLSLfKDizBTiiydNGkhPhDCBIgGkUScNmCBq/fpdgZSolZvHOojQXoj\r\n3plVHfmM02IKPjoAFgDTPQCI8UO95w07B4fZssyZX4r+4oea6JmxwmmqPzHy\r\nXeryYvLILfxq6k7IgygC+Uk4jLcGD83zDfs4lt39y6rF6SWnpUbFpmkGmu0p\r\nLcwfAoLL88+8R3xEel7y0hZEqQyIDCIoJ+pEog+jabgj73g409Ub/n2eFgW1\r\nrjMGy2OIspFMvz8tD0oc8iIL7teaIuPvOHhFX5KqLfO/M4guclFkG9Y8zZn+\r\nZlYHeba+13ytBMe1Q5VvrLflNziQoBJmRoV4aYJYZqGCqSkQvwYIYWVbCGlL\r\nTvPaQ0h+9bR9NPUiHQASNwJ3kmjcKUuSn2c9uOHa/cpsLmkq9iHdMvpRQHpV\r\ntO9Y5K0JsBTmFyvl9LdoYvbt01Qu3FJ3GKJO4C+ztEAW0/BTHhRIKA/UcrbO\r\np57ytUc/twjPTRD0obyDnWZQIIR1Rtj57PKJuhH9Ml8szxVGIeobVaCMBYkr\r\nxLwUZRMvAQNcaZ3mZGiJjfpHIF2BkPmLDjI=\r\n=KrfV\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jacokruger","email":"superkruger@gmail.com"},"directories":{},"maintainers":[{"name":"jacokruger","email":"superkruger@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-oauth2_1.0.16_1669284911433_0.7476958221520011"},"_hasShrinkwrap":false},"1.0.17":{"name":"@a11n-io/react-use-oauth2","author":{"name":"Tasos Kakouris","email":"tasoskakour@gmail.com"},"keywords":["react","hooks","typescript","nodejs","oauth2"],"version":"1.0.17","description":"A React hook that handles OAuth2 authorization flow.","license":"MIT","homepage":"https://github.com/tasoskakour/react-use-oauth2#readme","bugs":{"url":"https://github.com/tasoskakour/react-use-oauth2/issues"},"repository":{"type":"git","url":"git+https://github.com/a11n-io/react-use-oauth2.git"},"main":"dist/cjs/index.js","module":"dist/esm/index.js","dependencies":{"use-local-storage-state":"^18.1.0"},"scripts":{"build":"rollup -c","example":"rollup -c rollup.config.example.js -w","test":"NODE_ENV=test npm run lint && start-server-and-test example \"3000|3001\" jest","lint":"eslint . --cache","prepare":"husky install"},"browserslist":{"production":[">1%","not dead","not op_mini all","not ie > 0","not ie_mob > 0"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"peerDependencies":{"react":"^18.2.0"},"devDependencies":{"@babel/core":"^7.18.9","@babel/plugin-transform-runtime":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@rollup/plugin-commonjs":"^22.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.3.0","@rollup/plugin-replace":"^4.0.0","@rollup/plugin-run":"^2.1.0","@rollup/plugin-typescript":"^8.3.3","@types/jest":"^28.1.6","@types/node":"^18.0.6","@types/react":"^18.0.15","@types/react-dom":"^18.0.6","babel-jest":"^28.1.3","babel-loader":"^8.2.5","builtin-modules":"^3.3.0","delay":"^5.0.0","eslint":"^8.20.0","eslint-config-tasoskakour-typescript-prettier":"^2.0.5","fastify":"^4.3.0","husky":"^8.0.1","jest":"^28.1.3","jest-puppeteer":"^6.1.1","lint-staged":"^13.0.3","puppeteer":"^15.5.0","react-dom":"^18.2.0","react-router-dom":"^6.3.0","rollup":"^2.77.0","rollup-plugin-delete":"^2.0.0","rollup-plugin-dts":"^4.2.2","rollup-plugin-livereload":"^2.0.5","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-serve":"^2.0.0","rollup-plugin-terser":"^7.0.2","start-server-and-test":"^1.14.0","ts-jest":"^28.0.7","typescript":"^4.7.4"},"engines":{"node":">=14"},"types":"dist/index.d.ts","lint-staged":{"*.{js,ts,tsx}":"eslint --cache --fix"},"publishConfig":{"access":"public"},"gitHead":"53f080d2110baab9228f90fa10a157d97f46ac7e","_id":"@a11n-io/react-use-oauth2@1.0.17","_nodeVersion":"19.0.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-tV3OYFdvSrbfohWqnZmrBvyQFegf4SBgRLyX12SEZoqxjGAzJ36JsLelzHwW20G0h4nF/ILeaUxhpsG2KZv+4A==","shasum":"08d1997ee48e78a04e0b1a2251dc7b3eb9b447bc","tarball":"https://registry.npmjs.org/@a11n-io/react-use-oauth2/-/react-use-oauth2-1.0.17.tgz","fileCount":18,"unpackedSize":90802,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB2Yg7kWrkbcLIJ528kyqVj7MAmBDIlQFpbsWMMs+6bYAiAqdG8LiRUTJ5ne6V9yROvQA9i7LbeGSdRKstQqdLvjVw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjf0pUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqYiA//ZC6GcG0dOfE36OAdMWTtJjOB5gS1/BaTiML3liKhFMeDAksV\r\nh+KDBxhYkkS6Qb0fqkxvP3RoVFNTMXFsyqCE2tjcysFDn93nu/OsFz+7PBev\r\nZ8KfQFhBi+QpS6Nf2HHujvY5KH8vohVHm8UDbtXqlMtBYvSuCw9BFe+OpuIa\r\nIFqmmGDB5jiSQcpSj8TUvNHQ+TLMuHhCxEfXL7jC5am2goYnzC0j11C4/kmP\r\nBMT/v06fos6O2KGSBjuap9oid9cAbu++WRpsy3UGlN1Os6Gocw5c44alZKvj\r\nWW2ooH889TYScnsd5mkYUeM29synjsjK/cKWBxpSWjtfPRsqDdUYDRi4hwwJ\r\nC7xuvPnh0WWaVtezCSotum1npyFi9OWCNAg4T//UirzW32CrGHmBt6xCL4gJ\r\nPfOdlaeCFudhKnzPQcCQJQI4w2tl4ymdopqJIrkDyIYuvCWeWGHbu9Q3ue5T\r\nVckXmgicEdpZyO+9qOoTOTYqfJ9Bv01MupTVxX4acQyxlyK+rDXGPFz8SJRF\r\nyz4GppTnElqJlcTi2IdQ9sNlMSUvngc6CKowzIZTSn94xduuNIdQ9GCk+sOQ\r\nIM7nwu1ay3JFx8mD4smko3wwcJaqmW8cMabNr4DWbWUQxDM4H4vfWLV0PEJW\r\nCG+mp0IQHqiNoGw0cc4ib0+WRRc3dN2UD1M=\r\n=QuR7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jacokruger","email":"superkruger@gmail.com"},"directories":{},"maintainers":[{"name":"jacokruger","email":"superkruger@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-oauth2_1.0.17_1669286484170_0.47112252992442905"},"_hasShrinkwrap":false},"1.0.18":{"name":"@a11n-io/react-use-oauth2","author":{"name":"Tasos Kakouris","email":"tasoskakour@gmail.com"},"keywords":["react","hooks","typescript","nodejs","oauth2"],"version":"1.0.18","description":"A React hook that handles OAuth2 authorization flow.","license":"MIT","homepage":"https://github.com/tasoskakour/react-use-oauth2#readme","bugs":{"url":"https://github.com/tasoskakour/react-use-oauth2/issues"},"repository":{"type":"git","url":"git+https://github.com/a11n-io/react-use-oauth2.git"},"main":"dist/cjs/index.js","module":"dist/esm/index.js","dependencies":{"use-local-storage-state":"^18.1.0"},"scripts":{"build":"rollup -c","example":"rollup -c rollup.config.example.js -w","test":"NODE_ENV=test npm run lint && start-server-and-test example \"3000|3001\" jest","lint":"eslint . --cache","prepare":"husky install"},"browserslist":{"production":[">1%","not dead","not op_mini all","not ie > 0","not ie_mob > 0"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"peerDependencies":{"react":"^18.2.0"},"devDependencies":{"@babel/core":"^7.18.9","@babel/plugin-transform-runtime":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@rollup/plugin-commonjs":"^22.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.3.0","@rollup/plugin-replace":"^4.0.0","@rollup/plugin-run":"^2.1.0","@rollup/plugin-typescript":"^8.3.3","@types/jest":"^28.1.6","@types/node":"^18.0.6","@types/react":"^18.0.15","@types/react-dom":"^18.0.6","babel-jest":"^28.1.3","babel-loader":"^8.2.5","builtin-modules":"^3.3.0","delay":"^5.0.0","eslint":"^8.20.0","eslint-config-tasoskakour-typescript-prettier":"^2.0.5","fastify":"^4.3.0","husky":"^8.0.1","jest":"^28.1.3","jest-puppeteer":"^6.1.1","lint-staged":"^13.0.3","puppeteer":"^15.5.0","react-dom":"^18.2.0","react-router-dom":"^6.3.0","rollup":"^2.77.0","rollup-plugin-delete":"^2.0.0","rollup-plugin-dts":"^4.2.2","rollup-plugin-livereload":"^2.0.5","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-serve":"^2.0.0","rollup-plugin-terser":"^7.0.2","start-server-and-test":"^1.14.0","ts-jest":"^28.0.7","typescript":"^4.7.4"},"engines":{"node":">=14"},"types":"dist/index.d.ts","lint-staged":{"*.{js,ts,tsx}":"eslint --cache --fix"},"publishConfig":{"access":"public"},"gitHead":"52bbcee03c54be53c69dd0dab6cf9c7e581180d6","_id":"@a11n-io/react-use-oauth2@1.0.18","_nodeVersion":"19.0.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-ELVTL718o0XCrR/yNnM61i4S/Bl6CqeTasTs1Juu99LUU5gJ8DOZqiDH/eHd+gc+9GOO4u1msNe5m/5VM4v1JQ==","shasum":"671c22fb213316496749129e4c016a5cbdb95c92","tarball":"https://registry.npmjs.org/@a11n-io/react-use-oauth2/-/react-use-oauth2-1.0.18.tgz","fileCount":18,"unpackedSize":90802,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDj1VzY3uz3l8CqP/wUx4+oAYeQhcxadg9iEmNBuXLUlAIgC3xXlUNYtz5p9NhfMFD9qyyowggs46mz0KgMOeNt+AQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjf0xuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqYWBAAkQvtehM6HdWji1zjxFPxqAAIpcRLLGxjTIX73B/rGIyTXzAS\r\nj7N6qeRFEgbA+YnvnNH3SGyyypPV9NeNyXAAJFV0P/mDyc0vZFO6iReStgPq\r\nlqBN10QU08s44V6o4pSkCUdkEVFzsCIif+Vrhvc2FtCzQ6MGWGWNvw6Cqplp\r\nCcONZXtHHnlpYCOAqtvD0wTiePHh9IpKkqBipqnnCK5MF3K+F5qcOe5dAdg9\r\nOZxaUnq1crC4G0NHoPj4VATyJWAhvalbQCfhzFQZSba0nV4OvKTaUxBOztp+\r\nHSNmM36DH9soupA/nFK2bIoOjQzbE/rshqlIcL0xjrtfiEWfvbuve05niMF4\r\nLXo/uq4brCiGHi/OKjjDiG0cC4kWPZ7SKJU0U1t+aMO0M1GLGfwhdLmY/6Pj\r\n7ASVuQ9Dc1zuJrAvu+yEQFgzYNfLPvNcsqannSbcWK91aDh9iAhWP949wpJ/\r\n1DEgoxzK7HNtICWgHF3+ZwftIy3plUy77SwSY8euOkwywcEEmnP44ZI1Wsa7\r\n+bdyWMErI6ml+xQL2LU4tfgH59Nh9idyJ7XCgnTQrzbvQk8o/2wVhq3gANBN\r\nznCZY3Jl21QGP3hxljGTlja1nxsw2340/Whii0vNJciSAbHhPXL1UP+p9eVL\r\nKw7Ox1LII3zK+3cLQ7ck1RiW2gaaek8nSOM=\r\n=AB1X\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jacokruger","email":"superkruger@gmail.com"},"directories":{},"maintainers":[{"name":"jacokruger","email":"superkruger@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-oauth2_1.0.18_1669287022424_0.9022340297984359"},"_hasShrinkwrap":false},"1.0.19":{"name":"@a11n-io/react-use-oauth2","author":{"name":"Tasos Kakouris","email":"tasoskakour@gmail.com"},"keywords":["react","hooks","typescript","nodejs","oauth2"],"version":"1.0.19","description":"A React hook that handles OAuth2 authorization flow.","license":"MIT","homepage":"https://github.com/tasoskakour/react-use-oauth2#readme","bugs":{"url":"https://github.com/tasoskakour/react-use-oauth2/issues"},"repository":{"type":"git","url":"git+https://github.com/a11n-io/react-use-oauth2.git"},"main":"dist/cjs/index.js","module":"dist/esm/index.js","dependencies":{"use-local-storage-state":"^18.1.0"},"scripts":{"build":"rollup -c","example":"rollup -c rollup.config.example.js -w","test":"NODE_ENV=test npm run lint && start-server-and-test example \"3000|3001\" jest","lint":"eslint . --cache","prepare":"husky install"},"browserslist":{"production":[">1%","not dead","not op_mini all","not ie > 0","not ie_mob > 0"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"peerDependencies":{"react":"^18.2.0"},"devDependencies":{"@babel/core":"^7.18.9","@babel/plugin-transform-runtime":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@rollup/plugin-commonjs":"^22.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.3.0","@rollup/plugin-replace":"^4.0.0","@rollup/plugin-run":"^2.1.0","@rollup/plugin-typescript":"^8.3.3","@types/jest":"^28.1.6","@types/node":"^18.0.6","@types/react":"^18.0.15","@types/react-dom":"^18.0.6","babel-jest":"^28.1.3","babel-loader":"^8.2.5","builtin-modules":"^3.3.0","delay":"^5.0.0","eslint":"^8.20.0","eslint-config-tasoskakour-typescript-prettier":"^2.0.5","fastify":"^4.3.0","husky":"^8.0.1","jest":"^28.1.3","jest-puppeteer":"^6.1.1","lint-staged":"^13.0.3","puppeteer":"^15.5.0","react-dom":"^18.2.0","react-router-dom":"^6.3.0","rollup":"^2.77.0","rollup-plugin-delete":"^2.0.0","rollup-plugin-dts":"^4.2.2","rollup-plugin-livereload":"^2.0.5","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-serve":"^2.0.0","rollup-plugin-terser":"^7.0.2","start-server-and-test":"^1.14.0","ts-jest":"^28.0.7","typescript":"^4.7.4"},"engines":{"node":">=14"},"types":"dist/index.d.ts","lint-staged":{"*.{js,ts,tsx}":"eslint --cache --fix"},"publishConfig":{"access":"public"},"gitHead":"3f5a901001665d0f20c57414f98424c699caec7f","_id":"@a11n-io/react-use-oauth2@1.0.19","_nodeVersion":"19.0.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-bIMhWXwl38t5wyZrP8GduHP4ppf8RQ8YuJSBaIHtTS1D0I8+1b4YM/SR8DGtER6i5xmnDu7mK6s9+8HhJbVNOQ==","shasum":"8957bb8417da923cf5467c070e47ae8d1827689d","tarball":"https://registry.npmjs.org/@a11n-io/react-use-oauth2/-/react-use-oauth2-1.0.19.tgz","fileCount":18,"unpackedSize":90706,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDODUrrOXhoBzOXw0CCrWBrGOM10GkiJiWfqE7Xxnv4aAiEAq/CxtbWfsCg3mhgGm/aTtFAuNkLjbNQg8kRfgiy17Yc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjjhJaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrm5g/+IKr4P+YTmC0UJF8ttFIe5Iiv+ddd+MfnW1EojGPV3oIXWYbm\r\n3dSgt+ZVocRLbAAdfo8CKlOWIHy+jqt0PsPa9gvjXg08UZR4nyTjdenbTyjL\r\nsiVWmSlyrFZjMLNVZeNACnU3ALi5u6JT3JQbFMHxwZ6QwKQdvdO+H32gJZh7\r\nohP97ENTsj9XQm1W0Dze91JxscEh8DKtEZnOfWZHXwhMUhwasueEspr5BGsk\r\nVWziKPSJTVnZlAHl/oeTcrF2YbXXdX6AwnSL876+H0FUAIpfm8hV/gp/FRFO\r\no+aMZQNLDSbEqhb+rjwh3rYfp/RwtsSYzHBme9MHU89fz7fbS2fJ2tIfDIz0\r\nErglKOsoqCfKkqgm0kVEgxmXfyrP0zSQ2OhXq2kBgQ+uVB+uixRUgvjJh1aj\r\nrYtW4KksWOnLL/E7a1+5wI/2ZuuqYeT0i4TqbALH+u0OMbJnO7XSQYujp//U\r\nh73ZCqnqHWnXZrQcGhLN/kXCDCsKiA3EYpGB/Vui57FzcCEKWblEujmZfzvU\r\nV8qpYRrEg332xb6ltrv6x4QeR2RO8FZFmyMBw9O6Qj331UewcZjG2EGHSFDo\r\nPiMDoHU8Ixid/dsNUoez+n9N4+y91kNaQU6pjILQ+ppcTAqV4VcKa9r+nYOH\r\n7lQxGjsOnitevEDGNHz2rU6M67qTO+sJmrQ=\r\n=gvZ7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jacokruger","email":"superkruger@gmail.com"},"directories":{},"maintainers":[{"name":"jacokruger","email":"superkruger@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-oauth2_1.0.19_1670255194292_0.11107828798870578"},"_hasShrinkwrap":false},"1.0.20":{"name":"@a11n-io/react-use-oauth2","author":{"name":"Tasos Kakouris","email":"tasoskakour@gmail.com"},"keywords":["react","hooks","typescript","nodejs","oauth2"],"version":"1.0.20","description":"A React hook that handles OAuth2 authorization flow.","license":"MIT","homepage":"https://github.com/tasoskakour/react-use-oauth2#readme","bugs":{"url":"https://github.com/tasoskakour/react-use-oauth2/issues"},"repository":{"type":"git","url":"git+https://github.com/a11n-io/react-use-oauth2.git"},"main":"dist/cjs/index.js","module":"dist/esm/index.js","dependencies":{"use-local-storage-state":"^18.1.0"},"scripts":{"build":"rollup -c","example":"rollup -c rollup.config.example.js -w","test":"NODE_ENV=test npm run lint && start-server-and-test example \"3000|3001\" jest","lint":"eslint . --cache","prepare":"husky install"},"browserslist":{"production":[">1%","not dead","not op_mini all","not ie > 0","not ie_mob > 0"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"peerDependencies":{"react":"^18.2.0"},"devDependencies":{"@babel/core":"^7.18.9","@babel/plugin-transform-runtime":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@rollup/plugin-commonjs":"^22.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.3.0","@rollup/plugin-replace":"^4.0.0","@rollup/plugin-run":"^2.1.0","@rollup/plugin-typescript":"^8.3.3","@types/jest":"^28.1.6","@types/node":"^18.0.6","@types/react":"^18.0.15","@types/react-dom":"^18.0.6","babel-jest":"^28.1.3","babel-loader":"^8.2.5","builtin-modules":"^3.3.0","delay":"^5.0.0","eslint":"^8.20.0","eslint-config-tasoskakour-typescript-prettier":"^2.0.5","fastify":"^4.3.0","husky":"^8.0.1","jest":"^28.1.3","jest-puppeteer":"^6.1.1","lint-staged":"^13.0.3","puppeteer":"^15.5.0","react-dom":"^18.2.0","react-router-dom":"^6.3.0","rollup":"^2.77.0","rollup-plugin-delete":"^2.0.0","rollup-plugin-dts":"^4.2.2","rollup-plugin-livereload":"^2.0.5","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-serve":"^2.0.0","rollup-plugin-terser":"^7.0.2","start-server-and-test":"^1.14.0","ts-jest":"^28.0.7","typescript":"^4.7.4"},"engines":{"node":">=14"},"types":"dist/index.d.ts","lint-staged":{"*.{js,ts,tsx}":"eslint --cache --fix"},"publishConfig":{"access":"public"},"gitHead":"e48d5278a7e539aa39afc76835842746c3b7cebe","_id":"@a11n-io/react-use-oauth2@1.0.20","_nodeVersion":"19.0.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-Z1TssGZBmAPQNdaAWF44j6DafwabDK2Yr6KA5mm7tRHwne+iayTsbh4UF5Jkht6+Vq8f7qh2+iLAHYPjHWydbA==","shasum":"df37174c088ef009a2371784749605b9a9cba8f9","tarball":"https://registry.npmjs.org/@a11n-io/react-use-oauth2/-/react-use-oauth2-1.0.20.tgz","fileCount":18,"unpackedSize":90706,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBZpxh6XnLuIfvqtQ5EPfsh9JezkyqdkFXiQmmQ7XHxAIhALxbdFuYQW36ZEgNFtLpT8bVJT+W10ixz5YkXL/gO/V5"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjjxbxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrSeA//flqqlB/TkU/3idSr6kFsGXxAiLsoK7/xN0awjj86asbwgLTo\r\ncZFzkFyjPsvFOA9sdoqTLjDkw9pK79LoTWd7+dgKn6iCA7pNgjncm11rUrsS\r\nBsVhWXO455k8G6y3oBDIgbppbJjXvzxklWfqNFfVPMdIuXoWTqLGQNJdD/AV\r\nLA45v/BG0w5kFVHDzVdf+JwJ4pt1bKEtfW8nwxFK3L9JbypMff4jbKUjCEa3\r\nu3pT104YPjFzmCU+155Oi3YYkTxwZVuLyGncNPLYcMXXRkeBNtI7UR2W2qKg\r\nc/4Ii8PDBgVd+2IWgX79+GNd/889fxYhhkV9PwLiLJ9Zehuucs5lwGeUos9V\r\nzlNQBYE7UrSWuSv3vE1V8WPkv4EQ8oCSBuAXwPplJKf3YsUA2040XG14e6CU\r\ndhLwqNbqe9cjSxZcvOzcGbg5KDursZQrcbBGv2/KX2upmCGb/AQfhYAj9puS\r\nYOuyrovoKZPR0gge7dymMwO14muHrQb7Qm9DLyorVd9X2MbF4dKDQFd+8FHX\r\n1tFbmEXOVV5JzIt65EqTUiDmYBuISCnNKtrKdAN0wR4YKQNh5WWICZmKo15j\r\ny7P3e4rb3T3TJ+KiphmGxV8iYAr6sHRdAo8h6Fc3TP+Ap+nUFEmy0GFXqwOA\r\nVBtNkpzK5Qf/SIpKqMPG88R+hnSyMVsfkso=\r\n=hDok\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jacokruger","email":"superkruger@gmail.com"},"directories":{},"maintainers":[{"name":"jacokruger","email":"superkruger@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-oauth2_1.0.20_1670321905750_0.4143294849812911"},"_hasShrinkwrap":false},"1.0.21":{"name":"@a11n-io/react-use-oauth2","author":{"name":"Tasos Kakouris","email":"tasoskakour@gmail.com"},"keywords":["react","hooks","typescript","nodejs","oauth2"],"version":"1.0.21","description":"A React hook that handles OAuth2 authorization flow.","license":"MIT","homepage":"https://github.com/tasoskakour/react-use-oauth2#readme","bugs":{"url":"https://github.com/tasoskakour/react-use-oauth2/issues"},"repository":{"type":"git","url":"git+https://github.com/a11n-io/react-use-oauth2.git"},"main":"dist/cjs/index.js","module":"dist/esm/index.js","dependencies":{"use-local-storage-state":"^18.1.0"},"scripts":{"build":"rollup -c","example":"rollup -c rollup.config.example.js -w","test":"NODE_ENV=test npm run lint && start-server-and-test example \"3000|3001\" jest","lint":"eslint . --cache","prepare":"husky install"},"browserslist":{"production":[">1%","not dead","not op_mini all","not ie > 0","not ie_mob > 0"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"peerDependencies":{"react":"^18.2.0"},"devDependencies":{"@babel/core":"^7.18.9","@babel/plugin-transform-runtime":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@rollup/plugin-commonjs":"^22.0.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.3.0","@rollup/plugin-replace":"^4.0.0","@rollup/plugin-run":"^2.1.0","@rollup/plugin-typescript":"^8.3.3","@types/jest":"^28.1.6","@types/node":"^18.0.6","@types/react":"^18.0.15","@types/react-dom":"^18.0.6","babel-jest":"^28.1.3","babel-loader":"^8.2.5","builtin-modules":"^3.3.0","delay":"^5.0.0","eslint":"^8.20.0","eslint-config-tasoskakour-typescript-prettier":"^2.0.5","fastify":"^4.3.0","husky":"^8.0.1","jest":"^28.1.3","jest-puppeteer":"^6.1.1","lint-staged":"^13.0.3","puppeteer":"^15.5.0","react-dom":"^18.2.0","react-router-dom":"^6.3.0","rollup":"^2.77.0","rollup-plugin-delete":"^2.0.0","rollup-plugin-dts":"^4.2.2","rollup-plugin-livereload":"^2.0.5","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-serve":"^2.0.0","rollup-plugin-terser":"^7.0.2","start-server-and-test":"^1.14.0","ts-jest":"^28.0.7","typescript":"^4.7.4"},"engines":{"node":">=14"},"types":"dist/index.d.ts","lint-staged":{"*.{js,ts,tsx}":"eslint --cache --fix"},"publishConfig":{"access":"public"},"gitHead":"47ee2dee1af18eb32966bf1a7ef6ac329f097888","_id":"@a11n-io/react-use-oauth2@1.0.21","_nodeVersion":"19.0.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-LsZoQwzcrmN1gtMF0dojWz4NFOtNkXI9y/l5RasEAvoPC4Hz+RiPkCycbW3RVGBZts/LrG1OzNjZd7iGzRqgzA==","shasum":"e736bea5816db5446d9a4de0bcb5c4ff29b5eb43","tarball":"https://registry.npmjs.org/@a11n-io/react-use-oauth2/-/react-use-oauth2-1.0.21.tgz","fileCount":18,"unpackedSize":91296,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICapsE6LEx23kkkKxErVLNnDUv87nkCp5zkcXGvBgFIdAiA0jofU8EGkbfxrIyzkxlfhDrEWOwUpcETV+7TPeMbk2Q=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjjxmwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrdXBAAm4DvlCICtClZuBHCXy3f9anWtThUwavR2V6FqBlidB2eMTC0\r\nNvYgaZ9CKjHBhI/4HXqKcY71id/x8EODuBx/vhljBSgVtqliee94N7fcmqbg\r\nDkTwy8YJumnnkrAMSR6MkJN+rT0g/jxvlWte872v+09KhKDxO9Y8NnIrxEWQ\r\noAz+qxfvlQO1vmVNiNnypyfzoyL7ohBY66k6MnQiwdf0jTY0ex5ntQKscnaw\r\n5KwRyC5S3Lou21p24bv42QsyuxEpT8FfjM9WNE7u3DTLDJ1iafQU9BE5S0aH\r\nkMV7xAk/nJHsZJs0AMH21ACMMIk6piPE4VGVsaSZJprmtIlUPiLo5Fh4BNFZ\r\n2e9F/OxvSSFQsCXGiZ6A6P1VfkJiCn/jtIAOUn+9rOnJbZpGGH28MSC8q48X\r\nngga10/O/q70PqHGSPGZuFZllgvjttmC2A62Lwpn4LoPVUSWMmDJrRn2lOZ5\r\ncC1vqYL0VmDw3kPa0g2oBac1mAoEk7iT3NJKgE+/qRXWxeCdeR+oJbSJixOg\r\nVVHQJUXt6lG8yTeJdZsBlu2Z26Z+7gV76JSb5/Qk0UKtFjXBTmqWuhMZmWl7\r\n3x/x8cmt25//tKEePuIfpVO5j5yfGEFnAzTS77PQ6k/98BfJMjnWKFKSlV8Q\r\nAawumCOcg+FPhnuqZHj+/zl73r5/bAfMWq8=\r\n=WxhJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jacokruger","email":"superkruger@gmail.com"},"directories":{},"maintainers":[{"name":"jacokruger","email":"superkruger@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-oauth2_1.0.21_1670322608722_0.1314170110528179"},"_hasShrinkwrap":false}},"time":{"created":"2022-11-23T13:17:13.930Z","1.0.12":"2022-11-23T13:17:14.244Z","modified":"2022-12-06T10:30:08.966Z","1.0.13":"2022-11-23T13:39:12.492Z","1.0.14":"2022-11-23T13:50:59.142Z","1.0.15":"2022-11-23T14:17:50.464Z","1.0.16":"2022-11-24T10:15:11.615Z","1.0.17":"2022-11-24T10:41:24.397Z","1.0.18":"2022-11-24T10:50:22.631Z","1.0.19":"2022-12-05T15:46:34.435Z","1.0.20":"2022-12-06T10:18:25.906Z","1.0.21":"2022-12-06T10:30:08.837Z"},"maintainers":[{"name":"jacokruger","email":"superkruger@gmail.com"}],"description":"A React hook that handles OAuth2 authorization flow.","homepage":"https://github.com/tasoskakour/react-use-oauth2#readme","keywords":["react","hooks","typescript","nodejs","oauth2"],"repository":{"type":"git","url":"git+https://github.com/a11n-io/react-use-oauth2.git"},"author":{"name":"Tasos Kakouris","email":"tasoskakour@gmail.com"},"bugs":{"url":"https://github.com/tasoskakour/react-use-oauth2/issues"},"license":"MIT","readme":"# @tasoskakour/react-use-oauth2\n\n![gh workflow](https://img.shields.io/github/workflow/status/tasoskakour/react-use-oauth2/CI%20&%20CD) [![npm](https://img.shields.io/npm/v/@tasoskakour/react-use-oauth2.svg?style=svg&logo=npm&label=)](https://www.npmjs.com/package/@tasoskakour/react-use-oauth2)\n\n> 💎 A custom React hook that makes OAuth2 authorization simple. Both for **Implicit Grant** and **Authorization Code** flows.\n\n## Features\n\n- Usage with both `Implicit` and `Authorization Code` grant flows.\n- Seamlessly **exchanges code for token** via your backend API URL, for authorization code grant flows.\n- Works with **Popup** authorization.\n- Provides data and loading/error states via a hook.\n- **Persists data** to localStorage and automatically syncs auth state between tabs and/or browser windows.\n\n## Install\n\n_Requires `react@16.8.0` or higher that includes hooks._\n\n```console\nyarn add @tasoskakour/react-use-oauth2\n```\n\nor\n\n```console\nnpm i @tasoskakour/react-use-oauth2\n```\n\n## Usage example\n\n*For authorization code flow:*\n\n```js\nimport { OAuth2Popup, useOAuth2 } from \"@tasoskakour/react-use-oauth2\";\nimport { BrowserRouter, Routes, Route } from \"react-router-dom\";\n\nconst Home = () => {\n  const { data, loading, error, getAuth } = useOAuth2({\n    authorizeUrl: \"https://example.com/auth\",\n    clientId: \"YOUR_CLIENT_ID\",\n    redirectUri: `${document.location.origin}/callback`,\n    scope: \"YOUR_SCOPES\",\n    responseType: \"code\",\n    exchangeCodeForTokenServerURL: \"https://your-backend/token\",\n    exchangeCodeForTokenMethod: \"POST\",\n    onSuccess: (payload) => console.log(\"Success\", payload),\n    onError: (error_) => console.log(\"Error\", error_)\n  });\n\n  const isLoggedIn = Boolean(data?.access_token); // or whatever...\n\n  if (error) {\n    return <div>Error</div>;\n  }\n\n  if (loading) {\n    return <div>Loading...</div>;\n  }\n\n  if (isLoggedIn) {\n    return <pre>{JSON.stringify(data)}</pre>;\n  }\n\n  return (\n    <button style={{ margin: \"24px\" }} type=\"button\" onClick={() => getAuth()}>\n      Login\n    </button>\n  );\n};\n\nconst App = () => {\n  return (\n    <BrowserRouter>\n      <Routes>\n        <Route element={<OAuthPopup />} path=\"/callback\" />\n        <Route element={<Home />} path=\"/\" />\n      </Routes>\n    </BrowserRouter>\n  );\n};\n```\n\n### What is the purpose of `exchangeCodeForTokenServerURL` for Authorization Code flows?\n\nGenerally when we're working with authorization code flows, we need to *immediately* **exchange** the retrieved *code* with an actual *access token*, after a successful authorization. Most of the times this is needed for back-end apps, but there are many use cases this is useful for front-end apps as well. \n\nIn order for the flow to be accomplished, the 3rd party provider we're authorizing against (e.g Google, Facebook etc), will provide an API call (e.g for Google is `https://oauth2.googleapis.com/token`) that we need to hit in order to exchange the code for an access token. However, this call requires the `client_secret` of your 3rd party app as a parameter to work - a secret that you cannot expose to your front-end app. \n\nThat's why you need to proxy this call to your back-end and `exchangeCodeForTokenServerURL` is the API URL of your back-end route that will take care of this. The request parameters that will get passed along as **query parameters** are `{ code, client_id, grant_type, redirect_uri }`. By default this will be a **POST** request but you can change it with the `exchangeCodeForTokenMethod` property. \n\n\nYou can read more about \"Exchanging authorization code for refresh and access tokens\" in [Google OAuth2 documentation](https://developers.google.com/identity/protocols/oauth2/web-server#exchange-authorization-code).\n\n### What's the case with Implicit Grant flows?\n\nWith an implicit grant flow things are much simpler as the 3rd-party provider immediately returns the `access_token` to the callback request so there's no need to make any action after that. Just set `responseType=token` to use this flow.\n\n### Data persistence\n\nAfter a successful authorization, data will get persisted to **localStorage** and the state will automatically sync to all tabs/pages of the browser. The storage key the data will be written to will be: `{responseType}-{authorizeUrl}-{clientId}-{scope}`. \n\nIf you want to re-trigger the authorization flow just call `getAuth()` function again.\n\n## API\n\n- `function useOAuth2(options): {data, loading, error, getAuth}`\n\nThis is the hook that makes this package to work. `Options` is an object that contains the properties below\n\n- **authorizeUrl** (string): The 3rd party authorization URL (e.g https://accounts.google.com/o/oauth2/v2/auth).\n- **clientId** (string): The OAuth2 client id of your application.\n- **redirectUri** (string): Determines where the 3rd party API server redirects the user after the user completes the authorization flow. In our [example](#usage-example) the Popup is rendered on that redirectUri.\n- **scope** (string - _optional_): A list of scopes depending on your application needs.\n- **responseType** (string): Can be either **code** for _code authorization grant_ or **token** for _implicit grant_ .\n- **extraQueryParameters** (string - _optional_): An object of extra parameters that you'd like to pass to the query part of the authorizeUrl, e.g {audience: \"xyz\"}.\n- **exchangeCodeForTokenServerURL** (string): This property is only used when using _code authorization grant_ flow (responseType = code). It specifies the API URL of your server that will get called immediately after the user completes the authorization flow. Read more [here](#what-is-the-purpose-of-exchangecodefortokenserverurl-for-authorization-code-flows).\n- **exchangeCodeForTokenMethod** (string - _optional_): Specifies the HTTP method that will be used for the code-for-token exchange to your server. Defaults to **POST**.\n- **onSuccess** (function): Called after a complete successful authorization flow.\n- **onError** (function): Called when an error occurs.\n\n**Returns**:\n\n- **data** (object): Consists of the retrieved auth data and generally will have the shape of `{access_token, token_type, expires_in}` (check [Typescript](#typescript) usage for providing custom shape).\n- **loading** (boolean): Is set to true while the authorization is taking place.\n- **error** (string): Is set when an error occurs.\n- **getAuth** (function): Call this function to trigger the authorization flow.\n\n---\n\n- `function OAuthPopup(props)`\n\nThis is the component that will be rendered as a window Popup for as long as the authorization is taking place. You need to render this in a place where it does not disrupt the user flow. An ideal place is inside a `Route` component of `react-router-dom` as seen in the [usage example](#usage-example). \n\nProps consists of: \n\n- **Component** (ReactElement - _optional_): You can optionally set a custom component to be rendered inside the Popup. By default it just displays a \"Loading...\" message.\n\n### Typescript\n\nThe `useOAuth2` function identity is:\n\n```\nconst useOAuth2: <TData = AuthTokenPayload>(props: Oauth2Props<TData>) => {\n    data: State<AuthTokenPayload>;\n    loading: boolean;\n    error: null;\n    getAuth: () => () => void;\n}\n```\n\nThat means that generally the data will have the shape of `AuthTokenPayload` which consists of: \n\n```\ntoken_type: string;\nexpires_in: number;\naccess_token: string;\nscope: string;\nrefresh_token: string;\n```\n\nAnd that also means that you can set the data type by using the hook like this: \n\n```\ntype MyCustomShapeData = {\n  ...\n}\n\nconst {data, ...} = useOAuth2<MyCustomShapeData>({...});\n```\n\n### Tests\n\nYou can run tests by calling\n\n```console\nnpm test\n```\n\nIt will start a react-app (:3000) and  back-end server (:3001) and then it will run the tests with jest & puppeteer. ","readmeFilename":"README.md"}