{"_id":"remix-auth-oauth2","_rev":"30-e1a4930c713e152be7c241a0a63710ff","name":"remix-auth-oauth2","dist-tags":{"latest":"3.4.1"},"versions":{"1.0.0":{"name":"remix-auth-oauth2","version":"1.0.0","keywords":["remix","remix-auth","auth","authentication","strategy"],"license":"MIT","_id":"remix-auth-oauth2@1.0.0","maintainers":[{"name":"sergiodxa","email":"sergiodxa@gmail.com"}],"dist":{"shasum":"2761595056c5202ffad579a9837f77f024cb2f74","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-1.0.0.tgz","fileCount":5,"integrity":"sha512-G88GOjuyEDiZPMUoFuj7PsIGjmQILLL8WsRVQ2U1zIN7OjFz3fTI+E20AUYqGOS5QflYVf66c+t/QVxM7V7Zsg==","signatures":[{"sig":"MEYCIQDeOyLhlyGLcsluiVDJwWh7m+BD8F3bXml6sMEzqA/UBQIhAPY4999SeaKyeX7GsL9GTNznTu2g0hq3VG4474/c3FKi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24234,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwTZzCRA9TVsSAnZWagAAiHUP/A8M3+qiU5JIPW/ENKSQ\n9AY1yqskpPPd+2r8OJR82FbQB7HbvzCyJMA9xVFtudZQR7abWzdGx052uwfr\nUFT9mSfH9ScSH6KxC69UZosrPU2fOxOb8KSovdyBf/4wjEnDj1Vgk7+jlCst\nxL5SWbn9kK1pTcU4cAp78RLcSHcoK4tYDIT7bP6fM6Avee4bFGhbtbi0Vzvz\nZwFMbszAXH5rE2MdxVQs4Y3I+GT9W2U2BcbqZ25abZeyHEQscnWT9BxbYC+g\n9tux950q2rWf1LRQCl1YfcoflxCkrBc7gKi9RwgYIBMmQSNImJ5//mtkU5NV\nsw7kbPhZxOEx8fO/RprOYik6OnSUO+7x5Hiae+rswFvExBpt/5hhTXHVagkj\nixOzoAH4fdi6x9S1xx7tjdyrmgL3nr/0tgdpZZBWuzjcTiuv6diy464NSYbU\n8cMNzCyN7DnV0Va7vocd9yhLZtMxcIiDQvgoj7ROOjC6bi/CLdLBQI9bFVGo\nZjjFIpsfJmdmQQSS2KcRSRsYJQiIKxZrjuZ1tOJCUMZlW4qHQ59f6r974Tej\npo1vmJdihWUMJ4BkL30VVpQoO33b5105oHvP3nQOuIJ2aoAuBw+jJUGEpues\ncsnqheqGgEZgNky3L7O+cWD1vfWfAmGNsRWMwGS90WkMBJeu1Oy+osyNWRJN\nEw8E\r\n=XGDO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"6d965e40c1da0332b61d0edcf3e5c72142f2c547","scripts":{"lint":"eslint --ext .ts,.tsx src/","test":"jest --config=config/jest.config.ts --passWithNoTests","build":"tsc --project tsconfig.json","coverage":"npm run test -- --coverage","typecheck":"tsc --project tsconfig.json --noEmit"},"_npmUser":{"name":"sergiodxa","email":"sergiodxa@gmail.com"},"_npmVersion":"6.14.15","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","directories":{},"_nodeVersion":"14.18.2","dependencies":{"uuid":"^8.3.2","remix-auth":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","react":"^17.0.2","eslint":"^7.26.0","ts-node":"^9.1.1","prettier":"^2.3.2","babel-jest":"^26.6.3","typescript":"^4.3.5","@babel/core":"^7.14.2","@types/jest":"^26.0.23","@types/uuid":"^8.3.3","@remix-run/node":"^1.0.3","jest-fetch-mock":"^3.0.3","@remix-run/react":"^1.1.1","@babel/preset-env":"^7.14.1","eslint-plugin-jest":"^24.3.6","@babel/preset-react":"^7.13.13","eslint-plugin-unicorn":"^32.0.1","eslint-config-prettier":"^8.3.0","eslint-plugin-jest-dom":"^3.9.0","eslint-plugin-prettier":"^3.4.0","@babel/preset-typescript":"^7.13.0","@remix-run/server-runtime":"^1.0.0","@typescript-eslint/parser":"^4.23.0","@typescript-eslint/eslint-plugin":"^4.23.0"},"peerDependencies":{"@remix-run/server-runtime":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-auth-oauth2_1.0.0_1640052339788_0.05134267005878934","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"remix-auth-oauth2","version":"1.1.0","keywords":["remix","remix-auth","auth","authentication","strategy"],"license":"MIT","_id":"remix-auth-oauth2@1.1.0","maintainers":[{"name":"sergiodxa","email":"sergiodxa@gmail.com"}],"dist":{"shasum":"247cb8adfef8c3415090833c9f670d98638375b1","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-1.1.0.tgz","fileCount":5,"integrity":"sha512-6TtABgU4dBFKq1wqbmkKBEFClGytdS2s+e+byUGT4oPZkurfPhjNoLYTPFkreVHvD9mMDv0Rj/shzq8jgmdhBg==","signatures":[{"sig":"MEQCIFFAM86/azqSyaxXfyfNG92M56hWpuqP1cdRI8+KHX/nAiAp7jWIKUzd3T/2lE9ZohLrxuRRchWZPJ1nSa/EcWoZ8g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24420,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhy9Y0CRA9TVsSAnZWagAASlUQAJANrFRwbZLf3TTo5ll7\nBYezaiqPxoPf3eW7A4h1Z7XYhuQWTeMMLnwZQD8mdkqWlAfOM2DlYv4sGGOo\nO82lXUmokra2W4KKRbbFZpqYolM1xwZxACCb8PPqGvlUSSefQvkowXGczvn7\nZ1K09SroxbfL5/u8y8atnelfC9u5Gbps4x3pnyo8YQN3yBBRbXce6ew5LcX0\nPOKMOCxnAQ2yIvxmQiidQ7m8yS6iC4suIYeDczjbRcvV1nDQo1dYw9NgSQbM\nTt6B3/tvUKJFLwyklDmKr7EWZjyUrlmxpxGxgefZB8E+Ym5IcpoFlkZNWBap\nU39GUCYQWiw00cvJ9IlrHpNmZ22jki/yITfq1GKQ23qHdf5OmPoXKM/AeHKO\nONSgFWI2EqTRtPBleTyp+ctowzgfA5QWyu7bDSTD9FCzjEUr/C3+i7IdCQ9Y\n4ivUl5MF53xwtwVq2q4Tr0z4EfpslreoB6ulXY377rv+OAaGYzuXjIKaFT0o\nn7h6+/OLJhDGikdFjHPB28LhUV7V8chK4FeoPtJbI4ndPQrgzOVucmfls6l1\nRqYW/p56YKlaeZaUHs0EP/LcK3JIMoIlkARREtiBe9akCEMDewUh7KjqfDgZ\nQ7gipqYm9CgOLjK9yLu1C0l33g4Vo8cYAPGrfSQ4UkjKYDnxSUgseiTCMmga\nyz/w\r\n=qfJ8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"45a73ce5694efb7e28c56260ead6407bb04d6cc2","scripts":{"lint":"eslint --ext .ts,.tsx src/","test":"jest --config=config/jest.config.ts --passWithNoTests","build":"tsc --project tsconfig.json","coverage":"npm run test -- --coverage","typecheck":"tsc --project tsconfig.json --noEmit"},"_npmUser":{"name":"sergiodxa","email":"sergiodxa@gmail.com"},"_npmVersion":"6.14.15","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","directories":{},"_nodeVersion":"14.18.2","dependencies":{"uuid":"^8.3.2","remix-auth":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","react":"^17.0.2","eslint":"^7.26.0","ts-node":"^9.1.1","prettier":"^2.3.2","babel-jest":"^26.6.3","typescript":"^4.3.5","@babel/core":"^7.14.2","@types/jest":"^26.0.23","@types/uuid":"^8.3.3","@remix-run/node":"^1.0.3","jest-fetch-mock":"^3.0.3","@remix-run/react":"^1.1.1","@babel/preset-env":"^7.14.1","eslint-plugin-jest":"^24.3.6","@babel/preset-react":"^7.13.13","eslint-plugin-unicorn":"^32.0.1","eslint-config-prettier":"^8.3.0","eslint-plugin-jest-dom":"^3.9.0","eslint-plugin-prettier":"^3.4.0","@babel/preset-typescript":"^7.13.0","@remix-run/server-runtime":"^1.0.0","@typescript-eslint/parser":"^4.23.0","@typescript-eslint/eslint-plugin":"^4.23.0"},"peerDependencies":{"@remix-run/server-runtime":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-auth-oauth2_1.1.0_1640748596495_0.18407870582600339","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"remix-auth-oauth2","version":"1.2.0","keywords":["remix","remix-auth","auth","authentication","strategy"],"license":"MIT","_id":"remix-auth-oauth2@1.2.0","maintainers":[{"name":"sergiodxa","email":"sergiodxa@gmail.com"}],"dist":{"shasum":"3399627d1d4320f3d467349b2fd64a0cc031ccbb","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-1.2.0.tgz","fileCount":5,"integrity":"sha512-4tTERccQV3A/ljYzQkwNIcXnsx0DwqkwHZBz6D90/EcIsN1Hi4ywq4bwa0KJNm5Fc2J2xlsw2dxpEF0oEmklog==","signatures":[{"sig":"MEYCIQDNuzeVWGOPH19QK3eiNpYkTQeubGFT2WRMce+NnhMpdQIhAL/1xaxUcS4HcUbPyqoQpup5gybefOvZ0iuY08tl5oMF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24358,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh4JaoCRA9TVsSAnZWagAAbVcQAJWvGOqCSrXLqe9B9AYU\nfQwktYtG+Am7nYvA860caGA8v/w5P6dEr8UPmK2elWhkUKl3dgFWT5d27pNn\nU8zRgOCSyjITI0Jhl/+sImwD3K07v+cuXTYnSBhazLbS9z3dYPxn4p0UtBTC\nT6NeTCAVXHAIZiIFZqRGAPDzQ7qXyTeG9HbHMmOpbgrLED4TjNifLKXS0Q4J\n8lHM5uslhkPuGsfvsFqc6W+XK78ckCvVGq8SmbNEMEIjlv3l7sdwASK2HjTx\nHePAP+gHuVrfdzRX8KW1dx2j9YN6UfOMK17bX0d2XVwUQTC7IgK3LPxICkpA\nxL1H0XWATWZr0dT+CXfV010X4oE/jf55T3W9bTOhnUD+fGlKBDB8RAYWduxs\njpHh/iP2hT+m6aEfSPrwIUGJomiKSrUQBMsyHtd2JVLBc3MQ8NMLKNcW/2QD\n1wGD+os+whxI2cbAziVCzPOLMmXQJH41CHJh9xH0K9VqHhaDulRbW9rA35Zu\nCRA9VZg76xxF3HNqKB/WDO7j85Y4JPj4C7XTRE09iLw2NKetu1pGJnOm9ikF\nSiAtgjMgWcNOQN11bQhekkcHeyGy5pyk5FBFEgGzkzCTKrC0qD/xPoWugfmi\nIODWUZiK7ngo6QFvUQqqyVKWBrcwdC+0wEN/L3gAWxZAeRlQkO0ZSoieQL6H\nmqYE\r\n=2Qxa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"b9582386e48cd7f91abc31bb59d3f6ca10354a26","scripts":{"lint":"eslint --ext .ts,.tsx src/","test":"jest --config=config/jest.config.ts --passWithNoTests","build":"tsc --project tsconfig.json","coverage":"npm run test -- --coverage","typecheck":"tsc --project tsconfig.json --noEmit"},"_npmUser":{"name":"sergiodxa","email":"sergiodxa@gmail.com"},"_npmVersion":"6.14.15","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","directories":{},"_nodeVersion":"14.18.3","dependencies":{"uuid":"^8.3.2","debug":"^4.3.3","remix-auth":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","react":"^17.0.2","eslint":"^7.26.0","ts-node":"^9.1.1","prettier":"^2.3.2","babel-jest":"^26.6.3","typescript":"^4.3.5","@babel/core":"^7.14.2","@types/jest":"^26.0.23","@types/uuid":"^8.3.3","@types/debug":"^4.1.7","@remix-run/node":"^1.0.3","jest-fetch-mock":"^3.0.3","@remix-run/react":"^1.1.1","@babel/preset-env":"^7.14.1","eslint-plugin-jest":"^24.3.6","@babel/preset-react":"^7.13.13","eslint-plugin-unicorn":"^32.0.1","eslint-config-prettier":"^8.3.0","eslint-plugin-jest-dom":"^3.9.0","eslint-plugin-prettier":"^3.4.0","@babel/preset-typescript":"^7.13.0","@remix-run/server-runtime":"^1.0.0","@typescript-eslint/parser":"^4.23.0","@typescript-eslint/eslint-plugin":"^4.23.0"},"peerDependencies":{"@remix-run/server-runtime":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-auth-oauth2_1.2.0_1642108584595_0.167476656727495","host":"s3://npm-registry-packages"}},"1.2.1":{"name":"remix-auth-oauth2","version":"1.2.1","keywords":["remix","remix-auth","auth","authentication","strategy"],"license":"MIT","_id":"remix-auth-oauth2@1.2.1","maintainers":[{"name":"sergiodxa","email":"sergiodxa@gmail.com"}],"dist":{"shasum":"f50dda39b725ffa730320dd8c95708b3892c6c9b","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-1.2.1.tgz","fileCount":5,"integrity":"sha512-fx4yHPuRROxjFO++VqHiw2peWATcBmNcLqaGyIvb9gBllElcqBFPZP/oXi0HaeqtPqilb8WJMULnVRCfKWWskA==","signatures":[{"sig":"MEUCIFejGpEt8Frumb/fLbl+J1Ty3BkGmwMWeGeyETKjAQwEAiEAxyY/UnokDZtxTbKp8SKx0HrEHzYu4qaYaaK1kHSUr0U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24394,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJia2MzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpthg/+JEiwwbW9+Rs3Mk17RojdN9whdNLdQ6Ggl6pArjuyf9DyyG4J\r\nZiJv8T8aFGUC1BI3B28S7AnVmknefKxfWChcvQE5nAK5dUpojMYIztt3o8Bu\r\nLOAeG6VNRP6hgi1wha5rTS+spaBFt99DcFrjvwAbDNDbv+bVEEKDOquaqCOy\r\nVBIIdWK+sHN2A4Ri/i84ZLxUsncIK5YL6bQKT9ojAv5VGiZxzuf6SjvZwai9\r\ngw+RNv+2CNuyDkx6JnDVMhGQrnP2O9xFwoAfYhD0xTOY2PaZBVnmwsDHBFZU\r\n4KOIxJFsuUjyJ7tXLjLVMm1RwfQ1ulFzoDmYtYSHxTZpKH7Snbuv778nwa3L\r\neZwi46TIeIjQ0oB6GeXG4T3QcKougCfPoGGimVmu/PRPWPqrVV/hEVOx8Sau\r\n435+EKoVSJlYTwv2Vp0yl7GHApcu4+XcJ4h2mlYAbR/7BoyaZjdJDLoS3qQP\r\nKd6QNqfBAU+aplbhSKRT77BdQx4VAYxM5IIqzWchc6dU3hABVoWNEiNNeDmp\r\n+kd8dcSS3kCNHqPRdkcXZwXrPt+bkgUKFfTgr33mTg4e9z9xoJQstZy1vAjM\r\nMIb9RHBfugRQ53162K3Ji3iBk4IbDysJ3W1naa9W9qMRRkgfXwLCVSIGBCMA\r\ns/EQ0un6l6JZkt1qutVrNI8+GXLElBxaF1Q=\r\n=0xXL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"5b8fb21edc226ee4d1341b94e0b33381263c31f3","scripts":{"lint":"eslint --ext .ts,.tsx src/","test":"jest --config=config/jest.config.ts --passWithNoTests","build":"tsc --project tsconfig.json","coverage":"npm run test -- --coverage","typecheck":"tsc --project tsconfig.json --noEmit"},"_npmUser":{"name":"sergiodxa","email":"sergiodxa@gmail.com"},"_npmVersion":"6.14.16","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","directories":{},"_nodeVersion":"14.19.1","dependencies":{"uuid":"^8.3.2","debug":"^4.3.3","remix-auth":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","react":"^17.0.2","eslint":"^7.26.0","ts-node":"^9.1.1","prettier":"^2.3.2","babel-jest":"^26.6.3","typescript":"^4.3.5","@babel/core":"^7.14.2","@types/jest":"^26.0.23","@types/uuid":"^8.3.3","@types/debug":"^4.1.7","@remix-run/node":"^1.0.3","jest-fetch-mock":"^3.0.3","@remix-run/react":"^1.1.1","@babel/preset-env":"^7.14.1","eslint-plugin-jest":"^24.3.6","@babel/preset-react":"^7.13.13","eslint-plugin-unicorn":"^32.0.1","eslint-config-prettier":"^8.3.0","eslint-plugin-jest-dom":"^3.9.0","eslint-plugin-prettier":"^3.4.0","@babel/preset-typescript":"^7.13.0","@remix-run/server-runtime":"^1.0.0","@typescript-eslint/parser":"^4.23.0","@typescript-eslint/eslint-plugin":"^4.23.0"},"peerDependencies":{"@remix-run/server-runtime":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-auth-oauth2_1.2.1_1651204914896_0.23333571615356097","host":"s3://npm-registry-packages"}},"1.2.2":{"name":"remix-auth-oauth2","version":"1.2.2","keywords":["remix","remix-auth","auth","authentication","strategy"],"license":"MIT","_id":"remix-auth-oauth2@1.2.2","maintainers":[{"name":"sergiodxa","email":"sergiodxa@gmail.com"}],"dist":{"shasum":"bebe0ac586744ed94885bd47f6bcb710d377fede","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-1.2.2.tgz","fileCount":5,"integrity":"sha512-bbQw/SFAbilSE1zrZFaJN/NM7WUkC63CKJFVz2e/Y21qqMZo5eVQXooSV6d23mABfodeVk6wthngdLAjxak6fQ==","signatures":[{"sig":"MEUCIQCluCJWVkUgOfoNSvi9XACWCBkTJt8VayE8WrDyAoFrNQIgCMqqAEePieOdCwSi00yXuNcTTakzW24EFSLTeDwYmIs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24423,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifBSKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrkmg//d9IODtze7Ro4S7pvfnJQV+IEaNP2uDTEktiUAaJIQ9h2/sxm\r\nHQjRam9WwzB5XxnfK3pDAg4wPUlvzRsCu4MKi2wrOBYnI34CRnS/2nAnkgVr\r\nC7eMd/faoEGbja1Q6Mrd7fNieW47OEr7yIMUIirU6SuKh6Szj3p2daeBYVHb\r\na9ggYLkxJxHAtkbpxckmo5dZ9vU7GsOKC8LhVs0PzTOceEXZ8IZhk2uCDRZJ\r\nXXEwjqwGToNPSHYZDGafHPieydeXoyneeMw/Wvmy/stFRI/d1/aGzbMqsAV3\r\nEMcU1kK7olqT2ToSShvLPpzbtk9hwxADe0J7G+Mi9PmtQ4SbsgxuMn/YFEaC\r\nfhyXXmagOrZqfXLLOEtknahxFrBnNcbX3hSXDeH6QIiuU8OlUsIIJUGU5kzo\r\nIRCMDqhvNZg6a6zriW4t7Qxe+C1CIya4GraXF1VDcCJMlPmHj73fNwcdVwki\r\nQyYYHLiV/yhTRIC7ep+ZfP+a9MHoM8HHMiE6jP043ZKf6ez8Sn45dN+WqzgD\r\nMzKgLfYru8+nWwdQbVtOn2byn706WtQp9KRcBzPJ+8VfDHdSfi+W9CxmUCkz\r\nGT5lqPoYUhAXBLd+CVPjK7sGvYIGMroQl61gA9ZWlgafqKXHDMZIpBnrXtFt\r\nAkwvubY9UiIMNuSFG2cRPnnxQFLAPAyXF0A=\r\n=0qPy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"e7876887a4b1807dff5d60e601148c067af331a3","scripts":{"lint":"eslint --ext .ts,.tsx src/","test":"jest --config=config/jest.config.ts --passWithNoTests","build":"tsc --project tsconfig.json","coverage":"npm run test -- --coverage","typecheck":"tsc --project tsconfig.json --noEmit"},"_npmUser":{"name":"sergiodxa","email":"sergiodxa@gmail.com"},"_npmVersion":"6.14.16","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","directories":{},"_nodeVersion":"14.19.1","dependencies":{"uuid":"^8.3.2","debug":"^4.3.4","react-dom":"^18.1.0","remix-auth":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.0","react":"^18.1.0","eslint":"^8.15.0","ts-node":"^10.7.0","prettier":"^2.6.2","babel-jest":"^28.1.0","typescript":"^4.6.4","@babel/core":"^7.17.10","@types/jest":"^27.5.0","@types/uuid":"^8.3.4","@types/debug":"^4.1.7","@remix-run/node":"^1.4.3","jest-fetch-mock":"^3.0.3","@remix-run/react":"^1.4.3","@babel/preset-env":"^7.17.10","eslint-plugin-jest":"^26.1.5","@babel/preset-react":"^7.16.7","eslint-plugin-unicorn":"^42.0.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest-dom":"^4.0.1","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.16.7","@remix-run/server-runtime":"^1.0.0","@typescript-eslint/parser":"^5.23.0","@typescript-eslint/eslint-plugin":"^5.23.0"},"peerDependencies":{"@remix-run/server-runtime":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-auth-oauth2_1.2.2_1652298890793_0.6154661430270145","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"remix-auth-oauth2","version":"1.3.0","keywords":["remix","remix-auth","auth","authentication","strategy"],"license":"MIT","_id":"remix-auth-oauth2@1.3.0","maintainers":[{"name":"sergiodxa","email":"sergiodxa@gmail.com"}],"dist":{"shasum":"42cb8274e0b4ccecc6c5c5755642482456ff8824","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-1.3.0.tgz","fileCount":5,"integrity":"sha512-vibb7jxzRmeTqkl2SORgTg5rZqSAt8VdAvz3JBJOAbjn1wScvEcHttAJDQHDhdtdDgJVaOjJ0K7QpQNEeZdi0A==","signatures":[{"sig":"MEUCIQCBenvBtG04TCLt6MA3oERJWeKW8TyDUfkiDLbbmspsjAIgctsuYFny4QM5nteaepFPoGiGVNGdMFipRJDWWjxwN3E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi4xPhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmomtxAAiCvgBQxoF/aIWu52HwHQY2S4BuwjjjPRnGgH6gOR04e3k4Hc\r\nHA7SrDbcV08E5q6F/ztqBPZYzCMf9PzWMLVzbZH/dJynuKJtAye2MwluVWTN\r\ntJBzKb65G7+hyX8J3XgHAqFm497JQZb7wLGofpLCElT6upqF02EYY0KqaDjs\r\nDIzc+jWDa8o+19k62J+E6670qHUHWfz07qq5HAQq3Cqs2rEEw4tnG/4NujlS\r\n/EO0Xow5B5KtFuChutEI/VwqCXUJ4S7RIpzAm+G+XH88RP4heySmwXmNl1bE\r\ntnQ2IqnJl3TxnTPFwR8QysV7Jlsxmnv2hin/HQprXuTdz9rn4FkNmi95q5eL\r\nsDQ3HcCVzLl3zstpdnI9yzyDD4Tyli4GBZEGcFzKdh+HKGMlJzpSQbV1Blwf\r\ncDMpExVfXpS6pV0MJNLf9VgTPRXfQnrin2BGxUbEGELL/S/zknRiSzZmfM/1\r\nCGKJsjno+j31WVIH8cZC0uoTNyL4fEV55dRW7vzGHI+dUOB79IzBSnE+i1UM\r\nsZ/qnurEO8SMlRRjO8NMRAifejm642N0ANPYma4ORFpcBp1tuaoM0CU9t1O9\r\ncxClstQtHkcV5ps3hcfrgJEXH3rrkloE+2IAMY6j5YdJLgFHuiJkINxUrNI0\r\npHNpQgIznseKXxkGw8td5k8nad6pchga0Uc=\r\n=F7cg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"8fe9aba27735979ea3c3aeb14a27f659a56fd63c","scripts":{"lint":"eslint --ext .ts,.tsx src/","test":"jest --config=config/jest.config.ts --passWithNoTests","build":"tsc --project tsconfig.json","coverage":"npm run test -- --coverage","typecheck":"tsc --project tsconfig.json --noEmit"},"_npmUser":{"name":"sergiodxa","email":"sergiodxa@gmail.com"},"_npmVersion":"6.14.17","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","directories":{},"_nodeVersion":"14.20.0","dependencies":{"uuid":"^8.3.2","debug":"^4.3.4","remix-auth":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.0","react":"^18.1.0","eslint":"^8.15.0","ts-node":"^10.7.0","prettier":"^2.6.2","babel-jest":"^28.1.0","typescript":"^4.6.4","@babel/core":"^7.17.10","@types/jest":"^27.5.0","@types/uuid":"^8.3.4","@types/debug":"^4.1.7","@remix-run/node":"^1.4.3","jest-fetch-mock":"^3.0.3","@remix-run/react":"^1.4.3","@babel/preset-env":"^7.17.10","eslint-plugin-jest":"^26.1.5","@babel/preset-react":"^7.16.7","eslint-plugin-unicorn":"^42.0.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest-dom":"^4.0.1","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.16.7","@remix-run/server-runtime":"^1.0.0","@typescript-eslint/parser":"^5.23.0","@typescript-eslint/eslint-plugin":"^5.23.0"},"peerDependencies":{"@remix-run/server-runtime":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-auth-oauth2_1.3.0_1659048928748_0.3521424299821392","host":"s3://npm-registry-packages"}},"1.4.0":{"name":"remix-auth-oauth2","version":"1.4.0","keywords":["remix","remix-auth","auth","authentication","strategy"],"license":"MIT","_id":"remix-auth-oauth2@1.4.0","maintainers":[{"name":"sergiodxa","email":"sergiodxa@gmail.com"}],"dist":{"shasum":"bfc6b4f5e39bafac16ffa8d4f0cde4a6d36e18d0","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-1.4.0.tgz","fileCount":5,"integrity":"sha512-KWQlaK7XRA1JmHpj87Q0z60NIj//EptmPnHkNhnb4ISLGIOGFuZ+Up+BJobRkRAu21Lgr3zZtsEz242XFeNO/A==","signatures":[{"sig":"MEUCIFIxUku4AaEDYWnUhOI5yOnLu6FGSlRniivQToj3okEYAiEA+Fg8OtAe5Og/lTYSF0jqqi8Z0WdzdLk+b59zhkaGGyQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25192,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjgPikACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqkihAAmZT/TaRq3I7ebdyD/Bc1ftvaH+ZsJevvI2gg8wD2KLCPZnMO\r\nKsBgJLheoihIATc2LnGlFDg+k09YYdUp9mLy05otVYQxuGAOVsQCpspkW3bX\r\n8TEXO/sSHf1FWDDzUu/ic4nM3CLu0B8D7G1sr0ZlhfVP1H4FKt4/iPvGKHCN\r\ny6tA5bvr27BPwDbctT7338Dk0FaJCOH7rqmeAVXUSs77gT6Qr7KBaDbCmV6o\r\nGtxxAhm5cohgkpUUOOXAwVTG6Y02++CzWjZLWP6Nhjznsa2qMeouW0prDBrQ\r\nvDByzjEqJxE0UD76M8ox3QtMNU+/GGyArpoaA+JTzZwxU+FZJ5LhgwJ0mbHh\r\nlaztHA0xHtxXl/Wobmmux/4KeXJ52I52Dct8fNQmVbShIIQgaUGFNNqf1JBj\r\nuilS5IE6Yj3EnyspJuBJzIyB5opR/QWdwUoo8pfvoWYqAQQchNKcoRJjyFD4\r\n41gUyp3UXJ9tfjVwsZAFaHZT4bBwJMzLXBr65erlQ2PREE9Hdx5/VPEzFxKT\r\n+Tn/PKDFQ7SkW1k89gHWYU7L/bty8JhPDREG5q5c36gTmyqEPu5pl78Ibwlf\r\nHDHKNtugJXfdM44sImsY1gVUEdcnk90L6kJISe/t8yGW6A3Pqtmjf2CehvP1\r\nMd8prDLcU7SdB4orWfV43dp3Ec8ZzgtEygg=\r\n=Z8Gc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"4f0dd6e014d3e9e827f55a9aac32f53fa5f1991d","scripts":{"lint":"eslint --ext .ts,.tsx src/","test":"jest --config=config/jest.config.ts --passWithNoTests","build":"tsc --project tsconfig.json","coverage":"npm run test -- --coverage","typecheck":"tsc --project tsconfig.json --noEmit"},"_npmUser":{"name":"sergiodxa","email":"sergiodxa@gmail.com"},"_npmVersion":"6.14.17","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","directories":{},"_nodeVersion":"14.21.1","dependencies":{"uuid":"^8.3.2","debug":"^4.3.4","remix-auth":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.0","react":"^17.0.0","eslint":"^8.15.0","ts-node":"^10.7.0","prettier":"^2.6.2","react-dom":"^17.0.0","babel-jest":"^28.1.0","remix-auth":"^3.4.0","typescript":"^4.6.4","@babel/core":"^7.17.10","@types/jest":"^27.5.0","@types/uuid":"^8.3.4","@types/debug":"^4.1.7","@remix-run/node":"^1.0.0","jest-fetch-mock":"^3.0.3","@remix-run/react":"^1.0.0","@babel/preset-env":"^7.17.10","eslint-plugin-jest":"^26.1.5","@babel/preset-react":"^7.16.7","eslint-plugin-unicorn":"^42.0.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest-dom":"^4.0.1","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.16.7","@remix-run/server-runtime":"^1.0.0","@typescript-eslint/parser":"^5.23.0","@typescript-eslint/eslint-plugin":"^5.23.0"},"peerDependencies":{"remix-auth":"^3.2.2","@remix-run/server-runtime":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-auth-oauth2_1.4.0_1669396644079_0.9560282929059845","host":"s3://npm-registry-packages"}},"1.5.0":{"name":"remix-auth-oauth2","version":"1.5.0","keywords":["remix","remix-auth","auth","authentication","strategy"],"license":"MIT","_id":"remix-auth-oauth2@1.5.0","maintainers":[{"name":"sergiodxa","email":"sergiodxa@gmail.com"}],"dist":{"shasum":"63437a4b5d6f43327a7781c8c74216e7d8baba0f","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-1.5.0.tgz","fileCount":5,"integrity":"sha512-vv/CX2bCeVf8vzACfS1Fae+i75Cw0/As3RLkp00+9n9IBEvKi07LhUxTbODNA51jRh+wInnmCRIwsHafKQDD6g==","signatures":[{"sig":"MEYCIQDfdK6sd3rstEUGtU3wGbL8FWqygs68EcvO+JNqGMJnUwIhANl0vbf2V7DFAXuslrVe9G17jsALJiCpbdzs63QproVa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25206,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjh8dDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpoHhAAo3uifnmlXiKxLSfTfaFE7YdmtJ0gOPtP0+F7Hz2HhPzgtipc\r\nrJqEsaYzhNuNJaXxvaXWcSLprPpSprKSPUXMRNW/x00MOO8NFxPxCjDd451i\r\n9adXd2WvGNonCewcMLtO4YZnggYIlzTFO9zzdtVbqaYhu0OD33tqV5RVBGLk\r\n9RXyvaC3D077dSs8wGbyVuopPINspfcKhqBJHxu9AcncyD0udaf30cbGa+uR\r\nk5uzFNNu/Bc8QwHAVaWK6uwKnc+tHZ17+nnJ2gPR9AptJz2mJFPVMhl6vWXA\r\nOibfBoRlDAFVWnDx5NHjVkQwh0Kp5kFOFZzJdmbS3fmGZLvV9CBnhRpiL87M\r\nsMwyyGG2RuU7VJ1ERbH6Lr0PG6RhScUT6IUW/KQppATh1tr6ZNEk3+m+mAWi\r\nkv64GiM38sSVCGqfnfd38PGtRrU7faGDiwkA6I2cGcVwSjkGyUagsV8o/4jW\r\nDAm6lIYaVipXkiN62nGZ21o1hIZ+dn4/Q4fKRe8iWC4B0frqgTYxmW57opa7\r\niW/tufOY31IjlaFbCfRNBzH0mkSMecic+CYbJDyI9FCTp3ZiqyUzf0HzGUBJ\r\n/kB+oIzpehnPLAJD9DKBOnxmIUbLCu+0DeLXL5iao4xyT7740Pxt7rXTWsks\r\nQtV4UiwClwMvWPjcYY+lXC8aJ9HdCWjzNeg=\r\n=lTZg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"510258610379eaf4354cdd041e4a78838f81e26c","scripts":{"lint":"eslint --ext .ts,.tsx src/","test":"jest --config=config/jest.config.ts --passWithNoTests","build":"tsc --project tsconfig.json","coverage":"npm run test -- --coverage","typecheck":"tsc --project tsconfig.json --noEmit"},"_npmUser":{"name":"sergiodxa","email":"sergiodxa@gmail.com"},"_npmVersion":"6.14.17","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","directories":{},"_nodeVersion":"14.21.1","dependencies":{"uuid":"^8.3.2","debug":"^4.3.4","remix-auth":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.0","react":"^17.0.0","eslint":"^8.15.0","ts-node":"^10.7.0","prettier":"^2.6.2","react-dom":"^17.0.0","babel-jest":"^28.1.0","remix-auth":"^3.4.0","typescript":"^4.6.4","@babel/core":"^7.17.10","@types/jest":"^27.5.0","@types/uuid":"^8.3.4","@types/debug":"^4.1.7","@remix-run/node":"^1.0.0","jest-fetch-mock":"^3.0.3","@remix-run/react":"^1.0.0","@babel/preset-env":"^7.17.10","eslint-plugin-jest":"^26.1.5","@babel/preset-react":"^7.16.7","eslint-plugin-unicorn":"^42.0.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest-dom":"^4.0.1","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.16.7","@remix-run/server-runtime":"^1.0.0","@typescript-eslint/parser":"^5.23.0","@typescript-eslint/eslint-plugin":"^5.23.0"},"peerDependencies":{"remix-auth":"^3.2.2","@remix-run/server-runtime":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-auth-oauth2_1.5.0_1669842755062_0.7628085770099313","host":"s3://npm-registry-packages"}},"1.6.0":{"name":"remix-auth-oauth2","version":"1.6.0","keywords":["remix","remix-auth","auth","authentication","strategy"],"license":"MIT","_id":"remix-auth-oauth2@1.6.0","maintainers":[{"name":"sergiodxa","email":"sergiodxa@gmail.com"}],"dist":{"shasum":"347db1c9bfac934ca6e90288c917cbba711021bd","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-1.6.0.tgz","fileCount":5,"integrity":"sha512-HnMgdKn/+LIKHYlbxys14g9cUMGvzMS9mbopAfnntIYWBC8MOfUy6uYyyoWJNqm3HriAE/MiEUaTnlz3B0c7uQ==","signatures":[{"sig":"MEYCIQDObdHAJWLa9BH3G5wRWF5oiKds5D2YPSJjtBi7EU8DlAIhANkZ6T8cyeNnGqXGt0uoCh6Gw/dQFnwPNNlODGHTxlbg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25892,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj0/x8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpafA/+MZ1Ul4QHL9jl4W5gPXfBqKhNNXNqH2OtXtjtMjje7jEp0Nyn\r\ntxIxUB1AQKaVVuuJUXLw3cmbBkSuZgjArAD4knIoaYWImzDDA8cTZrbarrDy\r\nK1p7ylyYIbEwjjEHl5Lp0l2h8R3covZuuT19tvcg3RQpa0LSv4EsT4cMuRrz\r\nt5RwEcsxl1TcsfDqTFAu02cMS0IFhjAWeSps7OwC2i/wRepfAaH5j5F+0GLo\r\nt6QB7QtHGxXMHR6pIBGVM1iarXDy5g0Hw6gCkcQLVye9UroY4W5FxNWIsJ1A\r\nfuwggO/sQ8TH4jJhZD2nidKdFEOH9dwSDqIkuEISwGMBlgFqc2Khaxsadnnq\r\n3xy9LChALS86b9VPwwkL+x0YTMk5dq5axfwh/oX0bfMbTpTm+h1jIhuAZc7V\r\n/cPzB6PEEtvKxx9rm0zzRmGIpoY/aChlgidIDyDRcuHzNufXSIESY76BnaCm\r\ndUHRDZ/qxAl1UE2+bKh2h1KVuqPu8Mj7kprI9n2SOVPyOUW6DmAQHJ1jG+ae\r\nmITLEjMx20ApFtoexuxKqjGDGpx/NUdeFsP0RFNoKn9GXSiro/7O+CFWXFZe\r\nB8oIQPE6jtou2kjhUYHEwHG1vUlXp02+Dv+F82KT8htMEu0MPSGLXQybYg6M\r\nyL2+YoUMk+V2jPPbCJnE/e6p7JXYSexUM3w=\r\n=6nou\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"bd722c01aaffcfc5189b82fe8938c6b2fd219c2f","scripts":{"lint":"eslint --ext .ts,.tsx src/","test":"jest --config=config/jest.config.ts --passWithNoTests","build":"tsc --project tsconfig.json","coverage":"npm run test -- --coverage","typecheck":"tsc --project tsconfig.json --noEmit"},"_npmUser":{"name":"sergiodxa","email":"sergiodxa@gmail.com"},"_npmVersion":"6.14.17","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","directories":{},"_nodeVersion":"14.21.2","dependencies":{"uuid":"^8.3.2","debug":"^4.3.4","remix-auth":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.0","react":"^17.0.0","eslint":"^8.15.0","ts-node":"^10.7.0","prettier":"^2.6.2","react-dom":"^17.0.0","babel-jest":"^28.1.0","remix-auth":"^3.4.0","typescript":"^4.6.4","@babel/core":"^7.17.10","@types/jest":"^27.5.0","@types/uuid":"^8.3.4","@types/debug":"^4.1.7","@remix-run/node":"^1.0.0","jest-fetch-mock":"^3.0.3","@remix-run/react":"^1.0.0","@babel/preset-env":"^7.17.10","eslint-plugin-jest":"^26.1.5","@babel/preset-react":"^7.16.7","eslint-plugin-unicorn":"^42.0.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest-dom":"^4.0.1","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.16.7","@remix-run/server-runtime":"^1.0.0","@typescript-eslint/parser":"^5.23.0","@typescript-eslint/eslint-plugin":"^5.23.0"},"peerDependencies":{"remix-auth":"^3.2.2","@remix-run/server-runtime":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-auth-oauth2_1.6.0_1674837116127_0.478417819393955","host":"s3://npm-registry-packages"}},"1.7.0":{"name":"remix-auth-oauth2","version":"1.7.0","keywords":["remix","remix-auth","auth","authentication","strategy"],"license":"MIT","_id":"remix-auth-oauth2@1.7.0","maintainers":[{"name":"sergiodxa","email":"sergiodxa@gmail.com"}],"dist":{"shasum":"36fb4ba018ea7ad366d286bcc6ae513c82494ef4","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-1.7.0.tgz","fileCount":5,"integrity":"sha512-hgSJWz1j13Zf1tcNdSs0OFXikDda24md+E93xtQQKIuuIUZ7YtlujT/pnXeqTjJ0f8DwBrzGyPGNF/lugxT6WA==","signatures":[{"sig":"MEYCIQCYPf3TN9caQtffz1QyCbZ5gzmPMfrL1+K0wjxKzmTQBAIhAO05x2nMEOnVlSmSt4pWbFIjV9JZcDn1xHmkPnoGj3xO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26044},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"d922791975e463a1e320ebb6ba9488bf77c09253","scripts":{"lint":"eslint --ext .ts,.tsx src/","test":"jest --config=config/jest.config.ts --passWithNoTests","build":"tsc --project tsconfig.json","coverage":"npm run test -- --coverage","typecheck":"tsc --project tsconfig.json --noEmit"},"_npmUser":{"name":"sergiodxa","email":"sergiodxa@gmail.com"},"_npmVersion":"6.14.18","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","directories":{},"_nodeVersion":"14.21.3","dependencies":{"uuid":"^8.3.2","debug":"^4.3.4","remix-auth":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.0","react":"^17.0.0","eslint":"^8.15.0","ts-node":"^10.7.0","prettier":"^2.6.2","react-dom":"^17.0.0","babel-jest":"^28.1.0","remix-auth":"^3.4.0","typescript":"^4.6.4","@babel/core":"^7.17.10","@types/jest":"^27.5.0","@types/uuid":"^8.3.4","@types/debug":"^4.1.7","@remix-run/node":"^1.0.0","jest-fetch-mock":"^3.0.3","@remix-run/react":"^1.0.0","@babel/preset-env":"^7.17.10","eslint-plugin-jest":"^26.1.5","@babel/preset-react":"^7.16.7","eslint-plugin-unicorn":"^42.0.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest-dom":"^4.0.1","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.16.7","@remix-run/server-runtime":"^1.0.0","@typescript-eslint/parser":"^5.23.0","@typescript-eslint/eslint-plugin":"^5.23.0"},"peerDependencies":{"remix-auth":"^3.2.2","@remix-run/server-runtime":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-auth-oauth2_1.7.0_1685243804279_0.9355753690338773","host":"s3://npm-registry-packages"}},"1.8.0":{"name":"remix-auth-oauth2","version":"1.8.0","keywords":["remix","remix-auth","auth","authentication","strategy"],"license":"MIT","_id":"remix-auth-oauth2@1.8.0","maintainers":[{"name":"sergiodxa","email":"sergiodxa@gmail.com"}],"dist":{"shasum":"7f3a794d60dae8e72fa209527832ed0336c34ae7","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-1.8.0.tgz","fileCount":5,"integrity":"sha512-39C9bsc5vdHKRhlTCESzNwi5GMwd8p99ypqzZUEN/Kws/GO3o98qBhcSjPbmrZk5jlzXKx8RJU+ygS3d5Anl4A==","signatures":[{"sig":"MEQCIA04qNTk/RAZNTpDYQvGInzEttoGhc2zIPeaQddq3+NuAiAuLML9sEN/cwLQ4b8QTS6op7x+AnVoOhNFsnKkMRLieg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26310},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"435379c7c6318bd66d6c0eb2ee644a58a1d6ffc7","scripts":{"lint":"eslint --ext .ts,.tsx src/","test":"jest --config=config/jest.config.ts --passWithNoTests","build":"tsc --project tsconfig.json","prepare":"npm run build","coverage":"npm run test -- --coverage","typecheck":"tsc --project tsconfig.json --noEmit"},"_npmUser":{"name":"sergiodxa","email":"sergiodxa@gmail.com"},"_npmVersion":"9.5.1","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","directories":{},"_nodeVersion":"18.16.1","dependencies":{"uuid":"^8.3.2","debug":"^4.3.4","remix-auth":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.0","react":"^17.0.0","eslint":"^8.15.0","ts-node":"^10.7.0","prettier":"^2.6.2","react-dom":"^17.0.0","babel-jest":"^28.1.0","remix-auth":"^3.4.0","typescript":"^4.6.4","@babel/core":"^7.17.10","@types/jest":"^27.5.0","@types/uuid":"^8.3.4","@types/debug":"^4.1.7","@remix-run/node":"^1.0.0","jest-fetch-mock":"^3.0.3","@remix-run/react":"^1.0.0","@babel/preset-env":"^7.17.10","eslint-plugin-jest":"^26.1.5","@babel/preset-react":"^7.16.7","eslint-plugin-unicorn":"^42.0.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest-dom":"^4.0.1","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.16.7","@remix-run/server-runtime":"^1.0.0","@typescript-eslint/parser":"^5.23.0","@typescript-eslint/eslint-plugin":"^5.23.0"},"peerDependencies":{"remix-auth":"^3.2.2","@remix-run/server-runtime":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-auth-oauth2_1.8.0_1690241618782_0.09633903577265968","host":"s3://npm-registry-packages"}},"1.9.0":{"name":"remix-auth-oauth2","version":"1.9.0","keywords":["remix","remix-auth","auth","authentication","strategy"],"license":"MIT","_id":"remix-auth-oauth2@1.9.0","maintainers":[{"name":"sergiodxa","email":"sergiodxa@gmail.com"}],"homepage":"https://github.com/sergiodxa/remix-auth-oauth2#readme","bugs":{"url":"https://github.com/sergiodxa/remix-auth-oauth2/issues"},"dist":{"shasum":"afbda289121ab99da9667aff56370848593bd823","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-1.9.0.tgz","fileCount":5,"integrity":"sha512-ROSir28FVK4UCpialrW6dGbaboYGihfa/Qz5ifAoQ56fyTfXv4TwZ4R/AQxr1HVRU6WFmXNJiWDg51Q6+ZoLGQ==","signatures":[{"sig":"MEUCIFdS7qPD3SE+s48acOfvHYmfq4BTxmuF+jDxXgPYZAUHAiEAxRMNmxBihZC2V2HlVMjzLXaD8sKMNWtQXNRqL00nbU4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26778},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"d954ee41c2e1821263225350fc31313eb402cadb","scripts":{"lint":"eslint --ext .ts,.tsx src/","test":"jest --config=config/jest.config.ts --passWithNoTests","build":"tsc --project tsconfig.json","prepare":"npm run build","coverage":"npm run test -- --coverage","typecheck":"tsc --project tsconfig.json --noEmit"},"_npmUser":{"name":"sergiodxa","email":"sergiodxa@gmail.com"},"repository":{"url":"git+https://github.com/sergiodxa/remix-auth-oauth2.git","type":"git"},"_npmVersion":"9.6.7","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","directories":{},"_nodeVersion":"18.17.1","dependencies":{"uuid":"^8.3.2","debug":"^4.3.4","remix-auth":"^3.4.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.0","react":"^17.0.0","eslint":"^8.15.0","ts-node":"^10.7.0","prettier":"^2.6.2","react-dom":"^17.0.0","babel-jest":"^28.1.0","remix-auth":"^3.4.0","typescript":"^4.6.4","@babel/core":"^7.17.10","@types/jest":"^27.5.0","@types/uuid":"^8.3.4","@types/debug":"^4.1.7","@remix-run/node":"^1.0.0","jest-fetch-mock":"^3.0.3","@remix-run/react":"^1.0.0","@babel/preset-env":"^7.17.10","eslint-plugin-jest":"^26.1.5","@babel/preset-react":"^7.16.7","eslint-plugin-unicorn":"^42.0.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest-dom":"^4.0.1","eslint-plugin-prettier":"^4.0.0","@babel/preset-typescript":"^7.16.7","@remix-run/server-runtime":"^1.0.0","@typescript-eslint/parser":"^5.23.0","@typescript-eslint/eslint-plugin":"^5.23.0"},"peerDependencies":{"remix-auth":"^3.2.2","@remix-run/server-runtime":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-auth-oauth2_1.9.0_1693517163767_0.44554043602663507","host":"s3://npm-registry-packages"}},"1.10.0":{"name":"remix-auth-oauth2","version":"1.10.0","keywords":["remix","remix-auth","auth","authentication","strategy"],"license":"MIT","_id":"remix-auth-oauth2@1.10.0","maintainers":[{"name":"sergiodxa","email":"sergiodxa@gmail.com"}],"homepage":"https://github.com/sergiodxa/remix-auth-oauth2#readme","bugs":{"url":"https://github.com/sergiodxa/remix-auth-oauth2/issues"},"dist":{"shasum":"500e46354a549598d63a7af0bab3be6986ff7900","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-1.10.0.tgz","fileCount":5,"integrity":"sha512-YFtpwrCpX54qT9l0gQgFJayLzexNk6xz41eu/jhpn+dSqeFUFiHmUD6e1XfEmjiEd+mFWq8/z4xWyn5h+Zhw4A==","signatures":[{"sig":"MEQCIGmjGOGN7ebe4C0/eP7tj/dvhbRVVbXJsOy9R6L2LcKUAiAx0Q3aRDI13Uk8pt2NH8Wg/T3lruisxjdijvlhQRGZUQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26864},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"adf3f7952b717f0fd7a7a485c4c10cb7fa9b38ee","scripts":{"lint":"eslint --ext .ts,.tsx src/","test":"jest --config=config/jest.config.ts --passWithNoTests","build":"tsc --project tsconfig.json","format":"prettier --write \"src/index.ts\" \"test/index.test.ts\" \"config/**/*.ts\" \".eslintrc.js\"","prepare":"npm run build","coverage":"npm run test -- --coverage","typecheck":"tsc --project tsconfig.json --noEmit"},"_npmUser":{"name":"sergiodxa","email":"sergiodxa@gmail.com"},"repository":{"url":"git+https://github.com/sergiodxa/remix-auth-oauth2.git","type":"git"},"_npmVersion":"9.8.1","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","directories":{},"_nodeVersion":"18.18.0","dependencies":{"debug":"^4.3.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","uuid":"^9.0.1","react":"^18.2.0","eslint":"^8.50.0","ts-node":"^10.9.1","prettier":"^3.0.3","react-dom":"^18.2.0","babel-jest":"^29.7.0","remix-auth":"^3.6.0","typescript":"^5.2.2","@babel/core":"^7.23.0","@types/jest":"^29.5.5","@types/uuid":"^9.0.4","@types/debug":"^4.1.9","@remix-run/node":"^2.0.1","jest-fetch-mock":"^3.0.3","@remix-run/react":"^2.0.1","@babel/preset-env":"^7.22.20","eslint-plugin-jest":"^27.4.2","@babel/preset-react":"^7.22.15","eslint-plugin-unicorn":"^48.0.1","eslint-config-prettier":"^9.0.0","eslint-plugin-jest-dom":"^5.1.0","eslint-plugin-prettier":"^5.0.0","@babel/preset-typescript":"^7.23.0","@remix-run/server-runtime":"^2.0.1","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"peerDependencies":{"remix-auth":"^3.6.0","@remix-run/server-runtime":"^1.0.0 || ^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-auth-oauth2_1.10.0_1696372283308_0.644039284188485","host":"s3://npm-registry-packages"}},"1.11.0":{"name":"remix-auth-oauth2","version":"1.11.0","keywords":["remix","remix-auth","auth","authentication","strategy"],"license":"MIT","_id":"remix-auth-oauth2@1.11.0","maintainers":[{"name":"sergiodxa","email":"sergiodxa@gmail.com"}],"homepage":"https://github.com/sergiodxa/remix-auth-oauth2#readme","bugs":{"url":"https://github.com/sergiodxa/remix-auth-oauth2/issues"},"dist":{"shasum":"c754bf948f1a9898ea53eccf903bd39a4d4355d9","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-1.11.0.tgz","fileCount":5,"integrity":"sha512-Yf1LF6NLYPFa7X2Rax/VEhXmYXFjZOi/q+7DmbMeoMHjAfkpqxbvzqqYSKIKDGR51z5TXR5na4to4380mir5bg==","signatures":[{"sig":"MEUCICd05j2okCYQ4vTEXIGx5K5Z6KrsztIdTwhFm55vQ0yTAiEAxcNERugl2Iyglr8d/sd78qFyC7CyrDTId8aFDSghgRA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27079},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"8f5e6a44835128c088435f9a7da2c60dc7dbcf84","scripts":{"lint":"eslint --ext .ts,.tsx src/","test":"jest --config=config/jest.config.ts --passWithNoTests","build":"tsc --project tsconfig.json","format":"prettier --write \"src/index.ts\" \"test/index.test.ts\" \"config/**/*.ts\" \".eslintrc.js\"","prepare":"npm run build","coverage":"npm run test -- --coverage","typecheck":"tsc --project tsconfig.json --noEmit"},"_npmUser":{"name":"sergiodxa","email":"sergiodxa@gmail.com"},"repository":{"url":"git+https://github.com/sergiodxa/remix-auth-oauth2.git","type":"git"},"_npmVersion":"9.8.1","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","directories":{},"_nodeVersion":"18.18.0","dependencies":{"debug":"^4.3.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","uuid":"^9.0.1","react":"^18.2.0","eslint":"^8.50.0","ts-node":"^10.9.1","prettier":"^3.0.3","react-dom":"^18.2.0","babel-jest":"^29.7.0","remix-auth":"^3.6.0","typescript":"^5.2.2","@babel/core":"^7.23.0","@types/jest":"^29.5.5","@types/uuid":"^9.0.4","@types/debug":"^4.1.9","@remix-run/node":"^2.0.1","jest-fetch-mock":"^3.0.3","@remix-run/react":"^2.0.1","@babel/preset-env":"^7.22.20","eslint-plugin-jest":"^27.4.2","@babel/preset-react":"^7.22.15","eslint-plugin-unicorn":"^48.0.1","eslint-config-prettier":"^9.0.0","eslint-plugin-jest-dom":"^5.1.0","eslint-plugin-prettier":"^5.0.0","@babel/preset-typescript":"^7.23.0","@remix-run/server-runtime":"^2.0.1","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"peerDependencies":{"remix-auth":"^3.6.0","@remix-run/server-runtime":"^1.0.0 || ^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-auth-oauth2_1.11.0_1696568384810_0.7025999762101158","host":"s3://npm-registry-packages"}},"1.11.1":{"name":"remix-auth-oauth2","version":"1.11.1","keywords":["remix","remix-auth","auth","authentication","strategy"],"license":"MIT","_id":"remix-auth-oauth2@1.11.1","maintainers":[{"name":"sergiodxa","email":"sergiodxa@gmail.com"}],"homepage":"https://github.com/sergiodxa/remix-auth-oauth2#readme","bugs":{"url":"https://github.com/sergiodxa/remix-auth-oauth2/issues"},"dist":{"shasum":"7f150d520fcfdf86320c31217fe5303098a7e7a5","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-1.11.1.tgz","fileCount":5,"integrity":"sha512-eGNUB0+yiIuxansfyZM+SqpiAlsFEqOrNUr8LmxSRjx2RW/GOe/aT1fL8n+VtkcrLXPqUJWxE+GhEowF81+VDQ==","signatures":[{"sig":"MEUCIDmJb5JXSbsZVCfUQQllxTqSbXJk3Vvr3QH21AC74cXfAiEAu+oIxLRURNK1l+JZfNrZl6a04F9hrD3AZ95Hw/FtJZI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27219},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"0d69c397f1d1898e1afbfa1d1bbca4b9659f145f","scripts":{"lint":"eslint --ext .ts,.tsx src/","test":"jest --config=config/jest.config.ts --passWithNoTests","build":"tsc --project tsconfig.json","format":"prettier --write \"src/index.ts\" \"test/index.test.ts\" \"config/**/*.ts\" \".eslintrc.js\"","prepare":"npm run build","coverage":"npm run test -- --coverage","typecheck":"tsc --project tsconfig.json --noEmit"},"_npmUser":{"name":"sergiodxa","email":"sergiodxa@gmail.com"},"repository":{"url":"git+https://github.com/sergiodxa/remix-auth-oauth2.git","type":"git"},"_npmVersion":"10.2.3","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"debug":"^4.3.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","uuid":"^9.0.1","react":"^18.2.0","eslint":"^8.50.0","ts-node":"^10.9.1","prettier":"^3.0.3","react-dom":"^18.2.0","babel-jest":"^29.7.0","remix-auth":"^3.6.0","typescript":"^5.2.2","@babel/core":"^7.23.0","@types/jest":"^29.5.5","@types/uuid":"^9.0.4","@types/debug":"^4.1.9","@remix-run/node":"^2.0.1","jest-fetch-mock":"^3.0.3","@remix-run/react":"^2.0.1","@babel/preset-env":"^7.22.20","eslint-plugin-jest":"^27.4.2","@babel/preset-react":"^7.22.15","eslint-plugin-unicorn":"^48.0.1","eslint-config-prettier":"^9.0.0","eslint-plugin-jest-dom":"^5.1.0","eslint-plugin-prettier":"^5.0.0","@babel/preset-typescript":"^7.23.0","@remix-run/server-runtime":"^2.0.1","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"peerDependencies":{"remix-auth":"^3.6.0","@remix-run/server-runtime":"^1.0.0 || ^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-auth-oauth2_1.11.1_1703022388918_0.1768101940451745","host":"s3://npm-registry-packages"}},"1.11.2":{"name":"remix-auth-oauth2","version":"1.11.2","keywords":["remix","remix-auth","auth","authentication","strategy"],"license":"MIT","_id":"remix-auth-oauth2@1.11.2","maintainers":[{"name":"sergiodxa","email":"sergiodxa@gmail.com"}],"homepage":"https://github.com/sergiodxa/remix-auth-oauth2#readme","bugs":{"url":"https://github.com/sergiodxa/remix-auth-oauth2/issues"},"dist":{"shasum":"c7f2515ead7d582ca9c0c710e616062278901b71","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-1.11.2.tgz","fileCount":5,"integrity":"sha512-5ORP+LMi5CVCA/Wb8Z+FCAJ73Uiy4uyjEzhlVwNBfdAkPOnfxzoi+q/pY/CrueYv3OniCXRM35ZYqkVi3G1UPw==","signatures":[{"sig":"MEUCIQDWbMmZx/YnLFEYCR1qT3rarU3dAw8Pe1fjvjfWoBrNIAIgA/iJsAdZX7Z/M2dnKMsrf8RJBVGef/VZBgoUg1nQ6+A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27220},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"1b2b3e7cdd9c12967ac779a5fccd29847e67d259","scripts":{"lint":"eslint --ext .ts,.tsx src/","test":"jest --config=config/jest.config.ts --passWithNoTests","build":"tsc --project tsconfig.json","format":"prettier --write \"src/index.ts\" \"test/index.test.ts\" \"config/**/*.ts\" \".eslintrc.js\"","prepare":"npm run build","coverage":"npm run test -- --coverage","typecheck":"tsc --project tsconfig.json --noEmit"},"_npmUser":{"name":"sergiodxa","email":"sergiodxa@gmail.com"},"repository":{"url":"git+https://github.com/sergiodxa/remix-auth-oauth2.git","type":"git"},"_npmVersion":"10.2.4","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","directories":{},"_nodeVersion":"20.11.1","dependencies":{"uuid":"^9.0.1","debug":"^4.3.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","react":"^18.2.0","eslint":"^8.57.0","ts-node":"^10.9.2","prettier":"^3.2.5","react-dom":"^18.2.0","babel-jest":"^29.7.0","remix-auth":"^3.6.0","typescript":"^5.4.2","@babel/core":"^7.24.0","@types/jest":"^29.5.12","@types/uuid":"^9.0.8","@types/debug":"^4.1.12","@remix-run/node":"^2.8.1","jest-fetch-mock":"^3.0.3","@remix-run/react":"^2.8.1","@babel/preset-env":"^7.24.0","eslint-plugin-jest":"^27.9.0","@babel/preset-react":"^7.23.3","eslint-plugin-unicorn":"^51.0.1","eslint-config-prettier":"^9.1.0","eslint-plugin-jest-dom":"^5.1.0","eslint-plugin-prettier":"^5.1.3","@babel/preset-typescript":"^7.23.3","@remix-run/server-runtime":"^2.8.1","@typescript-eslint/parser":"^7.2.0","@typescript-eslint/eslint-plugin":"^7.2.0"},"peerDependencies":{"remix-auth":"^3.6.0","@remix-run/server-runtime":"^1.0.0 || ^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-auth-oauth2_1.11.2_1710565833718_0.06208842916825286","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"remix-auth-oauth2","version":"2.0.0","keywords":["remix","remix-auth","auth","authentication","strategy"],"author":{"url":"https://sergiodxa.com","name":"Sergio Xalambrí","email":"hello+oss@sergiodxa.com"},"license":"MIT","_id":"remix-auth-oauth2@2.0.0","maintainers":[{"name":"sergiodxa","email":"sergiodxa@gmail.com"}],"homepage":"https://github.com/sergiodxa/remix-auth-oauth2#readme","bugs":{"url":"https://github.com/sergiodxa/remix-auth-oauth2/issues"},"dist":{"shasum":"2bba1556ba0c29d0493df35e934436dfaffa245d","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-2.0.0.tgz","fileCount":5,"integrity":"sha512-VCSaOkFs9hxaSDvTsscthvH1ZLXKXokOmfDUQF+90faeWclcdqKd79V5FLieNxKON6AXQhJn+wBNY4TWTaAe1g==","signatures":[{"sig":"MEQCIAuRmjitHtkQnEKsgo+Z1OvLotO5h6CqcLyOgthHQ4pGAiB8xMpeXpCM47TR9o5I3BqQw0mchc2T+snqdFdHyfjY3g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25626},"type":"module","engines":{"node":"^18.0.0 || ^20.0.0 || >=20.0.0"},"exports":{".":"./build/index.js","./package.json":"./package.json"},"funding":["https://github.com/sponsors/sergiodxa"],"gitHead":"6df15b7b0190e0df690a5ba88fd5f9265e91311d","scripts":{"build":"tsc","exports":"bun run ./scripts/exports.ts","quality":"biome check .","typecheck":"tsc --noEmit","quality:fix":"biome check . --apply-unsafe"},"_npmUser":{"name":"sergiodxa","email":"sergiodxa@gmail.com"},"repository":{"url":"git+https://github.com/sergiodxa/remix-auth-oauth2.git","type":"git"},"_npmVersion":"10.5.2","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","directories":{},"sideEffects":false,"_nodeVersion":"20.13.1","dependencies":{"debug":"^4.3.4","@oslojs/oauth2":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.2.13","consola":"^3.2.3","typedoc":"^0.25.13","@types/bun":"^1.0.12","remix-auth":"^3.6.0","typescript":"^5.4.5","@types/debug":"^4.1.12","@biomejs/biome":"^1.7.2","@remix-run/node":"^2.8.1","@arethetypeswrong/cli":"^0.15.3","typedoc-plugin-mdn-links":"^3.1.25","@remix-run/server-runtime":"^2.8.1"},"peerDependencies":{"remix-auth":"^3.6.0","@remix-run/deno":"^1.0.0 || ^2.0.0","@remix-run/node":"^1.0.0 || ^2.0.0","@remix-run/cloudflare":"^1.0.0 || ^2.0.0"},"peerDependenciesMeta":{"@remix-run/deno":{"optional":true},"@remix-run/node":{"optional":true},"@remix-run/cloudflare":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/remix-auth-oauth2_2.0.0_1715989871940_0.084808945013507","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"remix-auth-oauth2","version":"2.1.0","keywords":["remix","remix-auth","auth","authentication","strategy"],"author":{"url":"https://sergiodxa.com","name":"Sergio Xalambrí","email":"hello+oss@sergiodxa.com"},"license":"MIT","_id":"remix-auth-oauth2@2.1.0","maintainers":[{"name":"sergiodxa","email":"sergiodxa@gmail.com"}],"homepage":"https://github.com/sergiodxa/remix-auth-oauth2#readme","bugs":{"url":"https://github.com/sergiodxa/remix-auth-oauth2/issues"},"dist":{"shasum":"99ab620f5dbb2684547788b55c7f46792fbcc869","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-2.1.0.tgz","fileCount":5,"integrity":"sha512-0uey7E+JEidoK20x3/ylh6Oy0HHuuEEAKHGBU0fonMusOYRgNVNnzDMoUn7pRRhRf6lMsdjRdJPmXfRFvFrq0Q==","signatures":[{"sig":"MEUCIQCP64Jci7T8BD+5pFkeOTLflhdSClXOvfrycij0PSv9qwIgZDx/cDK3KR4FP/jZ0cNTWdtjrUZN77JrrIMT4eyVQkI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25847},"type":"module","engines":{"node":"^18.0.0 || ^20.0.0 || >=20.0.0"},"exports":{".":"./build/index.js","./package.json":"./package.json"},"funding":["https://github.com/sponsors/sergiodxa"],"gitHead":"37c0812cbe1795532906bccd4f788a0fd2d9a27a","scripts":{"build":"tsc","exports":"bun run ./scripts/exports.ts","quality":"biome check .","typecheck":"tsc --noEmit","quality:fix":"biome check . --apply-unsafe"},"_npmUser":{"name":"sergiodxa","email":"sergiodxa@gmail.com"},"repository":{"url":"git+https://github.com/sergiodxa/remix-auth-oauth2.git","type":"git"},"_npmVersion":"10.5.2","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","directories":{},"sideEffects":false,"_nodeVersion":"20.13.1","dependencies":{"debug":"^4.3.4","@oslojs/oauth2":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.2.13","consola":"^3.2.3","typedoc":"^0.25.13","@types/bun":"^1.0.12","remix-auth":"^3.6.0","typescript":"^5.4.5","@types/debug":"^4.1.12","@biomejs/biome":"^1.7.2","@remix-run/node":"^2.8.1","@arethetypeswrong/cli":"^0.15.3","typedoc-plugin-mdn-links":"^3.1.25","@remix-run/server-runtime":"^2.8.1"},"peerDependencies":{"remix-auth":"^3.6.0","@remix-run/deno":"^1.0.0 || ^2.0.0","@remix-run/node":"^1.0.0 || ^2.0.0","@remix-run/cloudflare":"^1.0.0 || ^2.0.0"},"peerDependenciesMeta":{"@remix-run/deno":{"optional":true},"@remix-run/node":{"optional":true},"@remix-run/cloudflare":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/remix-auth-oauth2_2.1.0_1717006657663_0.8071787737497691","host":"s3://npm-registry-packages"}},"2.2.0":{"name":"remix-auth-oauth2","version":"2.2.0","keywords":["remix","remix-auth","auth","authentication","strategy"],"author":{"url":"https://sergiodxa.com","name":"Sergio Xalambrí","email":"hello+oss@sergiodxa.com"},"license":"MIT","_id":"remix-auth-oauth2@2.2.0","maintainers":[{"name":"sergiodxa","email":"sergiodxa@gmail.com"}],"homepage":"https://github.com/sergiodxa/remix-auth-oauth2#readme","bugs":{"url":"https://github.com/sergiodxa/remix-auth-oauth2/issues"},"dist":{"shasum":"5de4ef62867445b60ac3750f90a9f5a6eadb3055","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-2.2.0.tgz","fileCount":18,"integrity":"sha512-xQ9DykRXy+2zceGxFidUpzrm8rlC9TwguraHTl6Lnm3Kzk2RVj1VkO6MZqOZsl7xq3PjDIjIDvs0oIlrBaUJiQ==","signatures":[{"sig":"MEQCID5sqhPjBoFLnBnPcD9MzIGuvoeHQ2CKJOfeKwSHs875AiBmwih4yfoGsqufHDTpGE3YhpoRO2/HavLfFo0Xoj9rPA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55077},"type":"module","engines":{"node":"^18.0.0 || ^20.0.0 || >=20.0.0"},"exports":{".":"./build/index.js","./package.json":"./package.json"},"funding":["https://github.com/sponsors/sergiodxa"],"gitHead":"0198f38b67995fc1c38145db76b3022faa2fee95","scripts":{"build":"tsc","unused":"knip","exports":"bun run ./scripts/exports.ts","quality":"biome check .","typecheck":"tsc --noEmit","quality:fix":"biome check . --apply-unsafe"},"_npmUser":{"name":"sergiodxa","email":"sergiodxa@gmail.com"},"repository":{"url":"git+https://github.com/sergiodxa/remix-auth-oauth2.git","type":"git"},"_npmVersion":"10.8.1","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","directories":{},"sideEffects":false,"_nodeVersion":"20.16.0","dependencies":{"debug":"^4.3.4","@oslojs/crypto":"^0.6.2","@oslojs/oauth2":"^0.5.0","@oslojs/encoding":"^0.4.1"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.2.13","consola":"^3.2.3","typedoc":"^0.26.2","@types/bun":"^1.0.12","remix-auth":"^3.6.0","typescript":"^5.4.5","@types/debug":"^4.1.12","@biomejs/biome":"^1.7.2","@remix-run/node":"^2.8.1","@arethetypeswrong/cli":"^0.15.3","typedoc-plugin-mdn-links":"^3.1.25","@remix-run/server-runtime":"^2.8.1","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"remix-auth":"^3.6.0","@remix-run/deno":"^1.0.0 || ^2.0.0","@remix-run/node":"^1.0.0 || ^2.0.0","@remix-run/cloudflare":"^1.0.0 || ^2.0.0"},"peerDependenciesMeta":{"@remix-run/deno":{"optional":true},"@remix-run/node":{"optional":true},"@remix-run/cloudflare":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/remix-auth-oauth2_2.2.0_1722923840550_0.3792643763104093","host":"s3://npm-registry-packages"}},"2.3.0":{"name":"remix-auth-oauth2","version":"2.3.0","keywords":["remix","remix-auth","auth","authentication","strategy"],"author":{"url":"https://sergiodxa.com","name":"Sergio Xalambrí","email":"hello+oss@sergiodxa.com"},"license":"MIT","_id":"remix-auth-oauth2@2.3.0","maintainers":[{"name":"sergiodxa","email":"sergiodxa@gmail.com"}],"homepage":"https://github.com/sergiodxa/remix-auth-oauth2#readme","bugs":{"url":"https://github.com/sergiodxa/remix-auth-oauth2/issues"},"dist":{"shasum":"2edb2cab0629177a463acbbc58bdee3fab870143","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-2.3.0.tgz","fileCount":18,"integrity":"sha512-94PztjpER9hethzZOpF1lqwlmLccGY7RUKp9ua3Ii3DBPqVIO/hFedeqpcvZyysbPaW3sK3ztqfe8b8nnF4F/Q==","signatures":[{"sig":"MEYCIQC2jSnd4IxG5QbZRwxif4Dbr3WT2SlLXujRVOKIejTbtwIhAJqTj+ILt4fGZhMhQ6Sy5d0g/MSv+5FaBHmgT8x7VOI5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55224},"type":"module","engines":{"node":"^18.0.0 || ^20.0.0 || >=20.0.0"},"exports":{".":"./build/index.js","./package.json":"./package.json"},"funding":["https://github.com/sponsors/sergiodxa"],"gitHead":"1e911b096267bd093c0b857df084d3d5b3ed9625","scripts":{"build":"tsc","exports":"bun run ./scripts/exports.ts","quality":"biome check .","typecheck":"tsc --noEmit","quality:fix":"biome check . --write --unsafe"},"_npmUser":{"name":"sergiodxa","email":"sergiodxa@gmail.com"},"repository":{"url":"git+https://github.com/sergiodxa/remix-auth-oauth2.git","type":"git"},"_npmVersion":"10.8.1","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","directories":{},"sideEffects":false,"_nodeVersion":"20.16.0","dependencies":{"debug":"^4.3.4","@oslojs/crypto":"^0.6.2","@oslojs/oauth2":"^0.5.0","@oslojs/encoding":"^0.4.1"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.2.13","consola":"^3.2.3","typedoc":"^0.26.2","@types/bun":"^1.0.12","remix-auth":"^3.6.0","typescript":"^5.4.5","@types/debug":"^4.1.12","@biomejs/biome":"^1.8.3","@remix-run/node":"^2.8.1","@arethetypeswrong/cli":"^0.15.3","typedoc-plugin-mdn-links":"^3.1.25","@remix-run/server-runtime":"^2.8.1","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"remix-auth":"^3.6.0","@remix-run/deno":"^1.0.0 || ^2.0.0","@remix-run/node":"^1.0.0 || ^2.0.0","@remix-run/cloudflare":"^1.0.0 || ^2.0.0"},"peerDependenciesMeta":{"@remix-run/deno":{"optional":true},"@remix-run/node":{"optional":true},"@remix-run/cloudflare":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/remix-auth-oauth2_2.3.0_1723228528514_0.6710150320499864","host":"s3://npm-registry-packages"}},"2.4.0":{"name":"remix-auth-oauth2","version":"2.4.0","keywords":["remix","remix-auth","auth","authentication","strategy"],"author":{"url":"https://sergiodxa.com","name":"Sergio Xalambrí","email":"hello+oss@sergiodxa.com"},"license":"MIT","_id":"remix-auth-oauth2@2.4.0","maintainers":[{"name":"sergiodxa","email":"hello@sergiodxa.com"}],"homepage":"https://github.com/sergiodxa/remix-auth-oauth2#readme","bugs":{"url":"https://github.com/sergiodxa/remix-auth-oauth2/issues"},"dist":{"shasum":"977dae6bcf20432dca3c4933399650283f5c6be3","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-2.4.0.tgz","fileCount":18,"integrity":"sha512-lsUBvYispJ/MgVR45IYZjqJgYupefLTxEcSiDoP6X3NPn9PUDCDp8okB5aiXZHBCi0/qL6XYCEHRwNvBJaaENw==","signatures":[{"sig":"MEUCIQDw7ZFGQ+06xqVVxs/lmHzZ+8fIye7wQVTsCIuJLYB9oQIgVOdodQVXe6Xclc3kao+zEpm2sqfyJQdX+xKF66C7oc4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55907},"type":"module","engines":{"node":"^18.0.0 || ^20.0.0 || >=20.0.0"},"exports":{".":"./build/index.js","./package.json":"./package.json"},"funding":["https://github.com/sponsors/sergiodxa"],"gitHead":"c308c6f0c8b632bf933cf2901ad48e15953e27bb","scripts":{"build":"tsc","exports":"bun run ./scripts/exports.ts","quality":"biome check .","typecheck":"tsc --noEmit","quality:fix":"biome check . --write --unsafe"},"_npmUser":{"name":"sergiodxa","email":"hello@sergiodxa.com"},"repository":{"url":"git+https://github.com/sergiodxa/remix-auth-oauth2.git","type":"git"},"_npmVersion":"10.8.2","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","directories":{},"sideEffects":false,"_nodeVersion":"20.17.0","dependencies":{"debug":"^4.3.4","@oslojs/crypto":"^0.6.2","@oslojs/oauth2":"^0.5.0","@oslojs/encoding":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.2.13","consola":"^3.2.3","typedoc":"^0.26.2","@types/bun":"^1.0.12","remix-auth":"^3.6.0","typescript":"^5.4.5","@types/debug":"^4.1.12","@biomejs/biome":"^1.8.3","@remix-run/node":"^2.8.1","@arethetypeswrong/cli":"^0.16.1","typedoc-plugin-mdn-links":"^3.1.25","@remix-run/server-runtime":"^2.8.1","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"remix-auth":"^3.6.0","@remix-run/deno":"^1.0.0 || ^2.0.0","@remix-run/node":"^1.0.0 || ^2.0.0","@remix-run/cloudflare":"^1.0.0 || ^2.0.0"},"peerDependenciesMeta":{"@remix-run/deno":{"optional":true},"@remix-run/node":{"optional":true},"@remix-run/cloudflare":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/remix-auth-oauth2_2.4.0_1727818293338_0.812225091886078","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"remix-auth-oauth2","version":"3.0.0","keywords":["remix","remix-auth","auth","authentication","strategy"],"author":{"url":"https://sergiodxa.com","name":"Sergio Xalambrí","email":"hello+oss@sergiodxa.com"},"license":"MIT","_id":"remix-auth-oauth2@3.0.0","maintainers":[{"name":"sergiodxa","email":"hello@sergiodxa.com"}],"homepage":"https://github.com/sergiodxa/remix-auth-oauth2#readme","bugs":{"url":"https://github.com/sergiodxa/remix-auth-oauth2/issues"},"dist":{"shasum":"529e5b70e272a6637e7b0237ded627e43d200ca8","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-3.0.0.tgz","fileCount":12,"integrity":"sha512-AdbHqN0eF4Y4wtFqILTTFNMEJrH5EVAoVu5x3ZLk3B2aDHZaHDeVx7ziROCxkmU29OqzyaC0HKPQgr1mmR3mRg==","signatures":[{"sig":"MEQCIAv6J8VBeQpODw7BHQjxRlXNVgKBDfUACjVIhOMUQBBQAiAOCkfDmA+aW4HBbPWxT/0uOwMck0jBhovhptDTG8I6ow==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21242},"type":"module","engines":{"node":"^20.0.0 || >=20.0.0"},"exports":{".":"./build/index.js","./package.json":"./package.json"},"funding":["https://github.com/sponsors/sergiodxa"],"gitHead":"f1554473c09b53506f91dcb5999ff466eb980ce4","scripts":{"build":"tsc","exports":"bun run ./scripts/exports.ts","quality":"biome check .","typecheck":"tsc --noEmit","quality:fix":"biome check . --write --unsafe"},"_npmUser":{"name":"sergiodxa","email":"hello@sergiodxa.com"},"repository":{"url":"git+https://github.com/sergiodxa/remix-auth-oauth2.git","type":"git"},"_npmVersion":"10.9.0","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","directories":{},"sideEffects":false,"_nodeVersion":"22.11.0","dependencies":{"debug":"^4.3.7","arctic":"^2.3.0","@oslojs/crypto":"^1.0.1","@oslojs/oauth2":"^0.5.0","@oslojs/encoding":"^1.0.0","@mjackson/headers":"^0.8.0"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.6.6","typedoc":"^0.26.11","@types/bun":"^1.1.13","remix-auth":"^4.0.0","typescript":"^5.7.2","@types/debug":"^4.1.12","@biomejs/biome":"^1.9.4","@arethetypeswrong/cli":"^0.17.0","typedoc-plugin-mdn-links":"^4.0.1","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"remix-auth":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-auth-oauth2_3.0.0_1732504487368_0.4692899744592516","host":"s3://npm-registry-packages"}},"3.1.0":{"name":"remix-auth-oauth2","version":"3.1.0","keywords":["remix","remix-auth","auth","authentication","strategy"],"author":{"url":"https://sergiodxa.com","name":"Sergio Xalambrí","email":"hello+oss@sergiodxa.com"},"license":"MIT","_id":"remix-auth-oauth2@3.1.0","maintainers":[{"name":"sergiodxa","email":"hello@sergiodxa.com"}],"homepage":"https://github.com/sergiodxa/remix-auth-oauth2#readme","bugs":{"url":"https://github.com/sergiodxa/remix-auth-oauth2/issues"},"dist":{"shasum":"06117d067d0e611f3ce3c1ca1b10b2a23dbb3914","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-3.1.0.tgz","fileCount":12,"integrity":"sha512-wMakEr+etbkIBCPAZrK6hMncL0+LZLOvAFewsiWeTlb9LKEfPYL0MXJzk2yjJv5PJcVIfRfah3AxD9lkLTgE+w==","signatures":[{"sig":"MEYCIQCRwET8x6qZaAsVeIX3MeB84XiuvVfxY53yntS9jZ6wbgIhANwLc7JL+5PAENHwXBcFbtU1fqmdGRPisjty9qZIzYh5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31287},"type":"module","engines":{"node":"^20.0.0 || >=20.0.0"},"exports":{".":"./build/index.js","./package.json":"./package.json"},"funding":["https://github.com/sponsors/sergiodxa"],"gitHead":"390e6c7bc850a0260acbcbb0095fd3aceff654ea","scripts":{"build":"tsc","exports":"bun run ./scripts/exports.ts","quality":"biome check .","typecheck":"tsc --noEmit","quality:fix":"biome check . --write --unsafe"},"_npmUser":{"name":"sergiodxa","email":"hello@sergiodxa.com"},"repository":{"url":"git+https://github.com/sergiodxa/remix-auth-oauth2.git","type":"git"},"_npmVersion":"10.9.0","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","directories":{},"sideEffects":false,"_nodeVersion":"22.11.0","dependencies":{"debug":"^4.3.7","arctic":"^2.3.0","@oslojs/crypto":"^1.0.1","@oslojs/oauth2":"^0.5.0","@oslojs/encoding":"^1.0.0","@mjackson/headers":"^0.8.0","@edgefirst-dev/data":"^0.0.2"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.6.6","typedoc":"^0.26.11","@types/bun":"^1.1.13","remix-auth":"^4.0.0","typescript":"^5.7.2","@types/debug":"^4.1.12","@biomejs/biome":"^1.9.4","@arethetypeswrong/cli":"^0.17.0","typedoc-plugin-mdn-links":"^4.0.1","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"remix-auth":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-auth-oauth2_3.1.0_1732686155810_0.561843724172858","host":"s3://npm-registry-packages"}},"3.2.0":{"name":"remix-auth-oauth2","version":"3.2.0","keywords":["remix","remix-auth","auth","authentication","strategy"],"author":{"url":"https://sergiodxa.com","name":"Sergio Xalambrí","email":"hello+oss@sergiodxa.com"},"license":"MIT","_id":"remix-auth-oauth2@3.2.0","maintainers":[{"name":"sergiodxa","email":"hello@sergiodxa.com"}],"homepage":"https://github.com/sergiodxa/remix-auth-oauth2#readme","bugs":{"url":"https://github.com/sergiodxa/remix-auth-oauth2/issues"},"dist":{"shasum":"144fb7aa5e421b55d1c1bcf4cf25138fa01f40e9","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-3.2.0.tgz","fileCount":12,"integrity":"sha512-HZocOTYDcVHFMki15B0TbH72Ivd7pu6ic5wo85ihM/GaRYZ7SemOCjL2QuNrndTh/szjPNGlio6RmRjOf5MZpA==","signatures":[{"sig":"MEUCIQCAMjDtgvHx8wGbC/4Myf2o2CxQgM6WSVc8dEU4SBm/0wIgHOnaDSpfj5WAOaigxJpK+Q9zjWkuUupvz2ogaGaWIXI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39137},"type":"module","engines":{"node":"^20.0.0 || >=20.0.0"},"exports":{".":"./build/index.js","./package.json":"./package.json"},"funding":["https://github.com/sponsors/sergiodxa"],"gitHead":"e3af888ffdba400d660906e622e2401f789d83aa","scripts":{"build":"tsc","exports":"bun run ./scripts/exports.ts","quality":"biome check .","typecheck":"tsc --noEmit","quality:fix":"biome check . --write --unsafe"},"_npmUser":{"name":"sergiodxa","email":"hello@sergiodxa.com"},"repository":{"url":"git+https://github.com/sergiodxa/remix-auth-oauth2.git","type":"git"},"_npmVersion":"10.9.0","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"debug":"^4.3.7","arctic":"^2.3.0","@mjackson/headers":"^0.8.0","@edgefirst-dev/data":"^0.0.2"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.6.6","typedoc":"^0.27.2","@types/bun":"^1.1.14","remix-auth":"^4.0.0","typescript":"^5.7.2","@types/debug":"^4.1.12","@biomejs/biome":"^1.9.4","@arethetypeswrong/cli":"^0.17.0","typedoc-plugin-mdn-links":"^4.0.3","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"remix-auth":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-auth-oauth2_3.2.0_1734414726148_0.9102006755681258","host":"s3://npm-registry-packages-npm-production"}},"3.2.1":{"name":"remix-auth-oauth2","version":"3.2.1","keywords":["remix","remix-auth","auth","authentication","strategy"],"author":{"url":"https://sergiodxa.com","name":"Sergio Xalambrí","email":"hello+oss@sergiodxa.com"},"license":"MIT","_id":"remix-auth-oauth2@3.2.1","maintainers":[{"name":"sergiodxa","email":"hello@sergiodxa.com"}],"homepage":"https://github.com/sergiodxa/remix-auth-oauth2#readme","bugs":{"url":"https://github.com/sergiodxa/remix-auth-oauth2/issues"},"dist":{"shasum":"3b2dca7d113211008492c5b81ad0932a84a5af40","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-3.2.1.tgz","fileCount":12,"integrity":"sha512-UJJ1C2E8Fg1hLP/dC2pMe218PfxGB73RwYEO4AhJrqN+cmifIb5wf5G62T2hVeTQHyFUY7uggtulBSEgMzz81A==","signatures":[{"sig":"MEYCIQD2Ds0BHPwWXa9r7cTrR7A4MJ9O1OOvnWjrANGIYFfaWQIhAKFhahqEJjf0px2s44NfMbc3NBELz5eSMqxVia4Yrr0I","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39062},"type":"module","engines":{"node":"^20.0.0 || >=20.0.0"},"exports":{".":"./build/index.js","./package.json":"./package.json"},"funding":["https://github.com/sponsors/sergiodxa"],"gitHead":"ef898cab2832eba6de4ae47179b7330d7c906410","scripts":{"build":"tsc","exports":"bun run ./scripts/exports.ts","quality":"biome check .","typecheck":"tsc --noEmit","quality:fix":"biome check . --write --unsafe"},"_npmUser":{"name":"sergiodxa","email":"hello@sergiodxa.com"},"repository":{"url":"git+https://github.com/sergiodxa/remix-auth-oauth2.git","type":"git"},"_npmVersion":"10.9.0","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"debug":"^4.3.7","arctic":"^2.3.0","@mjackson/headers":"^0.9.0","@edgefirst-dev/data":"^0.0.2"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.6.6","typedoc":"^0.27.2","@types/bun":"^1.1.14","remix-auth":"^4.0.0","typescript":"^5.7.2","@types/debug":"^4.1.12","@biomejs/biome":"^1.9.4","@arethetypeswrong/cli":"^0.17.0","typedoc-plugin-mdn-links":"^4.0.3","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"remix-auth":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-auth-oauth2_3.2.1_1735060910796_0.28583774136373985","host":"s3://npm-registry-packages-npm-production"}},"3.2.2":{"name":"remix-auth-oauth2","version":"3.2.2","keywords":["remix","remix-auth","auth","authentication","strategy"],"author":{"url":"https://sergiodxa.com","name":"Sergio Xalambrí","email":"hello+oss@sergiodxa.com"},"license":"MIT","_id":"remix-auth-oauth2@3.2.2","maintainers":[{"name":"sergiodxa","email":"hello@sergiodxa.com"}],"homepage":"https://github.com/sergiodxa/remix-auth-oauth2#readme","bugs":{"url":"https://github.com/sergiodxa/remix-auth-oauth2/issues"},"dist":{"shasum":"66e56c8e348b764bd3c511ec5a0ff59f2971138c","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-3.2.2.tgz","fileCount":12,"integrity":"sha512-m4jb7ZTFau4UcTEfuZQ+SPrXvXQSR8nrcAxww4ddxyvGHZglSeSYPqdwC81gMeEgIxDEgHULZgRfklV4wqJ4fA==","signatures":[{"sig":"MEQCIB8481XNa+cFRVMlKBBiC5Ktn+qolcrgrOz7r5eC2BtGAiAlBOG3hYEkCbSYlDisagUxXqDqdIQM9hdIVgPneGUaKw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39395},"type":"module","engines":{"node":"^20.0.0 || >=20.0.0"},"exports":{".":"./build/index.js","./package.json":"./package.json"},"funding":["https://github.com/sponsors/sergiodxa"],"gitHead":"977b9f8e6c3e664e2e8239239a2b31383f85db7d","scripts":{"build":"tsc","exports":"bun run ./scripts/exports.ts","quality":"biome check .","typecheck":"tsc --noEmit","quality:fix":"biome check . --write --unsafe"},"_npmUser":{"name":"sergiodxa","email":"hello@sergiodxa.com"},"repository":{"url":"git+https://github.com/sergiodxa/remix-auth-oauth2.git","type":"git"},"_npmVersion":"10.9.0","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"debug":"^4.3.7","arctic":"^3.0.0","@mjackson/headers":"^0.9.0","@edgefirst-dev/data":"^0.0.2"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.6.6","typedoc":"^0.27.2","@types/bun":"^1.1.14","remix-auth":"^4.0.0","typescript":"^5.7.2","@types/debug":"^4.1.12","@biomejs/biome":"^1.9.4","@arethetypeswrong/cli":"^0.17.0","typedoc-plugin-mdn-links":"^4.0.3","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"remix-auth":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-auth-oauth2_3.2.2_1735968702748_0.552387133513284","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"remix-auth-oauth2","version":"3.3.0","keywords":["remix","remix-auth","auth","authentication","strategy"],"author":{"url":"https://sergiodxa.com","name":"Sergio Xalambrí","email":"hello+oss@sergiodxa.com"},"license":"MIT","_id":"remix-auth-oauth2@3.3.0","maintainers":[{"name":"sergiodxa","email":"hello@sergiodxa.com"}],"homepage":"https://github.com/sergiodxa/remix-auth-oauth2#readme","bugs":{"url":"https://github.com/sergiodxa/remix-auth-oauth2/issues"},"dist":{"shasum":"d2419a38008508d332fa596d9d13aba0fc37d79f","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-3.3.0.tgz","fileCount":12,"integrity":"sha512-G0FFFJPS1SZ5XCe6Z2uVQC0t5S/ovHbSOTTxTnU+WzED1IuXIjuD3vVxn+hLJQFFRNeH8wFwyrI6IxjPbibljQ==","signatures":[{"sig":"MEUCIAHsYlhUavtbaeHDEQe+Xz5fEWkJ7cltUx9k4Xi7E8dyAiEAje1QyH10e9xPw7QsLYO+Pd45pSg7nkhflMxq4iotupg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39575},"type":"module","engines":{"node":"^20.0.0 || >=20.0.0"},"exports":{".":"./build/index.js","./package.json":"./package.json"},"funding":["https://github.com/sponsors/sergiodxa"],"gitHead":"0df79e04be42810aa6a6ee66778cb2c306db59c5","scripts":{"build":"tsc","exports":"bun run ./scripts/exports.ts","quality":"biome check .","typecheck":"tsc --noEmit","quality:fix":"biome check . --write --unsafe"},"_npmUser":{"name":"sergiodxa","email":"hello@sergiodxa.com"},"repository":{"url":"git+https://github.com/sergiodxa/remix-auth-oauth2.git","type":"git"},"_npmVersion":"10.9.2","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"debug":"^4.3.7","arctic":"^3.0.0","@mjackson/headers":"^0.10.0","@edgefirst-dev/data":"^0.0.4"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.6.6","typedoc":"^0.27.2","@types/bun":"^1.1.14","remix-auth":"^4.0.0","typescript":"^5.7.2","@types/debug":"^4.1.12","@biomejs/biome":"^1.9.4","@arethetypeswrong/cli":"^0.17.0","typedoc-plugin-mdn-links":"^4.0.3","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"remix-auth":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-auth-oauth2_3.3.0_1740967646030_0.07344128687290485","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"name":"remix-auth-oauth2","version":"3.4.0","keywords":["remix","remix-auth","auth","authentication","strategy"],"author":{"url":"https://sergiodxa.com","name":"Sergio Xalambrí","email":"hello+oss@sergiodxa.com"},"license":"MIT","_id":"remix-auth-oauth2@3.4.0","maintainers":[{"name":"sergiodxa","email":"hello@sergiodxa.com"}],"homepage":"https://github.com/sergiodxa/remix-auth-oauth2#readme","bugs":{"url":"https://github.com/sergiodxa/remix-auth-oauth2/issues"},"dist":{"shasum":"89b61d2140ee0618578c0aee606acadd5f29f656","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-3.4.0.tgz","fileCount":12,"integrity":"sha512-aU2TfxqQcJTV3pt7bwXCqUtemE+nXSJnIcWdlCRDUrH+1bwj9WXOkteCOx17fq9xfeXsGpt9xOKasrPoBpjelw==","signatures":[{"sig":"MEQCIDuQlLOWGvM8pkUnZRtTFE/dupTyIISQo930XZPLtJ/FAiBqGpao5zFM8aN1XwmoVsiwJFJl11jLINTzrUimqSyiIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40645},"type":"module","engines":{"node":"^20.0.0 || >=20.0.0"},"exports":{".":"./build/index.js","./package.json":"./package.json"},"funding":["https://github.com/sponsors/sergiodxa"],"gitHead":"0b59b9571740205005e61fafa4db6b2a8bed57c3","scripts":{"build":"tsc","exports":"bun run ./scripts/exports.ts","quality":"biome check .","typecheck":"tsc --noEmit","quality:fix":"biome check . --write --unsafe"},"_npmUser":{"name":"sergiodxa","email":"hello@sergiodxa.com"},"repository":{"url":"git+https://github.com/sergiodxa/remix-auth-oauth2.git","type":"git"},"_npmVersion":"10.9.2","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"debug":"^4.3.7","arctic":"^3.0.0","@mjackson/headers":"^0.10.0","@edgefirst-dev/data":"^0.0.4"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.6.6","typedoc":"^0.27.2","@types/bun":"^1.1.14","remix-auth":"^4.0.0","typescript":"^5.7.2","@types/debug":"^4.1.12","@biomejs/biome":"^1.9.4","@arethetypeswrong/cli":"^0.17.0","typedoc-plugin-mdn-links":"^5.0.1","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"remix-auth":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/remix-auth-oauth2_3.4.0_1741620798049_0.9589748390501776","host":"s3://npm-registry-packages-npm-production"}},"3.4.1":{"name":"remix-auth-oauth2","version":"3.4.1","description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","license":"MIT","funding":["https://github.com/sponsors/sergiodxa"],"keywords":["remix","remix-auth","auth","authentication","strategy"],"author":{"name":"Sergio Xalambrí","email":"hello+oss@sergiodxa.com","url":"https://sergiodxa.com"},"repository":{"url":"git+https://github.com/sergiodxa/remix-auth-oauth2.git","type":"git"},"homepage":"https://github.com/sergiodxa/remix-auth-oauth2#readme","bugs":{"url":"https://github.com/sergiodxa/remix-auth-oauth2/issues"},"scripts":{"build":"tsc","typecheck":"tsc --noEmit","quality":"biome check .","quality:fix":"biome check . --write --unsafe","exports":"bun run ./scripts/exports.ts"},"sideEffects":false,"type":"module","engines":{"node":"^20.0.0 || >=20.0.0"},"exports":{".":"./build/index.js","./package.json":"./package.json"},"dependencies":{"@edgefirst-dev/data":"^0.0.4","@mjackson/headers":"^0.10.0","arctic":"^3.0.0"},"peerDependencies":{"remix-auth":"^4.0.0"},"devDependencies":{"@arethetypeswrong/cli":"^0.18.1","@biomejs/biome":"^1.9.4","@total-typescript/tsconfig":"^1.0.4","@types/bun":"^1.1.14","msw":"^2.6.6","remix-auth":"^4.0.0","typedoc":"^0.28.0","typedoc-plugin-mdn-links":"^5.0.1","typescript":"^5.7.2"},"_id":"remix-auth-oauth2@3.4.1","gitHead":"740aaef78357a533c7aa4517b9a371c2bb5af0d4","_nodeVersion":"22.15.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-ZhGon1czdIsOw1/O9EcTCzapZB6FpT3u9vtXSVeEMwGNs+iWljRsibnUC1RtwJbzzCdLBSwIXTNTbiRmLZ4cZw==","shasum":"1171c98ba4ebf6c7e587a613f9c5a14ed46be9d5","tarball":"https://registry.npmjs.org/remix-auth-oauth2/-/remix-auth-oauth2-3.4.1.tgz","fileCount":12,"unpackedSize":39714,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICt7JV8SQyLssI1LyqzlDEj28nhYir3pnrilFkIP5AvMAiEAk7G//HPNNKo9P/TnlTR/9JGYDLpCHUEHBpSWomtzgxY="}]},"_npmUser":{"name":"sergiodxa","email":"hello@sergiodxa.com"},"directories":{},"maintainers":[{"name":"sergiodxa","email":"hello@sergiodxa.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/remix-auth-oauth2_3.4.1_1747353576722_0.13802725989564824"},"_hasShrinkwrap":false}},"time":{"created":"2021-12-21T02:05:39.714Z","modified":"2025-05-15T23:59:37.070Z","1.0.0":"2021-12-21T02:05:39.997Z","1.1.0":"2021-12-29T03:29:56.636Z","1.2.0":"2022-01-13T21:16:24.808Z","1.2.1":"2022-04-29T04:01:55.037Z","1.2.2":"2022-05-11T19:54:50.930Z","1.3.0":"2022-07-28T22:55:28.999Z","1.4.0":"2022-11-25T17:17:24.217Z","1.5.0":"2022-11-30T21:12:35.266Z","1.6.0":"2023-01-27T16:31:56.338Z","1.7.0":"2023-05-28T03:16:44.484Z","1.8.0":"2023-07-24T23:33:38.951Z","1.9.0":"2023-08-31T21:26:03.923Z","1.10.0":"2023-10-03T22:31:23.554Z","1.11.0":"2023-10-06T04:59:45.132Z","1.11.1":"2023-12-19T21:46:29.176Z","1.11.2":"2024-03-16T05:10:33.898Z","2.0.0":"2024-05-17T23:51:12.117Z","2.1.0":"2024-05-29T18:17:37.841Z","2.2.0":"2024-08-06T05:57:20.820Z","2.3.0":"2024-08-09T18:35:28.688Z","2.4.0":"2024-10-01T21:31:33.507Z","3.0.0":"2024-11-25T03:14:47.541Z","3.1.0":"2024-11-27T05:42:36.000Z","3.2.0":"2024-12-17T05:52:06.332Z","3.2.1":"2024-12-24T17:21:50.987Z","3.2.2":"2025-01-04T05:31:42.971Z","3.3.0":"2025-03-03T02:07:26.207Z","3.4.0":"2025-03-10T15:33:18.239Z","3.4.1":"2025-05-15T23:59:36.918Z"},"bugs":{"url":"https://github.com/sergiodxa/remix-auth-oauth2/issues"},"author":{"name":"Sergio Xalambrí","email":"hello+oss@sergiodxa.com","url":"https://sergiodxa.com"},"license":"MIT","homepage":"https://github.com/sergiodxa/remix-auth-oauth2#readme","keywords":["remix","remix-auth","auth","authentication","strategy"],"repository":{"url":"git+https://github.com/sergiodxa/remix-auth-oauth2.git","type":"git"},"description":"A strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.","maintainers":[{"name":"sergiodxa","email":"hello@sergiodxa.com"}],"readme":"# OAuth2Strategy\n\nA strategy to use and implement OAuth2 framework for authentication with federated services like Google, Facebook, GitHub, etc.\n\n> [!WARNING]\n> This strategy expects the identity provider to strictly follow the OAuth2 specification. If the provider does not follow the specification and diverges from it, this strategy may not work as expected.\n\n## Supported runtimes\n\n| Runtime    | Has Support |\n| ---------- | ----------- |\n| Node.js    | ✅          |\n| Cloudflare | ✅          |\n\n## How to use\n\n### Installation\n\n```bash\nnpm add remix-auth-oauth2\n```\n\n### Directly\n\nYou can use this strategy by adding it to your authenticator instance and configuring the correct endpoints.\n\n```ts\nimport { OAuth2Strategy, CodeChallengeMethod } from \"remix-auth-oauth2\";\n\nexport const authenticator = new Authenticator<User>();\n\nauthenticator.use(\n  new OAuth2Strategy(\n    {\n      cookie: \"oauth2\", // Optional, can also be an object with more options\n\n      clientId: CLIENT_ID,\n      clientSecret: CLIENT_SECRET,\n\n      authorizationEndpoint: \"https://provider.com/oauth2/authorize\",\n      tokenEndpoint: \"https://provider.com/oauth2/token\",\n      redirectURI: \"https://example.app/auth/callback\",\n\n      tokenRevocationEndpoint: \"https://provider.com/oauth2/revoke\", // optional\n\n      scopes: [\"openid\", \"email\", \"profile\"], // optional\n      codeChallengeMethod: CodeChallengeMethod.S256, // optional\n    },\n    async ({ tokens, request }) => {\n      // here you can use the params above to get the user and return it\n      // what you do inside this and how you find the user is up to you\n      return await getUser(tokens, request);\n    }\n  ),\n  // this is optional, but if you setup more than one OAuth2 instance you will\n  // need to set a custom name to each one\n  \"provider-name\"\n);\n```\n\nThen you will need to setup your routes, for the OAuth2 flows you will need to call the `authenticate` method twice.\n\nFirst, you will call the `authenticate` method with the provider name you set in the authenticator.\n\n```ts\nexport async function action({ request }: Route.ActionArgs) {\n  await authenticator.authenticate(\"provider-name\", { request });\n}\n```\n\n> [!NOTE]\n> This route can be an `action` or a `loader`, it depends if you trigger the flow doing a POST or GET request.\n\nThis will start the OAuth2 flow and redirect the user to the provider's login page. Once the user logs in and authorizes your application, the provider will redirect the user back to your application redirect URI.\n\nYou will now need a route on that URI to handle the callback from the provider.\n\n```ts\nexport async function loader({ request }: Route.LoaderArgs) {\n  let user = await authenticator.authenticate(\"provider-name\", request);\n  // now you have the user object with the data you returned in the verify function\n}\n```\n\n> [!NOTE]\n> This route must be a `loader` as the redirect will trigger a `GET` request.\n\nOnce you have the `user` object returned by your strategy verify function, you can do whatever you want with that information. This can be storing the user in a session, creating a new user in your database, link the account to an existing user in your database, etc.\n\n### Using the Refresh Token\n\nThe strategy exposes a public `refreshToken` method that you can use to refresh the access token.\n\n```ts\nlet strategy = new OAuth2Strategy<User>(options, verify);\nlet tokens = await strategy.refreshToken(refreshToken);\n```\n\nThe refresh token is part of the `tokens` object the verify function receives. How you store it to call `strategy.refreshToken` and what you do with the `tokens` object after it is up to you.\n\nThe most common approach would be to store the refresh token in the user data and then update the session after refreshing the token.\n\n```ts\nauthenticator.use(\n  new OAuth2Strategy<User>(\n    options,\n    async ({ tokens, request }) => {\n      let user = await getUser(tokens, request);\n      return {\n        ...user,\n        accessToken: tokens.accessToken()\n        refreshToken: tokens.hasRefreshToken() ? tokens.refreshToken() : null,\n      }\n    }\n  )\n);\n\n// later in your code you can use it to get new tokens object\nlet tokens = await strategy.refreshToken(user.refreshToken);\n```\n\n### Revoking Tokens\n\nYou can revoke the access token the user has with the provider.\n\n```ts\nawait strategy.revokeToken(user.accessToken);\n```\n\n### Discovering the Provider\n\nIf you want to discover the provider's endpoints, you can use the `discover` static method.\n\n```ts\nexport let authenticator = new Authenticator<User>();\n\nauthenticator.use(\n  await OAuth2Strategy.discover<User>(\n    \"https://provider.com\",\n    {\n      clientId: CLIENT_ID,\n      clientSecret: CLIENT_SECRET,\n      redirectURI: \"https://example.app/auth/callback\",\n      scopes: [\"openid\", \"email\", \"profile\"], // optional\n    },\n    async ({ tokens, request }) => {\n      // here you can use the params above to get the user and return it\n      // what you do inside this and how you find the user is up to you\n      return await getUser(tokens, request);\n    }\n  )\n);\n```\n\nThis will fetch the provider's configuration endpoint (`/.well-known/openid-configuration`) and grab the authorization, token and revocation endpoints from it, it will also grab the code challenge method supported and try to use S256 if it is supported.\n\nRemember this will do a fetch when then strategy is created, this will add a latency to the startup of your application.\n\nIt's recommended to use this method only once and then copy the endpoints to your configuration.\n\n### Customizing the Cookie\n\nYou can customize the cookie options by passing an object to the `cookie` option.\n\n```ts\nauthenticator.use(\n  new OAuth2Strategy<User>(\n    {\n      cookie: {\n        name: \"oauth2\",\n        maxAge: 60 * 60 * 24 * 7, // 1 week\n        path: \"/auth\",\n        httpOnly: true,\n        sameSite: \"lax\",\n        secure: process.env.NODE_ENV === \"production\",\n      },\n      clientId: CLIENT_ID,\n      clientSecret: CLIENT_SECRET,\n      authorizationEndpoint: \"https://provider.com/oauth2/authorize\",\n      tokenEndpoint: \"https://provider.com/oauth2/token\",\n      redirectURI: \"https://example.app/auth/callback\",\n    },\n    async ({ tokens, request }) => {\n      return await getUser(tokens, request);\n    }\n  )\n);\n```\n\nThis will set the cookie with the name `oauth2`, with a max age of 1 week, only accessible on the `/auth` path, http only, same site lax and secure if the application is running in production.\n","readmeFilename":"README.md"}