{"_id":"payload-totp","_rev":"20-9c002d4ced2bcac220cb31cb2730ff4b","name":"payload-totp","dist-tags":{"latest":"3.0.3"},"versions":{"0.0.0-alpha.0":{"name":"payload-totp","version":"0.0.0-alpha.0","keywords":["payload","cms","plugin","totp","otp","security","auth","authentification"],"author":{"url":"https://en.george-hulpoi.dev","name":"George-Valentin Hulpoi"},"license":"MIT","_id":"payload-totp@0.0.0-alpha.0","maintainers":[{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"}],"homepage":"https://github.com/GeorgeHulpoi/payload-totp#readme","bugs":{"url":"https://github.com/GeorgeHulpoi/payload-totp/issues"},"dist":{"shasum":"d3ab307c8d807cf0883f3ce6f35b89024a38b911","tarball":"https://registry.npmjs.org/payload-totp/-/payload-totp-0.0.0-alpha.0.tgz","fileCount":99,"integrity":"sha512-NGoo1HKVKTpfg9TWGDyU7csY16opLgvGWLNr2Uo0TSAUT1Gpq+ih6PJSUHLND3ClLYgSelJnUJQcMjVf3qYuYQ==","signatures":[{"sig":"MEQCIF1YA80Mdu9CbUxQVfQMGuo8UlbsXABrJXRE4swEJIeiAiBXYHH6VM8qNAsTgLjurFherky4gUjemj8wkw9SNLOuVQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":147488},"main":"./dist/index.js","type":"module","_from":"file:payload-totp-0.0.0-alpha.0.tgz","types":"./dist/index.d.ts","engines":{"node":"^18.20.2 || >=20.9.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./rsc":{"types":"./dist/exports/rsc.d.ts","import":"./dist/exports/rsc.js","default":"./dist/exports/rsc.js"},"./client":{"types":"./dist/exports/client.d.ts","import":"./dist/exports/client.js","default":"./dist/exports/client.js"}},"scripts":{"dev":"payload run ./dev/server.ts","lint":"eslint ./src","test":"jest","build":"pnpm copyfiles && pnpm build:types && pnpm build:swc","clean":"rimraf {dist,*.tsbuildinfo}","lint:fix":"eslint ./src --fix","build:swc":"swc ./src -d ./dist --config-file .swcrc --strip-leading-paths","copyfiles":"copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/","build:types":"tsc --outDir dist --rootDir ./src","dev:payload":"cross-env PAYLOAD_CONFIG_PATH=./dev/payload.config.ts payload","dev:generate-types":"pnpm dev:payload generate:types","dev:generate-importmap":"pnpm dev:payload generate:importmap"},"_npmUser":{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"},"registry":"https://registry.npmjs.org/","_resolved":"C:\\Users\\George\\AppData\\Local\\Temp\\74248420ca47284f9f2e6ac8a5b1e10c\\payload-totp-0.0.0-alpha.0.tgz","_integrity":"sha512-NGoo1HKVKTpfg9TWGDyU7csY16opLgvGWLNr2Uo0TSAUT1Gpq+ih6PJSUHLND3ClLYgSelJnUJQcMjVf3qYuYQ==","repository":{"url":"git+https://github.com/GeorgeHulpoi/payload-totp.git","type":"git"},"_npmVersion":"10.1.0","description":"Add an extra security layer to PayloadCMS using a Time-based One-time Password (TOTP).","directories":{},"_nodeVersion":"20.9.0","dependencies":{"qrcode":"^1.5.4","otpauth":"^9.3.6","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","next":"15.1.0","open":"^10.1.0","react":"19.0.0","sharp":"0.32.6","eslint":"^9.16.0","qs-esm":"7.0.2","rimraf":"3.0.2","graphql":"^16.8.1","payload":"3.14.0","@swc/cli":"0.5.1","prettier":"^3.4.2","@swc/jest":"^0.2.37","copyfiles":"2.4.1","cross-env":"^7.0.3","react-dom":"19.0.0","typescript":"5.7.2","@types/jest":"29.5.12","@types/node":"^22.5.4","@types/react":"19.0.1","@types/qrcode":"^1.5.5","@payloadcms/ui":"3.14.0","@eslint/eslintrc":"^3.2.0","@payloadcms/next":"3.14.0","@types/react-dom":"19.0.1","sort-package-json":"^2.10.0","@swc-node/register":"1.10.9","eslint-config-next":"15.1.0","@types/jsonwebtoken":"^9.0.7","@payloadcms/db-sqlite":"3.14.0","mongodb-memory-server":"^10.1.2","@payloadcms/db-mongodb":"3.14.0","@payloadcms/db-postgres":"3.14.0","@payloadcms/translations":"^3.14.0","@payloadcms/eslint-config":"3.9.0","@payloadcms/richtext-lexical":"3.14.0"},"peerDependencies":{"payload":"^3.14.0"},"_npmOperationalInternal":{"tmp":"tmp/payload-totp_0.0.0-alpha.0_1736870683767_0.8608608536364806","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-alpha.1":{"name":"payload-totp","version":"0.0.0-alpha.1","keywords":["payload","cms","plugin","totp","otp","security","auth","authentification"],"author":{"url":"https://en.george-hulpoi.dev","name":"George-Valentin Hulpoi"},"license":"MIT","_id":"payload-totp@0.0.0-alpha.1","maintainers":[{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"}],"homepage":"https://github.com/GeorgeHulpoi/payload-totp#readme","bugs":{"url":"https://github.com/GeorgeHulpoi/payload-totp/issues"},"dist":{"shasum":"9b39043f31af31a44f412a4e2ef8ff7db05101c1","tarball":"https://registry.npmjs.org/payload-totp/-/payload-totp-0.0.0-alpha.1.tgz","fileCount":99,"integrity":"sha512-0BNucN6ItoPGlQk/1vvAXOM93USaFc9D2zl8hyCjBWWufHdtiZRsM9Sez3HkX80u3trVtfYqbs+yNf+5vYk7Og==","signatures":[{"sig":"MEQCIAxCeGyx64u5bq1deTNNkxqgeRhuZ2Ctni/n72ocCZ3HAiB1gVcllRuPt09fMAd12m27JqcKn5xVtZ41APcUhdCXxA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153670},"main":"./dist/index.js","type":"module","_from":"file:payload-totp-0.0.0-alpha.1.tgz","types":"./dist/index.d.ts","engines":{"node":"^18.20.2 || >=20.9.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./rsc":{"types":"./dist/exports/rsc.d.ts","import":"./dist/exports/rsc.js","default":"./dist/exports/rsc.js"},"./client":{"types":"./dist/exports/client.d.ts","import":"./dist/exports/client.js","default":"./dist/exports/client.js"}},"scripts":{"dev":"payload run ./dev/server.ts","lint":"eslint ./src","test":"jest","build":"pnpm copyfiles && pnpm build:types && pnpm build:swc","clean":"rimraf {dist,*.tsbuildinfo}","e2e:test":"playwright test","lint:fix":"eslint ./src --fix","build:swc":"swc ./src -d ./dist --config-file .swcrc --strip-leading-paths","copyfiles":"copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/","dev:build":"next build ./dev","dev:start":"next start ./dev","build:types":"tsc --outDir dist --rootDir ./src","dev:payload":"cross-env PAYLOAD_CONFIG_PATH=./dev/payload.config.ts payload","dev:generate-types":"pnpm dev:payload generate:types","dev:generate-importmap":"pnpm dev:payload generate:importmap"},"_npmUser":{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"},"registry":"https://registry.npmjs.org/","_resolved":"C:\\Users\\George\\AppData\\Local\\Temp\\4401617207cb311cc00c2cfa6641e83b\\payload-totp-0.0.0-alpha.1.tgz","_integrity":"sha512-0BNucN6ItoPGlQk/1vvAXOM93USaFc9D2zl8hyCjBWWufHdtiZRsM9Sez3HkX80u3trVtfYqbs+yNf+5vYk7Og==","repository":{"url":"git+https://github.com/GeorgeHulpoi/payload-totp.git","type":"git"},"_npmVersion":"10.1.0","description":"Add an extra security layer to PayloadCMS using a Time-based One-time Password (TOTP).","directories":{},"_nodeVersion":"20.9.0","dependencies":{"qrcode":"^1.5.4","otpauth":"^9.3.6","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","next":"15.1.0","open":"^10.1.0","sass":"^1.83.4","react":"19.0.0","sharp":"0.32.6","eslint":"^9.16.0","qs-esm":"7.0.2","rimraf":"3.0.2","graphql":"^16.8.1","payload":"3.14.0","@swc/cli":"0.5.1","prettier":"^3.4.2","@swc/jest":"^0.2.37","copyfiles":"2.4.1","cross-env":"^7.0.3","react-dom":"19.0.0","typescript":"5.7.2","@types/jest":"29.5.12","@types/node":"^22.5.4","@types/react":"19.0.1","@types/qrcode":"^1.5.5","@payloadcms/ui":"3.14.0","@eslint/eslintrc":"^3.2.0","@payloadcms/next":"3.14.0","@playwright/test":"^1.49.1","@types/react-dom":"19.0.1","sort-package-json":"^2.10.0","@swc-node/register":"1.10.9","eslint-config-next":"15.1.0","@types/jsonwebtoken":"^9.0.7","@payloadcms/db-sqlite":"3.14.0","mongodb-memory-server":"^10.1.2","@payloadcms/db-mongodb":"3.14.0","@payloadcms/db-postgres":"3.14.0","@payloadcms/translations":"^3.14.0","@payloadcms/eslint-config":"3.9.0","@payloadcms/richtext-lexical":"3.14.0"},"peerDependencies":{"payload":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/payload-totp_0.0.0-alpha.1_1737638738807_0.36677480115289174","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-alpha.2":{"name":"payload-totp","version":"0.0.0-alpha.2","keywords":["payload","cms","plugin","totp","otp","security","auth","authentification"],"author":{"url":"https://en.george-hulpoi.dev","name":"George-Valentin Hulpoi"},"license":"MIT","_id":"payload-totp@0.0.0-alpha.2","maintainers":[{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"}],"homepage":"https://github.com/GeorgeHulpoi/payload-totp#readme","bugs":{"url":"https://github.com/GeorgeHulpoi/payload-totp/issues"},"dist":{"shasum":"80358bca7aaabbae1f66cdaa0734c45f4fe5b1d8","tarball":"https://registry.npmjs.org/payload-totp/-/payload-totp-0.0.0-alpha.2.tgz","fileCount":102,"integrity":"sha512-Eaxdl3BQ3GfhVVt+MZH2unqo9cDHqvpuqucit+1qQl6hJTGJJH5XNckmIXfigL5qmMacR4jG4722OJvRO5tXVQ==","signatures":[{"sig":"MEYCIQDzX/+65sg1+0V3xvnZ6mpQSjRg2FyWc082CLx7t1tGmwIhAOJJiM6BODRVSOaB/5d3N4DQvAwlPUCu641EBqD1VBg9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":161274},"main":"./dist/index.js","type":"module","_from":"file:payload-totp-0.0.0-alpha.2.tgz","types":"./dist/index.d.ts","engines":{"node":"^18.20.2 || >=20.9.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./rsc":{"types":"./dist/exports/rsc.d.ts","import":"./dist/exports/rsc.js","default":"./dist/exports/rsc.js"},"./client":{"types":"./dist/exports/client.d.ts","import":"./dist/exports/client.js","default":"./dist/exports/client.js"}},"scripts":{"dev":"payload run ./dev/server.ts","lint":"eslint ./src","test":"jest","build":"pnpm copyfiles && pnpm build:types && pnpm build:swc","clean":"rimraf {dist,*.tsbuildinfo}","e2e:test":"playwright test","lint:fix":"eslint ./src --fix","build:swc":"swc ./src -d ./dist --config-file .swcrc --strip-leading-paths","copyfiles":"copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/","dev:build":"next build ./dev","dev:start":"next start ./dev","build:types":"tsc --outDir dist --rootDir ./src","dev:payload":"cross-env PAYLOAD_CONFIG_PATH=./dev/payload.config.ts payload","dev:generate-types":"pnpm dev:payload generate:types","dev:generate-importmap":"pnpm dev:payload generate:importmap"},"_npmUser":{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"},"registry":"https://registry.npmjs.org/","_resolved":"/tmp/675562a338ad9ebc7bfffd8fa6dd7310/payload-totp-0.0.0-alpha.2.tgz","_integrity":"sha512-Eaxdl3BQ3GfhVVt+MZH2unqo9cDHqvpuqucit+1qQl6hJTGJJH5XNckmIXfigL5qmMacR4jG4722OJvRO5tXVQ==","repository":{"url":"git+https://github.com/GeorgeHulpoi/payload-totp.git","type":"git"},"_npmVersion":"10.8.2","description":"Add an extra security layer to PayloadCMS using a Time-based One-time Password (TOTP).","directories":{},"_nodeVersion":"20.18.2","dependencies":{"qrcode":"^1.5.4","otpauth":"^9.3.6","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","next":"15.1.5","open":"^10.1.0","sass":"^1.83.4","uuid":"^11.0.5","react":"19.0.0","sharp":"0.32.6","eslint":"^9.16.0","qs-esm":"7.0.2","rimraf":"3.0.2","graphql":"^16.8.1","payload":"3.23.0","@swc/cli":"0.5.1","get-port":"^7.1.0","prettier":"^3.4.2","@swc/jest":"^0.2.37","copyfiles":"2.4.1","cross-env":"^7.0.3","react-dom":"19.0.0","typescript":"5.7.2","@types/jest":"29.5.12","@types/node":"^22.5.4","@types/uuid":"^10.0.0","@types/react":"19.0.1","@types/qrcode":"^1.5.5","@payloadcms/ui":"3.23.0","@eslint/eslintrc":"^3.2.0","@payloadcms/next":"3.23.0","@playwright/test":"^1.49.1","@types/react-dom":"19.0.1","sort-package-json":"^2.10.0","@swc-node/register":"1.10.9","eslint-config-next":"15.1.0","@types/jsonwebtoken":"^9.0.7","@payloadcms/db-sqlite":"3.23.0","mongodb-memory-server":"^10.1.2","@payloadcms/db-mongodb":"3.23.0","@payloadcms/db-postgres":"3.23.0","@payloadcms/translations":"^3.23.0","@payloadcms/eslint-config":"3.9.0","@payloadcms/richtext-lexical":"3.23.0"},"peerDependencies":{"payload":"^3.23.0","@payloadcms/ui":"^3.23.0","@payloadcms/next":"^3.23.0","@payloadcms/translations":"^3.23.0"},"_npmOperationalInternal":{"tmp":"tmp/payload-totp_0.0.0-alpha.2_1739977892187_0.8354183107997442","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-alpha.3":{"name":"payload-totp","version":"0.0.0-alpha.3","keywords":["payload","cms","plugin","totp","otp","security","auth","authentification"],"author":{"url":"https://en.george-hulpoi.dev","name":"George-Valentin Hulpoi"},"license":"MIT","_id":"payload-totp@0.0.0-alpha.3","maintainers":[{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"}],"homepage":"https://github.com/GeorgeHulpoi/payload-totp#readme","bugs":{"url":"https://github.com/GeorgeHulpoi/payload-totp/issues"},"dist":{"shasum":"198938468fe43cca6bcee3e5288a29a38d8c51e6","tarball":"https://registry.npmjs.org/payload-totp/-/payload-totp-0.0.0-alpha.3.tgz","fileCount":102,"integrity":"sha512-dywpMHaZQFbyBjdTrNozVVxJgacLV4HiHqwDtFIAix3d1Is8SCWUTN2/FZHDe44GBNfAngFMnZrfaKLBukwVyA==","signatures":[{"sig":"MEYCIQD606cphYfFSTBKIVZYj16c8w0afsF160ag5PEadaVMOwIhANTGIVLCF6/YsrXLJ9t8fgt8LZMqCUXGzE2+QVNvChnc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":162834},"main":"./dist/index.js","type":"module","_from":"file:payload-totp-0.0.0-alpha.3.tgz","types":"./dist/index.d.ts","engines":{"node":"^18.20.2 || >=20.9.0","pnpm":"^9"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./rsc":{"types":"./dist/exports/rsc.d.ts","import":"./dist/exports/rsc.js","default":"./dist/exports/rsc.js"},"./client":{"types":"./dist/exports/client.d.ts","import":"./dist/exports/client.js","default":"./dist/exports/client.js"}},"scripts":{"dev":"payload run ./dev/server.ts","lint":"eslint ./src","test":"jest","build":"pnpm copyfiles && pnpm build:types && pnpm build:swc","clean":"rimraf {dist,*.tsbuildinfo}","e2e:test":"playwright test","lint:fix":"eslint ./src --fix","build:swc":"swc ./src -d ./dist --config-file .swcrc --strip-leading-paths","copyfiles":"copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/","dev:build":"next build ./dev","dev:start":"next start ./dev","build:types":"tsc --outDir dist --rootDir ./src","dev:payload":"cross-env PAYLOAD_CONFIG_PATH=./dev/payload.config.ts payload","dev:generate-types":"pnpm dev:payload generate:types","dev:generate-importmap":"pnpm dev:payload generate:importmap"},"_npmUser":{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"},"registry":"https://registry.npmjs.org/","_resolved":"/tmp/235cfcfebd86a9dcdb84a7e0f333c60d/payload-totp-0.0.0-alpha.3.tgz","_integrity":"sha512-dywpMHaZQFbyBjdTrNozVVxJgacLV4HiHqwDtFIAix3d1Is8SCWUTN2/FZHDe44GBNfAngFMnZrfaKLBukwVyA==","repository":{"url":"git+https://github.com/GeorgeHulpoi/payload-totp.git","type":"git"},"_npmVersion":"10.8.2","description":"Add an extra security layer to PayloadCMS using a Time-based One-time Password (TOTP).","directories":{},"_nodeVersion":"20.18.2","dependencies":{"qrcode":"^1.5.4","otpauth":"^9.3.6","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","next":"^15.1.7","open":"^10.1.0","sass":"^1.83.4","uuid":"^11.0.5","react":"19.0.0","sharp":"0.32.6","eslint":"^9.16.0","qs-esm":"7.0.2","rimraf":"3.0.2","graphql":"^16.8.1","payload":"^3.24.0","@swc/cli":"0.5.1","get-port":"^7.1.0","prettier":"^3.4.2","@swc/jest":"^0.2.37","copyfiles":"2.4.1","cross-env":"^7.0.3","react-dom":"19.0.0","typescript":"5.7.2","@types/jest":"29.5.12","@types/node":"^22.5.4","@types/uuid":"^10.0.0","@types/react":"19.0.1","@types/qrcode":"^1.5.5","@payloadcms/ui":"^3.24.0","@eslint/eslintrc":"^3.2.0","@payloadcms/next":"^3.24.0","@playwright/test":"^1.49.1","@types/react-dom":"19.0.1","sort-package-json":"^2.10.0","@swc-node/register":"1.10.9","eslint-config-next":"15.1.0","@types/jsonwebtoken":"^9.0.7","@payloadcms/db-sqlite":"^3.24.0","mongodb-memory-server":"^10.1.2","@payloadcms/db-mongodb":"^3.24.0","@payloadcms/db-postgres":"^3.24.0","@payloadcms/translations":"^3.24.0","@payloadcms/eslint-config":"3.9.0","@payloadcms/richtext-lexical":"^3.24.0"},"peerDependencies":{"payload":"^3.24.0","@payloadcms/ui":"^3.24.0","@payloadcms/next":"^3.24.0","@payloadcms/translations":"^3.24.0"},"_npmOperationalInternal":{"tmp":"tmp/payload-totp_0.0.0-alpha.3_1740128599575_0.3169937296616112","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-alpha.4":{"name":"payload-totp","version":"0.0.0-alpha.4","keywords":["payload","cms","plugin","totp","otp","security","auth","authentification"],"author":{"url":"https://en.george-hulpoi.dev","name":"George-Valentin Hulpoi"},"license":"MIT","_id":"payload-totp@0.0.0-alpha.4","maintainers":[{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"}],"homepage":"https://github.com/GeorgeHulpoi/payload-totp#readme","bugs":{"url":"https://github.com/GeorgeHulpoi/payload-totp/issues"},"dist":{"shasum":"4df21ddba9da59ed081965581b0372f352f7dcdf","tarball":"https://registry.npmjs.org/payload-totp/-/payload-totp-0.0.0-alpha.4.tgz","fileCount":105,"integrity":"sha512-O1GniBEN/thFfPbrOuLcFymVdss9L4GplD1DyKGidZxEJ2GdFEgftJDrNDgdUNpVlH6/wX00+T7CU8AZ7bLV1g==","signatures":[{"sig":"MEUCIGj8EcujbHXY4lWi4iWjj5r/9zreICIoADEbVgBndtCWAiEA+dOx+NSeyI8rr1FN5oFogfB4hVjZ2C9mHpmcJChs5CM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":164888},"main":"./dist/index.js","type":"module","_from":"file:payload-totp-0.0.0-alpha.4.tgz","types":"./dist/index.d.ts","engines":{"node":"^18.20.2 || >=20.9.0","pnpm":"^9"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./rsc":{"types":"./dist/exports/rsc.d.ts","import":"./dist/exports/rsc.js","default":"./dist/exports/rsc.js"},"./client":{"types":"./dist/exports/client.d.ts","import":"./dist/exports/client.js","default":"./dist/exports/client.js"}},"scripts":{"dev":"payload run ./dev/server.ts","lint":"eslint ./src","test":"jest","build":"pnpm copyfiles && pnpm build:types && pnpm build:swc","clean":"rimraf {dist,*.tsbuildinfo}","e2e:test":"playwright test","lint:fix":"eslint ./src --fix","build:swc":"swc ./src -d ./dist --config-file .swcrc --strip-leading-paths","copyfiles":"copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/","dev:build":"next build ./dev","dev:start":"next start ./dev","build:types":"tsc --outDir dist --rootDir ./src","dev:payload":"cross-env PAYLOAD_CONFIG_PATH=./dev/payload.config.ts payload","dev:generate-types":"pnpm dev:payload generate:types","dev:generate-importmap":"pnpm dev:payload generate:importmap"},"_npmUser":{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"},"registry":"https://registry.npmjs.org/","_resolved":"/tmp/a3b715d7d705a9ee9547b7cde5ba1768/payload-totp-0.0.0-alpha.4.tgz","_integrity":"sha512-O1GniBEN/thFfPbrOuLcFymVdss9L4GplD1DyKGidZxEJ2GdFEgftJDrNDgdUNpVlH6/wX00+T7CU8AZ7bLV1g==","repository":{"url":"git+https://github.com/GeorgeHulpoi/payload-totp.git","type":"git"},"_npmVersion":"10.8.2","description":"Add an extra security layer to PayloadCMS using a Time-based One-time Password (TOTP).","directories":{},"_nodeVersion":"20.18.2","dependencies":{"qrcode":"^1.5.4","otpauth":"^9.3.6","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","next":"^15.1.7","open":"^10.1.0","sass":"^1.83.4","uuid":"^11.0.5","react":"19.0.0","sharp":"0.32.6","eslint":"^9.16.0","qs-esm":"7.0.2","rimraf":"3.0.2","graphql":"^16.8.1","payload":"^3.24.0","@swc/cli":"0.5.1","get-port":"^7.1.0","prettier":"^3.4.2","@swc/jest":"^0.2.37","copyfiles":"2.4.1","cross-env":"^7.0.3","react-dom":"19.0.0","typescript":"5.7.2","@types/jest":"29.5.12","@types/node":"^22.5.4","@types/uuid":"^10.0.0","@types/react":"19.0.1","@types/qrcode":"^1.5.5","@payloadcms/ui":"^3.24.0","@eslint/eslintrc":"^3.2.0","@payloadcms/next":"^3.24.0","@playwright/test":"^1.49.1","@types/react-dom":"19.0.1","sort-package-json":"^2.10.0","@swc-node/register":"1.10.9","eslint-config-next":"15.1.0","@types/jsonwebtoken":"^9.0.7","@payloadcms/db-sqlite":"^3.24.0","mongodb-memory-server":"^10.1.2","@payloadcms/db-mongodb":"^3.24.0","@payloadcms/db-postgres":"^3.24.0","@payloadcms/translations":"^3.24.0","@payloadcms/eslint-config":"3.9.0","@payloadcms/richtext-lexical":"^3.24.0"},"peerDependencies":{"payload":"^3.24.0","@payloadcms/ui":"^3.24.0","@payloadcms/next":"^3.24.0","@payloadcms/translations":"^3.24.0"},"_npmOperationalInternal":{"tmp":"tmp/payload-totp_0.0.0-alpha.4_1740560936773_0.3616642788323514","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-alpha.5":{"name":"payload-totp","version":"0.0.0-alpha.5","keywords":["payload","cms","plugin","totp","otp","security","auth","authentification"],"author":{"url":"https://en.george-hulpoi.dev","name":"George-Valentin Hulpoi"},"license":"MIT","_id":"payload-totp@0.0.0-alpha.5","maintainers":[{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"}],"homepage":"https://github.com/GeorgeHulpoi/payload-totp#readme","bugs":{"url":"https://github.com/GeorgeHulpoi/payload-totp/issues"},"dist":{"shasum":"e5d558cec7b50a4c5f7f7cd9ab894cc59cdee2c9","tarball":"https://registry.npmjs.org/payload-totp/-/payload-totp-0.0.0-alpha.5.tgz","fileCount":105,"integrity":"sha512-+bkgYyYgCWwIIVzwC+JviZFWDeBVmEhyfWEV40vZMfXEY9YOEoXqyWVmHDZ+EK8girXahPdd5408/d2T+TRGOw==","signatures":[{"sig":"MEQCIBO99CYeIN9fen0VWLvbwTKTUk0u0mTw62RbTFa+4swTAiBMXZ4GZ/+diIchj7PYesszUOGfvpT1is2Nil+a9Ww39g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":166104},"main":"./dist/index.js","type":"module","_from":"file:payload-totp-0.0.0-alpha.5.tgz","types":"./dist/index.d.ts","engines":{"node":"^18.20.2 || >=20.9.0","pnpm":"^10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./rsc":{"types":"./dist/exports/rsc.d.ts","import":"./dist/exports/rsc.js","default":"./dist/exports/rsc.js"},"./client":{"types":"./dist/exports/client.d.ts","import":"./dist/exports/client.js","default":"./dist/exports/client.js"}},"scripts":{"dev":"payload run ./dev/server.ts","lint":"eslint ./src","test":"jest","build":"pnpm copyfiles && pnpm build:types && pnpm build:swc","clean":"rimraf {dist,*.tsbuildinfo}","e2e:test":"playwright test","lint:fix":"eslint ./src --fix","build:swc":"swc ./src -d ./dist --config-file .swcrc --strip-leading-paths","copyfiles":"copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/","dev:build":"next build ./dev","dev:start":"next start ./dev","build:types":"tsc --outDir dist --rootDir ./src","dev:payload":"cross-env PAYLOAD_CONFIG_PATH=./dev/payload.config.ts payload","dev:generate-types":"pnpm dev:payload generate:types","dev:generate-importmap":"pnpm dev:payload generate:importmap"},"_npmUser":{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"},"registry":"https://registry.npmjs.org/","_resolved":"/tmp/5e306df523a01c1c37aebda5e9a800ef/payload-totp-0.0.0-alpha.5.tgz","_integrity":"sha512-+bkgYyYgCWwIIVzwC+JviZFWDeBVmEhyfWEV40vZMfXEY9YOEoXqyWVmHDZ+EK8girXahPdd5408/d2T+TRGOw==","repository":{"url":"git+https://github.com/GeorgeHulpoi/payload-totp.git","type":"git"},"_npmVersion":"10.8.2","description":"Add an extra security layer to PayloadCMS using a Time-based One-time Password (TOTP).","directories":{},"_nodeVersion":"20.19.0","dependencies":{"qrcode":"^1.5.4","otpauth":"^9.3.6","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","next":"^15.1.7","open":"^10.1.0","sass":"^1.83.4","uuid":"^11.0.5","react":"19.0.0","sharp":"0.32.6","eslint":"^9.16.0","qs-esm":"7.0.2","rimraf":"3.0.2","graphql":"^16.8.1","payload":"^3.29.0","@swc/cli":"0.5.1","get-port":"^7.1.0","prettier":"^3.4.2","@swc/jest":"^0.2.37","copyfiles":"2.4.1","cross-env":"^7.0.3","react-dom":"19.0.0","typescript":"5.7.2","@types/jest":"29.5.12","@types/node":"^22.5.4","@types/uuid":"^10.0.0","@types/react":"19.0.1","@types/qrcode":"^1.5.5","@payloadcms/ui":"^3.29.0","@eslint/eslintrc":"^3.2.0","@payloadcms/next":"^3.29.0","@playwright/test":"^1.49.1","@types/react-dom":"19.0.1","sort-package-json":"^2.10.0","@swc-node/register":"1.10.9","eslint-config-next":"15.1.0","@types/jsonwebtoken":"^9.0.7","@payloadcms/db-sqlite":"^3.29.0","mongodb-memory-server":"^10.1.2","@payloadcms/db-mongodb":"^3.29.0","@payloadcms/db-postgres":"^3.29.0","@payloadcms/translations":"^3.29.0","@payloadcms/eslint-config":"3.9.0","@payloadcms/richtext-lexical":"^3.29.0"},"peerDependencies":{"payload":"^3.29.0","@payloadcms/ui":"^3.29.0","@payloadcms/next":"^3.29.0","@payloadcms/translations":"^3.29.0"},"_npmOperationalInternal":{"tmp":"tmp/payload-totp_0.0.0-alpha.5_1742743341593_0.3134165896799461","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-alpha.6":{"name":"payload-totp","version":"0.0.0-alpha.6","keywords":["payload","cms","plugin","totp","otp","security","auth","authentification"],"author":{"url":"https://en.george-hulpoi.dev","name":"George-Valentin Hulpoi"},"license":"MIT","_id":"payload-totp@0.0.0-alpha.6","maintainers":[{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"}],"homepage":"https://github.com/GeorgeHulpoi/payload-totp#readme","bugs":{"url":"https://github.com/GeorgeHulpoi/payload-totp/issues"},"dist":{"shasum":"26c0e60703d590a958669756f8b270ea3808525c","tarball":"https://registry.npmjs.org/payload-totp/-/payload-totp-0.0.0-alpha.6.tgz","fileCount":105,"integrity":"sha512-AFc7bduazkT/qF6Pa8Ez03zzLjyckn+yrYPQoG72KLX+j211V71ZxiS3NQIqnamcdspfVunghCr0oFEF2WjEKA==","signatures":[{"sig":"MEUCIQC4Xr/AijgJOVT1RP7Tc3Mj5U2m99TblUBKN1+d6qVlOQIgEDPloQeYkG5crsYCd8CT3rVpyLpVL9F8A9T2dhE7klw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":168619},"main":"./dist/index.js","type":"module","_from":"file:payload-totp-0.0.0-alpha.6.tgz","types":"./dist/index.d.ts","engines":{"node":"^18.20.2 || >=20.9.0","pnpm":"^10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./rsc":{"types":"./dist/exports/rsc.d.ts","import":"./dist/exports/rsc.js","default":"./dist/exports/rsc.js"},"./client":{"types":"./dist/exports/client.d.ts","import":"./dist/exports/client.js","default":"./dist/exports/client.js"}},"scripts":{"dev":"payload run ./dev/server.ts","lint":"eslint ./src","test":"jest","build":"pnpm copyfiles && pnpm build:types && pnpm build:swc","clean":"rimraf {dist,*.tsbuildinfo}","e2e:test":"playwright test --ui","lint:fix":"eslint ./src --fix","build:swc":"swc ./src -d ./dist --config-file .swcrc --strip-leading-paths","copyfiles":"copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/","dev:build":"next build ./dev","dev:start":"next start ./dev","build:types":"tsc --outDir dist --rootDir ./src","dev:payload":"cross-env PAYLOAD_CONFIG_PATH=./dev/payload.config.ts payload","dev:generate-types":"pnpm dev:payload generate:types","dev:generate-importmap":"pnpm dev:payload generate:importmap"},"_npmUser":{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"},"registry":"https://registry.npmjs.org/","_resolved":"/tmp/d4519a3e844a47eb0a5a9f77b51e2a96/payload-totp-0.0.0-alpha.6.tgz","_integrity":"sha512-AFc7bduazkT/qF6Pa8Ez03zzLjyckn+yrYPQoG72KLX+j211V71ZxiS3NQIqnamcdspfVunghCr0oFEF2WjEKA==","repository":{"url":"git+https://github.com/GeorgeHulpoi/payload-totp.git","type":"git"},"_npmVersion":"10.8.2","description":"Add an extra security layer to PayloadCMS using a Time-based One-time Password (TOTP).","directories":{},"_nodeVersion":"20.19.0","dependencies":{"qrcode":"^1.5.4","otpauth":"^9.3.6","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","next":"^15.1.7","open":"^10.1.0","sass":"^1.83.4","uuid":"^11.0.5","react":"19.0.0","sharp":"0.32.6","eslint":"^9.16.0","qs-esm":"7.0.2","rimraf":"3.0.2","graphql":"^16.8.1","payload":"^3.29.0","@swc/cli":"0.5.1","get-port":"^7.1.0","prettier":"^3.4.2","@swc/jest":"^0.2.37","copyfiles":"2.4.1","cross-env":"^7.0.3","react-dom":"19.0.0","typescript":"5.7.2","@types/jest":"29.5.12","@types/node":"^22.5.4","@types/uuid":"^10.0.0","@types/react":"19.0.1","@types/qrcode":"^1.5.5","@payloadcms/ui":"^3.29.0","@eslint/eslintrc":"^3.2.0","@payloadcms/next":"^3.29.0","@playwright/test":"^1.49.1","@types/react-dom":"19.0.1","sort-package-json":"^2.10.0","@swc-node/register":"1.10.9","eslint-config-next":"15.1.0","@types/jsonwebtoken":"^9.0.7","@payloadcms/db-sqlite":"^3.29.0","mongodb-memory-server":"^10.1.2","@payloadcms/db-mongodb":"^3.29.0","@payloadcms/db-postgres":"^3.29.0","@payloadcms/translations":"^3.29.0","@payloadcms/eslint-config":"3.9.0","@payloadcms/richtext-lexical":"^3.29.0"},"peerDependencies":{"payload":"^3.29.0","@payloadcms/ui":"^3.29.0","@payloadcms/next":"^3.29.0","@payloadcms/translations":"^3.29.0"},"_npmOperationalInternal":{"tmp":"tmp/payload-totp_0.0.0-alpha.6_1743174539234_0.3443958124662885","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-alpha.7":{"name":"payload-totp","version":"0.0.0-alpha.7","keywords":["payload","cms","plugin","totp","otp","security","auth","authentification"],"author":{"url":"https://en.george-hulpoi.dev","name":"George-Valentin Hulpoi"},"license":"MIT","_id":"payload-totp@0.0.0-alpha.7","maintainers":[{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"}],"homepage":"https://github.com/GeorgeHulpoi/payload-totp#readme","bugs":{"url":"https://github.com/GeorgeHulpoi/payload-totp/issues"},"dist":{"shasum":"74f5d8e8557622f29166da60d18b12f5c7d1381b","tarball":"https://registry.npmjs.org/payload-totp/-/payload-totp-0.0.0-alpha.7.tgz","fileCount":105,"integrity":"sha512-w6WMQeZFALIuTTGF6hQtJqVUMrvAuVoSngKkq3KREZApaMX9IVguObjyudg+hMctiN8/v+f63k5Mn1Xdcox1TQ==","signatures":[{"sig":"MEUCIHQ6HQ2yvbfZ/B28i0FdrDDcxtUmUt5NYQSiG5VYsuDeAiEAmZSLKQsymX65H83K/epB1IyOr2nWv83pHXr9Hw/i9iU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":169099},"main":"./dist/index.js","type":"module","_from":"file:payload-totp-0.0.0-alpha.7.tgz","types":"./dist/index.d.ts","engines":{"node":"^18.20.2 || >=20.9.0","pnpm":"^10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./rsc":{"types":"./dist/exports/rsc.d.ts","import":"./dist/exports/rsc.js","default":"./dist/exports/rsc.js"},"./client":{"types":"./dist/exports/client.d.ts","import":"./dist/exports/client.js","default":"./dist/exports/client.js"}},"scripts":{"dev":"payload run ./dev/server.ts","lint":"eslint ./src","test":"jest","build":"pnpm copyfiles && pnpm build:types && pnpm build:swc","clean":"rimraf {dist,*.tsbuildinfo}","e2e:test":"playwright test","lint:fix":"eslint ./src --fix","build:swc":"swc ./src -d ./dist --config-file .swcrc --strip-leading-paths","copyfiles":"copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/","dev:build":"next build ./dev","dev:start":"next start ./dev","build:types":"tsc --outDir dist --rootDir ./src","dev:payload":"cross-env PAYLOAD_CONFIG_PATH=./dev/payload.config.ts payload","dev:generate-types":"pnpm dev:payload generate:types","dev:generate-importmap":"pnpm dev:payload generate:importmap"},"_npmUser":{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"},"registry":"https://registry.npmjs.org/","_resolved":"/tmp/82456674121ac5c524f9aa94bc7e9a93/payload-totp-0.0.0-alpha.7.tgz","_integrity":"sha512-w6WMQeZFALIuTTGF6hQtJqVUMrvAuVoSngKkq3KREZApaMX9IVguObjyudg+hMctiN8/v+f63k5Mn1Xdcox1TQ==","repository":{"url":"git+https://github.com/GeorgeHulpoi/payload-totp.git","type":"git"},"_npmVersion":"10.8.2","description":"Add an extra security layer to PayloadCMS using a Time-based One-time Password (TOTP).","directories":{},"_nodeVersion":"20.19.0","dependencies":{"qrcode":"^1.5.4","otpauth":"^9.3.6","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","next":"^15.1.7","open":"^10.1.0","sass":"^1.83.4","uuid":"^11.0.5","react":"19.0.0","sharp":"0.32.6","eslint":"^9.16.0","qs-esm":"7.0.2","rimraf":"3.0.2","graphql":"^16.8.1","payload":"^3.29.0","@swc/cli":"0.5.1","get-port":"^7.1.0","prettier":"^3.4.2","@swc/jest":"^0.2.37","copyfiles":"2.4.1","cross-env":"^7.0.3","react-dom":"19.0.0","typescript":"5.7.2","@types/jest":"29.5.12","@types/node":"^22.5.4","@types/uuid":"^10.0.0","@types/react":"19.0.1","@types/qrcode":"^1.5.5","@payloadcms/ui":"^3.29.0","@eslint/eslintrc":"^3.2.0","@payloadcms/next":"^3.29.0","@playwright/test":"^1.49.1","@types/react-dom":"19.0.1","sort-package-json":"^2.10.0","@swc-node/register":"1.10.9","eslint-config-next":"15.1.0","@types/jsonwebtoken":"^9.0.7","@payloadcms/db-sqlite":"^3.29.0","mongodb-memory-server":"^10.1.2","@payloadcms/db-mongodb":"^3.29.0","@payloadcms/db-postgres":"^3.29.0","@payloadcms/translations":"^3.29.0","@payloadcms/eslint-config":"3.9.0","@payloadcms/richtext-lexical":"^3.29.0"},"peerDependencies":{"payload":"^3.29.0","@payloadcms/ui":"^3.29.0","@payloadcms/next":"^3.29.0","@payloadcms/translations":"^3.29.0"},"_npmOperationalInternal":{"tmp":"tmp/payload-totp_0.0.0-alpha.7_1743259683259_0.4467218006152023","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-alpha.8":{"name":"payload-totp","version":"0.0.0-alpha.8","keywords":["payload","cms","plugin","totp","otp","security","auth","authentification"],"author":{"url":"https://en.george-hulpoi.dev","name":"George-Valentin Hulpoi"},"license":"MIT","_id":"payload-totp@0.0.0-alpha.8","maintainers":[{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"}],"homepage":"https://github.com/GeorgeHulpoi/payload-totp#readme","bugs":{"url":"https://github.com/GeorgeHulpoi/payload-totp/issues"},"dist":{"shasum":"21dd42a6392c2216474a91a20c81b49e22ab6538","tarball":"https://registry.npmjs.org/payload-totp/-/payload-totp-0.0.0-alpha.8.tgz","fileCount":222,"integrity":"sha512-l2UtlYS5br9U9fOdhY6KR/OG6UwVjg0DdmisPry6AVUq/861lRgRkW1Mqv1UXrnps+D7/mYPXmUObN7SeypQEg==","signatures":[{"sig":"MEYCIQD1iFYAwrpVi/8Fl9bTeBTaiT7auMd5dxjfUMuLeihv8gIhAN3wKmxMA/txrqoEcTuKKB0MYsFv46gTiYUeONc/KNII","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":306740},"main":"./dist/index.js","type":"module","_from":"file:payload-totp-0.0.0-alpha.8.tgz","types":"./dist/index.d.ts","engines":{"node":"^18.20.2 || >=20.9.0","pnpm":"^10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./rsc":{"types":"./dist/exports/rsc.d.ts","import":"./dist/exports/rsc.js","default":"./dist/exports/rsc.js"},"./client":{"types":"./dist/exports/client.d.ts","import":"./dist/exports/client.js","default":"./dist/exports/client.js"}},"scripts":{"dev":"payload run ./dev/server.ts","lint":"eslint ./src","test":"jest","build":"pnpm copyfiles && pnpm build:types && pnpm build:swc","clean":"rimraf {dist,*.tsbuildinfo}","e2e:test":"playwright test","lint:fix":"eslint ./src --fix","build:swc":"swc ./src -d ./dist --config-file .swcrc --strip-leading-paths","copyfiles":"copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/","dev:build":"next build ./dev","dev:start":"next start ./dev","build:types":"tsc --outDir dist --rootDir ./src","dev:payload":"cross-env PAYLOAD_CONFIG_PATH=./dev/payload.config.ts payload","dev:generate-types":"pnpm dev:payload generate:types","dev:generate-importmap":"pnpm dev:payload generate:importmap"},"_npmUser":{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"},"registry":"https://registry.npmjs.org/","_resolved":"/tmp/5fb7b75489b6318a45ed2864f71012c2/payload-totp-0.0.0-alpha.8.tgz","_integrity":"sha512-l2UtlYS5br9U9fOdhY6KR/OG6UwVjg0DdmisPry6AVUq/861lRgRkW1Mqv1UXrnps+D7/mYPXmUObN7SeypQEg==","repository":{"url":"git+https://github.com/GeorgeHulpoi/payload-totp.git","type":"git"},"_npmVersion":"10.8.2","description":"Add an extra security layer to PayloadCMS using a Time-based One-time Password (TOTP).","directories":{},"_nodeVersion":"20.19.0","dependencies":{"qrcode":"^1.5.4","otpauth":"^9.3.6","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","next":"^15.1.7","open":"^10.1.0","sass":"^1.83.4","uuid":"^11.0.5","react":"19.0.0","sharp":"0.32.6","eslint":"^9.16.0","qs-esm":"7.0.2","rimraf":"3.0.2","graphql":"^16.8.1","payload":"^3.29.0","@swc/cli":"0.5.1","get-port":"^7.1.0","prettier":"^3.4.2","@swc/jest":"^0.2.37","copyfiles":"2.4.1","cross-env":"^7.0.3","react-dom":"19.0.0","typescript":"5.7.2","@types/jest":"29.5.12","@types/node":"^22.5.4","@types/uuid":"^10.0.0","@types/react":"19.0.1","@types/qrcode":"^1.5.5","@payloadcms/ui":"^3.29.0","@eslint/eslintrc":"^3.2.0","@payloadcms/next":"^3.29.0","@playwright/test":"^1.49.1","@types/react-dom":"19.0.1","sort-package-json":"^2.10.0","@swc-node/register":"1.10.9","eslint-config-next":"15.1.0","@types/jsonwebtoken":"^9.0.7","@payloadcms/db-sqlite":"^3.29.0","mongodb-memory-server":"^10.1.2","@payloadcms/db-mongodb":"^3.29.0","@payloadcms/db-postgres":"^3.29.0","@payloadcms/translations":"^3.29.0","@payloadcms/eslint-config":"3.9.0","@payloadcms/richtext-lexical":"^3.29.0"},"peerDependencies":{"payload":"^3.29.0","@payloadcms/ui":"^3.29.0","@payloadcms/next":"^3.29.0","@payloadcms/translations":"^3.29.0"},"_npmOperationalInternal":{"tmp":"tmp/payload-totp_0.0.0-alpha.8_1743514360881_0.3003764499820971","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-alpha.9":{"name":"payload-totp","version":"0.0.0-alpha.9","keywords":["payload","cms","plugin","totp","otp","security","auth","authentification"],"author":{"url":"https://en.george-hulpoi.dev","name":"George-Valentin Hulpoi"},"license":"MIT","_id":"payload-totp@0.0.0-alpha.9","maintainers":[{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"}],"homepage":"https://github.com/GeorgeHulpoi/payload-totp#readme","bugs":{"url":"https://github.com/GeorgeHulpoi/payload-totp/issues"},"dist":{"shasum":"0eeba5f5bff3da09f4ccca734f5be73517633280","tarball":"https://registry.npmjs.org/payload-totp/-/payload-totp-0.0.0-alpha.9.tgz","fileCount":222,"integrity":"sha512-TZbagI8vv9FHQiyWi2kyL8G82f/3OK0ImwTq2bxlhRDDeR1DgLh/Kn9gFW7CyulL9OZeKjqSyPTQ59KiHucReA==","signatures":[{"sig":"MEUCIQDqqN1hx3wHUV0DLw0gycB9KJTnMHCExk8IT+ADbzqMVAIgZmv2BKUsoItqVdIj00QExKTHR+ypmtDlR6qPjMEhEi8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":310658},"main":"./dist/index.js","type":"module","_from":"file:payload-totp-0.0.0-alpha.9.tgz","types":"./dist/index.d.ts","engines":{"node":"^18.20.2 || >=20.9.0","pnpm":"^10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./rsc":{"types":"./dist/exports/rsc.d.ts","import":"./dist/exports/rsc.js","default":"./dist/exports/rsc.js"},"./client":{"types":"./dist/exports/client.d.ts","import":"./dist/exports/client.js","default":"./dist/exports/client.js"}},"scripts":{"dev":"payload run ./dev/server.ts","lint":"eslint ./src","test":"jest","build":"pnpm copyfiles && pnpm build:types && pnpm build:swc","clean":"rimraf {dist,*.tsbuildinfo}","e2e:test":"playwright test","lint:fix":"eslint ./src --fix","build:swc":"swc ./src -d ./dist --config-file .swcrc --strip-leading-paths","copyfiles":"copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/","dev:build":"next build ./dev","dev:start":"next start ./dev","build:types":"tsc --outDir dist --rootDir ./src","dev:payload":"cross-env PAYLOAD_CONFIG_PATH=./dev/payload.config.ts payload","dev:generate-types":"pnpm dev:payload generate:types","dev:generate-importmap":"pnpm dev:payload generate:importmap"},"_npmUser":{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"},"registry":"https://registry.npmjs.org/","_resolved":"/tmp/367841ca0e2fb70253789abbbd13bf3e/payload-totp-0.0.0-alpha.9.tgz","_integrity":"sha512-TZbagI8vv9FHQiyWi2kyL8G82f/3OK0ImwTq2bxlhRDDeR1DgLh/Kn9gFW7CyulL9OZeKjqSyPTQ59KiHucReA==","repository":{"url":"git+https://github.com/GeorgeHulpoi/payload-totp.git","type":"git"},"_npmVersion":"10.8.2","description":"Add an extra security layer to PayloadCMS using a Time-based One-time Password (TOTP).","directories":{},"_nodeVersion":"20.19.0","dependencies":{"qrcode":"^1.5.4","otpauth":"^9.3.6","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","next":"^15.1.7","open":"^10.1.0","sass":"^1.83.4","uuid":"^11.0.5","react":"19.0.0","sharp":"0.32.6","eslint":"^9.16.0","qs-esm":"7.0.2","rimraf":"3.0.2","graphql":"^16.8.1","payload":"^3.29.0","@swc/cli":"0.5.1","get-port":"^7.1.0","prettier":"^3.4.2","@swc/jest":"^0.2.37","copyfiles":"2.4.1","cross-env":"^7.0.3","react-dom":"19.0.0","typescript":"5.7.2","@types/jest":"29.5.12","@types/node":"^22.5.4","@types/uuid":"^10.0.0","@types/react":"19.0.1","@types/qrcode":"^1.5.5","@payloadcms/ui":"^3.29.0","@eslint/eslintrc":"^3.2.0","@payloadcms/next":"^3.29.0","@playwright/test":"^1.49.1","@types/react-dom":"19.0.1","sort-package-json":"^2.10.0","@swc-node/register":"1.10.9","eslint-config-next":"15.1.0","@types/jsonwebtoken":"^9.0.7","@payloadcms/db-sqlite":"^3.29.0","mongodb-memory-server":"^10.1.2","@payloadcms/db-mongodb":"^3.29.0","@payloadcms/db-postgres":"^3.29.0","@payloadcms/translations":"^3.29.0","@payloadcms/eslint-config":"3.9.0","@payloadcms/richtext-lexical":"^3.29.0"},"peerDependencies":{"payload":"^3.29.0","@payloadcms/ui":"^3.29.0","@payloadcms/next":"^3.29.0","@payloadcms/translations":"^3.29.0"},"_npmOperationalInternal":{"tmp":"tmp/payload-totp_0.0.0-alpha.9_1743694639216_0.699704580310609","host":"s3://npm-registry-packages-npm-production"}},"3.0.0-beta.0":{"name":"payload-totp","version":"3.0.0-beta.0","keywords":["payload","cms","plugin","totp","otp","security","auth","authentification"],"author":{"url":"https://en.george-hulpoi.dev","name":"George-Valentin Hulpoi"},"license":"MIT","_id":"payload-totp@3.0.0-beta.0","maintainers":[{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"}],"homepage":"https://github.com/GeorgeHulpoi/payload-totp#readme","bugs":{"url":"https://github.com/GeorgeHulpoi/payload-totp/issues"},"dist":{"shasum":"5444b52d0af47828aaba8b2b474808f70be435df","tarball":"https://registry.npmjs.org/payload-totp/-/payload-totp-3.0.0-beta.0.tgz","fileCount":222,"integrity":"sha512-yZ2AXxlUBJa7MHJ3yKOK8TzocOFaOgqYM6j8ZhCq1CEG8c0RSCn2itC41U3zs4rfrR9XbPAdzvDt4xeSDpKiBQ==","signatures":[{"sig":"MEYCIQDpPQRzWaZQcdKg/WJTHWkTEfCH+VLKoKYecFMioseIegIhALxhFwUIYInvY+CWFUzsplO6B+1h+Ih2hIhLbggHeM/b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":316782},"main":"./dist/index.js","type":"module","_from":"file:payload-totp-3.0.0-beta.0.tgz","types":"./dist/index.d.ts","engines":{"node":"^18.20.2 || >=20.9.0","pnpm":"^10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./rsc":{"types":"./dist/exports/rsc.d.ts","import":"./dist/exports/rsc.js","default":"./dist/exports/rsc.js"},"./client":{"types":"./dist/exports/client.d.ts","import":"./dist/exports/client.js","default":"./dist/exports/client.js"}},"scripts":{"dev":"payload run ./dev/server.ts","lint":"eslint ./src","test":"jest","build":"pnpm copyfiles && pnpm build:types && pnpm build:swc","clean":"rimraf {dist,*.tsbuildinfo}","e2e:test":"playwright test","lint:fix":"eslint ./src --fix","build:swc":"swc ./src -d ./dist --config-file .swcrc --strip-leading-paths","copyfiles":"copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/","dev:build":"next build ./dev","dev:start":"next start ./dev","build:types":"tsc --outDir dist --rootDir ./src","dev:payload":"cross-env PAYLOAD_CONFIG_PATH=./dev/payload.config.ts payload","dev:generate-types":"pnpm dev:payload generate:types","dev:generate-importmap":"pnpm dev:payload generate:importmap"},"_npmUser":{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"},"registry":"https://registry.npmjs.org/","_resolved":"/tmp/1565fab0100c1fff4d24f91edf5d89e8/payload-totp-3.0.0-beta.0.tgz","_integrity":"sha512-yZ2AXxlUBJa7MHJ3yKOK8TzocOFaOgqYM6j8ZhCq1CEG8c0RSCn2itC41U3zs4rfrR9XbPAdzvDt4xeSDpKiBQ==","repository":{"url":"git+https://github.com/GeorgeHulpoi/payload-totp.git","type":"git"},"_npmVersion":"10.8.2","description":"Add an extra security layer to PayloadCMS using a Time-based One-time Password (TOTP).","directories":{},"_nodeVersion":"20.19.0","dependencies":{"qrcode":"^1.5.4","otpauth":"^9.3.6","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","next":"^15.1.7","open":"^10.1.0","sass":"^1.83.4","uuid":"^11.0.5","react":"19.0.0","sharp":"0.32.6","eslint":"^9.16.0","qs-esm":"7.0.2","rimraf":"3.0.2","graphql":"^16.8.1","payload":"^3.29.0","@swc/cli":"0.5.1","get-port":"^7.1.0","prettier":"^3.4.2","@swc/jest":"^0.2.37","copyfiles":"2.4.1","cross-env":"^7.0.3","react-dom":"19.0.0","typescript":"5.7.2","@types/jest":"29.5.12","@types/node":"^22.5.4","@types/uuid":"^10.0.0","@types/react":"19.0.1","@types/qrcode":"^1.5.5","@payloadcms/ui":"^3.29.0","@eslint/eslintrc":"^3.2.0","@payloadcms/next":"^3.29.0","@playwright/test":"^1.49.1","@types/react-dom":"19.0.1","sort-package-json":"^2.10.0","@swc-node/register":"1.10.9","eslint-config-next":"15.1.0","@types/jsonwebtoken":"^9.0.7","@payloadcms/db-sqlite":"^3.29.0","mongodb-memory-server":"^10.1.2","@payloadcms/db-mongodb":"^3.29.0","@payloadcms/db-postgres":"^3.29.0","@payloadcms/translations":"^3.29.0","@payloadcms/eslint-config":"3.9.0","@payloadcms/richtext-lexical":"^3.29.0"},"peerDependencies":{"payload":"^3.29.0","@payloadcms/ui":"^3.29.0","@payloadcms/next":"^3.29.0","@payloadcms/translations":"^3.29.0"},"_npmOperationalInternal":{"tmp":"tmp/payload-totp_3.0.0-beta.0_1743703347076_0.8668393480846193","host":"s3://npm-registry-packages-npm-production"}},"3.0.0-beta.1":{"name":"payload-totp","version":"3.0.0-beta.1","keywords":["payload","cms","plugin","totp","otp","security","auth","authentification"],"author":{"url":"https://en.george-hulpoi.dev","name":"George-Valentin Hulpoi"},"license":"MIT","_id":"payload-totp@3.0.0-beta.1","maintainers":[{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"}],"homepage":"https://github.com/GeorgeHulpoi/payload-totp#readme","bugs":{"url":"https://github.com/GeorgeHulpoi/payload-totp/issues"},"dist":{"shasum":"c76b71c9136d1071d05e67f32b4c59b0fd4b2eef","tarball":"https://registry.npmjs.org/payload-totp/-/payload-totp-3.0.0-beta.1.tgz","fileCount":222,"integrity":"sha512-Om0jdqk0x3T84Pj2a+oX9rRDIEF08jXV5H4UXH39t43bB4KV/zlPyebqgcVzWN/++q/f2RQmGzry/TS7pGHZRg==","signatures":[{"sig":"MEUCIAL70+66VxBtj8Rd8bB1OFdtfHoO5ljXpAlr/Lp1NDcmAiEA+kCB9S3PKq0/QjjlIpHuNPA+5o6K0s2LtC9ND9xEgdg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":316725},"main":"./dist/index.js","type":"module","_from":"file:payload-totp-3.0.0-beta.1.tgz","types":"./dist/index.d.ts","engines":{"node":"^18.20.2 || >=20.9.0","pnpm":"^10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./rsc":{"types":"./dist/exports/rsc.d.ts","import":"./dist/exports/rsc.js","default":"./dist/exports/rsc.js"},"./client":{"types":"./dist/exports/client.d.ts","import":"./dist/exports/client.js","default":"./dist/exports/client.js"}},"scripts":{"dev":"payload run ./dev/server.ts","lint":"eslint ./src","test":"jest","build":"pnpm copyfiles && pnpm build:types && pnpm build:swc","clean":"rimraf {dist,*.tsbuildinfo}","e2e:test":"playwright test","lint:fix":"eslint ./src --fix","build:swc":"swc ./src -d ./dist --config-file .swcrc --strip-leading-paths","copyfiles":"copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/","dev:build":"next build ./dev","dev:start":"next start ./dev","build:types":"tsc --outDir dist --rootDir ./src","dev:payload":"cross-env PAYLOAD_CONFIG_PATH=./dev/payload.config.ts payload","dev:generate-types":"pnpm dev:payload generate:types","dev:generate-importmap":"pnpm dev:payload generate:importmap"},"_npmUser":{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"},"registry":"https://registry.npmjs.org/","_resolved":"/tmp/4decf85c715b5561ee6e1da561376cd9/payload-totp-3.0.0-beta.1.tgz","_integrity":"sha512-Om0jdqk0x3T84Pj2a+oX9rRDIEF08jXV5H4UXH39t43bB4KV/zlPyebqgcVzWN/++q/f2RQmGzry/TS7pGHZRg==","repository":{"url":"git+https://github.com/GeorgeHulpoi/payload-totp.git","type":"git"},"_npmVersion":"10.8.2","description":"Add an extra security layer to PayloadCMS using a Time-based One-time Password (TOTP).","directories":{},"_nodeVersion":"20.19.0","dependencies":{"qrcode":"^1.5.4","otpauth":"^9.3.6","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","next":"^15.1.7","open":"^10.1.0","sass":"^1.83.4","uuid":"^11.0.5","react":"19.0.0","sharp":"0.32.6","eslint":"^9.16.0","qs-esm":"7.0.2","rimraf":"3.0.2","graphql":"^16.8.1","payload":"^3.29.0","@swc/cli":"0.5.1","get-port":"^7.1.0","prettier":"^3.4.2","@swc/jest":"^0.2.37","copyfiles":"2.4.1","cross-env":"^7.0.3","react-dom":"19.0.0","typescript":"5.7.2","@types/jest":"29.5.12","@types/node":"^22.5.4","@types/uuid":"^10.0.0","@types/react":"19.0.1","@types/qrcode":"^1.5.5","@payloadcms/ui":"^3.29.0","@eslint/eslintrc":"^3.2.0","@payloadcms/next":"^3.29.0","@playwright/test":"^1.49.1","@types/react-dom":"19.0.1","sort-package-json":"^2.10.0","@swc-node/register":"1.10.9","eslint-config-next":"15.1.0","@types/jsonwebtoken":"^9.0.7","@payloadcms/db-sqlite":"^3.29.0","mongodb-memory-server":"^10.1.2","@payloadcms/db-mongodb":"^3.29.0","@payloadcms/db-postgres":"^3.29.0","@payloadcms/translations":"^3.29.0","@payloadcms/eslint-config":"3.9.0","@payloadcms/richtext-lexical":"^3.29.0"},"peerDependencies":{"payload":"^3.29.0","@payloadcms/ui":"^3.29.0","@payloadcms/next":"^3.29.0","@payloadcms/translations":"^3.29.0"},"_npmOperationalInternal":{"tmp":"tmp/payload-totp_3.0.0-beta.1_1745855817129_0.8652940668873861","host":"s3://npm-registry-packages-npm-production"}},"3.0.0-beta.2":{"name":"payload-totp","version":"3.0.0-beta.2","keywords":["payload","cms","plugin","totp","otp","security","auth","authentification"],"author":{"url":"https://en.george-hulpoi.dev","name":"George-Valentin Hulpoi"},"license":"MIT","_id":"payload-totp@3.0.0-beta.2","maintainers":[{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"}],"homepage":"https://github.com/GeorgeHulpoi/payload-totp#readme","bugs":{"url":"https://github.com/GeorgeHulpoi/payload-totp/issues"},"dist":{"shasum":"4b711fa5ad0f99a8186b3abef9d686a059f47ef1","tarball":"https://registry.npmjs.org/payload-totp/-/payload-totp-3.0.0-beta.2.tgz","fileCount":219,"integrity":"sha512-saXTF7dUQur5K/yBTfuRsHSAH+U3uKItGAOr0DeiZk1LmpcXlwSMj0IWOPvzhGq3L5b82guVY1JMrNELv+IKMw==","signatures":[{"sig":"MEUCIQCWo2rohEUL3mSfMWJGpa0r/0yjYzrugCQlDK/CKBjCwwIgKv6KXV0dwDzgQQciMBGIs7TgojsoGyfSdjN/Vzqw4rk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":311967},"main":"./dist/index.js","type":"module","_from":"file:payload-totp-3.0.0-beta.2.tgz","types":"./dist/index.d.ts","engines":{"node":"^18.20.2 || >=20.9.0","pnpm":"^10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./rsc":{"types":"./dist/exports/rsc.d.ts","import":"./dist/exports/rsc.js","default":"./dist/exports/rsc.js"},"./client":{"types":"./dist/exports/client.d.ts","import":"./dist/exports/client.js","default":"./dist/exports/client.js"}},"scripts":{"dev":"payload run ./dev/server.ts","lint":"eslint ./src","test":"jest","build":"pnpm copyfiles && pnpm build:types && pnpm build:swc","clean":"rimraf {dist,*.tsbuildinfo}","e2e:test":"playwright test","lint:fix":"eslint ./src --fix","build:swc":"swc ./src -d ./dist --config-file .swcrc --strip-leading-paths","copyfiles":"copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/","dev:build":"next build ./dev","dev:start":"next start ./dev","build:types":"tsc --outDir dist --rootDir ./src","dev:payload":"cross-env PAYLOAD_CONFIG_PATH=./dev/payload.config.ts payload","dev:generate-types":"pnpm dev:payload generate:types","dev:generate-importmap":"pnpm dev:payload generate:importmap"},"_npmUser":{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"},"registry":"https://registry.npmjs.org/","_resolved":"/tmp/3fa27dfc04e4aea3b7e58ee95ded21c3/payload-totp-3.0.0-beta.2.tgz","_integrity":"sha512-saXTF7dUQur5K/yBTfuRsHSAH+U3uKItGAOr0DeiZk1LmpcXlwSMj0IWOPvzhGq3L5b82guVY1JMrNELv+IKMw==","repository":{"url":"git+https://github.com/GeorgeHulpoi/payload-totp.git","type":"git"},"_npmVersion":"10.8.2","description":"Add an extra security layer to PayloadCMS using a Time-based One-time Password (TOTP).","directories":{},"_nodeVersion":"20.19.1","dependencies":{"qrcode":"^1.5.4","otpauth":"^9.3.6","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","next":"^15.1.7","open":"^10.1.0","sass":"^1.83.4","uuid":"^11.0.5","react":"19.0.0","sharp":"0.32.6","eslint":"^9.16.0","qs-esm":"7.0.2","rimraf":"3.0.2","graphql":"^16.8.1","payload":"^3.29.0","@swc/cli":"0.5.1","get-port":"^7.1.0","prettier":"^3.4.2","@swc/jest":"^0.2.37","copyfiles":"2.4.1","cross-env":"^7.0.3","react-dom":"19.0.0","typescript":"5.7.2","@types/jest":"29.5.12","@types/node":"^22.5.4","@types/uuid":"^10.0.0","@types/react":"19.0.1","@types/qrcode":"^1.5.5","@payloadcms/ui":"^3.29.0","@eslint/eslintrc":"^3.2.0","@payloadcms/next":"^3.29.0","@playwright/test":"^1.49.1","@types/react-dom":"19.0.1","sort-package-json":"^2.10.0","@swc-node/register":"1.10.9","eslint-config-next":"15.1.0","@types/jsonwebtoken":"^9.0.7","@payloadcms/db-sqlite":"^3.29.0","mongodb-memory-server":"^10.1.2","@payloadcms/db-mongodb":"^3.29.0","@payloadcms/db-postgres":"^3.29.0","@payloadcms/translations":"^3.29.0","@payloadcms/eslint-config":"3.9.0","@payloadcms/richtext-lexical":"^3.29.0"},"peerDependencies":{"payload":"^3.29.0","@payloadcms/ui":"^3.29.0","@payloadcms/next":"^3.29.0","@payloadcms/translations":"^3.29.0"},"_npmOperationalInternal":{"tmp":"tmp/payload-totp_3.0.0-beta.2_1749286918854_0.25048283754484557","host":"s3://npm-registry-packages-npm-production"}},"3.0.0-beta.3":{"name":"payload-totp","version":"3.0.0-beta.3","keywords":["payload","cms","plugin","totp","otp","security","auth","authentification"],"author":{"url":"https://en.george-hulpoi.dev","name":"George-Valentin Hulpoi"},"license":"MIT","_id":"payload-totp@3.0.0-beta.3","maintainers":[{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"}],"homepage":"https://github.com/GeorgeHulpoi/payload-totp#readme","bugs":{"url":"https://github.com/GeorgeHulpoi/payload-totp/issues"},"dist":{"shasum":"513ca443c07b2e193b528915ce355a6a0227e982","tarball":"https://registry.npmjs.org/payload-totp/-/payload-totp-3.0.0-beta.3.tgz","fileCount":219,"integrity":"sha512-ndq9lGvezPfgDpSNAoOKUBWoSWdMLj9Do9llDkfPiu6kOvDGVX1MSRolRWYb793OeJPb/npPzNFk3fQN+5F5Jw==","signatures":[{"sig":"MEQCIHrUXLoVv/YiSNwow7ujQtY6fob3v+aNlxuPiHdYD10nAiBkZdFtWTmnL/nfqzOd7z2fyNgbGoiIoWfZ7x0Nk1lajw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":315656},"main":"./dist/index.js","type":"module","_from":"file:payload-totp-3.0.0-beta.3.tgz","types":"./dist/index.d.ts","engines":{"node":"^18.20.2 || >=20.9.0","pnpm":"^10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./rsc":{"types":"./dist/exports/rsc.d.ts","import":"./dist/exports/rsc.js","default":"./dist/exports/rsc.js"},"./client":{"types":"./dist/exports/client.d.ts","import":"./dist/exports/client.js","default":"./dist/exports/client.js"}},"scripts":{"dev":"payload run ./dev/server.ts","lint":"eslint ./src","test":"jest","build":"pnpm copyfiles && pnpm build:types && pnpm build:swc","clean":"rimraf {dist,*.tsbuildinfo}","e2e:test":"playwright test","lint:fix":"eslint ./src --fix","build:swc":"swc ./src -d ./dist --config-file .swcrc --strip-leading-paths","copyfiles":"copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/","dev:build":"next build ./dev","dev:start":"next start ./dev","build:types":"tsc --outDir dist --rootDir ./src","dev:payload":"cross-env PAYLOAD_CONFIG_PATH=./dev/payload.config.ts payload","dev:generate-types":"pnpm dev:payload generate:types","dev:generate-importmap":"pnpm dev:payload generate:importmap"},"_npmUser":{"name":"george_hulpoi","actor":{"name":"george_hulpoi","type":"user","email":"george.v.hulpoi@gmail.com"},"email":"george.v.hulpoi@gmail.com"},"registry":"https://registry.npmjs.org/","_resolved":"/tmp/1c38f0a5cc870d12fa7d8e5f131103cd/payload-totp-3.0.0-beta.3.tgz","_integrity":"sha512-ndq9lGvezPfgDpSNAoOKUBWoSWdMLj9Do9llDkfPiu6kOvDGVX1MSRolRWYb793OeJPb/npPzNFk3fQN+5F5Jw==","repository":{"url":"git+https://github.com/GeorgeHulpoi/payload-totp.git","type":"git"},"_npmVersion":"10.8.2","description":"Add an extra security layer to PayloadCMS using a Time-based One-time Password (TOTP).","directories":{},"_nodeVersion":"20.19.2","dependencies":{"qrcode":"^1.5.4","otpauth":"^9.3.6","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","next":"^15.1.7","open":"^10.1.0","sass":"^1.83.4","uuid":"^11.0.5","react":"19.0.0","sharp":"0.32.6","eslint":"^9.16.0","qs-esm":"7.0.2","rimraf":"3.0.2","graphql":"^16.8.1","payload":"^3.29.0","@swc/cli":"0.5.1","get-port":"^7.1.0","prettier":"^3.4.2","@swc/jest":"^0.2.37","copyfiles":"2.4.1","cross-env":"^7.0.3","react-dom":"19.0.0","typescript":"5.7.2","@types/jest":"29.5.12","@types/node":"^22.5.4","@types/uuid":"^10.0.0","@types/react":"19.0.1","@types/qrcode":"^1.5.5","@payloadcms/ui":"^3.29.0","@eslint/eslintrc":"^3.2.0","@payloadcms/next":"^3.29.0","@playwright/test":"^1.49.1","@types/react-dom":"19.0.1","sort-package-json":"^2.10.0","@swc-node/register":"1.10.9","eslint-config-next":"15.1.0","@types/jsonwebtoken":"^9.0.7","@payloadcms/db-sqlite":"^3.29.0","mongodb-memory-server":"^10.1.2","@payloadcms/db-mongodb":"^3.29.0","@payloadcms/db-postgres":"^3.29.0","@payloadcms/translations":"^3.29.0","@payloadcms/eslint-config":"3.9.0","@payloadcms/richtext-lexical":"^3.29.0"},"peerDependencies":{"payload":"^3.29.0","@payloadcms/ui":"^3.29.0","@payloadcms/next":"^3.29.0","@payloadcms/translations":"^3.29.0"},"_npmOperationalInternal":{"tmp":"tmp/payload-totp_3.0.0-beta.3_1750861445380_0.1416964535124876","host":"s3://npm-registry-packages-npm-production"}},"3.0.0-beta.4":{"name":"payload-totp","version":"3.0.0-beta.4","keywords":["payload","cms","plugin","totp","otp","security","auth","authentification"],"author":{"url":"https://en.george-hulpoi.dev","name":"George-Valentin Hulpoi"},"license":"MIT","_id":"payload-totp@3.0.0-beta.4","maintainers":[{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"}],"homepage":"https://github.com/GeorgeHulpoi/payload-totp#readme","bugs":{"url":"https://github.com/GeorgeHulpoi/payload-totp/issues"},"dist":{"shasum":"d8e6c3efe8a840a066f92cc5c6b6ce70d985f23a","tarball":"https://registry.npmjs.org/payload-totp/-/payload-totp-3.0.0-beta.4.tgz","fileCount":222,"integrity":"sha512-SXtrPyFV/b3xBBmG1UEWLYG7gsakOL/apKxg5xAoYZWXq4fImOQcZI6/EwBEwVKeFakbBpa2yKM9oVQ6Gsadhg==","signatures":[{"sig":"MEQCIBu/TgdWOCLlsZbIoQUaIn0aHTaBRRM1EXmHFqaJKJSWAiBK15K6jn3vQz382cYVlfYIJVAaHwrIJjIKi5gG1WMwfQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":317773},"main":"./dist/index.js","type":"module","_from":"file:payload-totp-3.0.0-beta.4.tgz","types":"./dist/index.d.ts","engines":{"node":"^18.20.2 || >=20.9.0","pnpm":"^10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./rsc":{"types":"./dist/exports/rsc.d.ts","import":"./dist/exports/rsc.js","default":"./dist/exports/rsc.js"},"./client":{"types":"./dist/exports/client.d.ts","import":"./dist/exports/client.js","default":"./dist/exports/client.js"}},"scripts":{"dev":"payload run ./dev/server.ts","lint":"eslint ./src","test":"jest","build":"pnpm copyfiles && pnpm build:types && pnpm build:swc","clean":"rimraf {dist,*.tsbuildinfo}","e2e:test":"playwright test","lint:fix":"eslint ./src --fix","build:swc":"swc ./src -d ./dist --config-file .swcrc --strip-leading-paths","copyfiles":"copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/","dev:build":"next build ./dev","dev:start":"next start ./dev","build:types":"tsc --outDir dist --rootDir ./src","dev:payload":"cross-env PAYLOAD_CONFIG_PATH=./dev/payload.config.ts payload","dev:generate-types":"pnpm dev:payload generate:types","dev:generate-importmap":"pnpm dev:payload generate:importmap"},"_npmUser":{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"},"registry":"https://registry.npmjs.org/","_resolved":"/tmp/a337eae733945a2960d1a535f28fca38/payload-totp-3.0.0-beta.4.tgz","_integrity":"sha512-SXtrPyFV/b3xBBmG1UEWLYG7gsakOL/apKxg5xAoYZWXq4fImOQcZI6/EwBEwVKeFakbBpa2yKM9oVQ6Gsadhg==","repository":{"url":"git+https://github.com/GeorgeHulpoi/payload-totp.git","type":"git"},"_npmVersion":"10.8.2","description":"Add an extra security layer to PayloadCMS using a Time-based One-time Password (TOTP).","directories":{},"_nodeVersion":"20.19.5","dependencies":{"qrcode":"^1.5.4","otpauth":"^9.3.6","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","next":"^15.4.4","open":"^10.1.0","sass":"^1.83.4","uuid":"^11.0.5","react":"19.1.0","sharp":"0.32.6","eslint":"^9.16.0","qs-esm":"7.0.2","rimraf":"3.0.2","graphql":"^16.8.1","payload":"^3.54.0","@swc/cli":"0.5.1","get-port":"^7.1.0","prettier":"^3.4.2","@swc/jest":"^0.2.37","copyfiles":"2.4.1","cross-env":"^7.0.3","react-dom":"19.1.0","typescript":"5.7.3","@types/jest":"29.5.12","@types/node":"^22.5.4","@types/uuid":"^10.0.0","@types/react":"19.1.0","@types/qrcode":"^1.5.5","@payloadcms/ui":"^3.54.0","@eslint/eslintrc":"^3.2.0","@payloadcms/next":"^3.54.0","@playwright/test":"^1.49.1","@types/react-dom":"19.1.0","sort-package-json":"^2.10.0","@swc-node/register":"1.10.9","eslint-config-next":"15.1.0","@types/jsonwebtoken":"^9.0.7","@payloadcms/db-sqlite":"^3.54.0","mongodb-memory-server":"^10.1.2","@payloadcms/db-mongodb":"^3.54.0","@payloadcms/db-postgres":"^3.54.0","@payloadcms/translations":"^3.54.0","@payloadcms/eslint-config":"3.28.0","@payloadcms/richtext-lexical":"^3.54.0"},"peerDependencies":{"payload":"^3.29.0","@payloadcms/ui":"^3.29.0","@payloadcms/next":"^3.29.0","@payloadcms/translations":"^3.29.0"},"_npmOperationalInternal":{"tmp":"tmp/payload-totp_3.0.0-beta.4_1758283960788_0.1307773192864965","host":"s3://npm-registry-packages-npm-production"}},"3.0.0-beta.5":{"name":"payload-totp","version":"3.0.0-beta.5","keywords":["payload","cms","plugin","totp","otp","security","auth","authentification"],"author":{"url":"https://en.george-hulpoi.dev","name":"George-Valentin Hulpoi"},"license":"MIT","_id":"payload-totp@3.0.0-beta.5","maintainers":[{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"}],"homepage":"https://github.com/GeorgeHulpoi/payload-totp#readme","bugs":{"url":"https://github.com/GeorgeHulpoi/payload-totp/issues"},"dist":{"shasum":"ab2817825d02a26dc53cf1ed525f3cd44d10b26d","tarball":"https://registry.npmjs.org/payload-totp/-/payload-totp-3.0.0-beta.5.tgz","fileCount":222,"integrity":"sha512-86yLiofeoTTFDccmrzzn4bPFsg+270EHg+kPqryRYdndsh5i3hi/itJeMf/ubrsmO2P6QEasya3aywDOyygn/Q==","signatures":[{"sig":"MEUCIB16UeEA3l/SEOcYV4GtZyaeo9qbqdcd1PTP8OjQ2BKGAiEAwuT7Y1kJe5Jc3RbrzY4TVn5JJHX64Jw5ggRZvs40JVY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":318363},"main":"./dist/index.js","type":"module","_from":"file:payload-totp-3.0.0-beta.5.tgz","types":"./dist/index.d.ts","engines":{"node":"^18.20.2 || >=20.9.0","pnpm":"^10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./rsc":{"types":"./dist/exports/rsc.d.ts","import":"./dist/exports/rsc.js","default":"./dist/exports/rsc.js"},"./client":{"types":"./dist/exports/client.d.ts","import":"./dist/exports/client.js","default":"./dist/exports/client.js"}},"scripts":{"dev":"payload run ./dev/server.ts","lint":"eslint ./src","test":"jest","build":"pnpm copyfiles && pnpm build:types && pnpm build:swc","clean":"rimraf {dist,*.tsbuildinfo}","e2e:test":"playwright test","lint:fix":"eslint ./src --fix","build:swc":"swc ./src -d ./dist --config-file .swcrc --strip-leading-paths","copyfiles":"copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/","dev:build":"next build ./dev","dev:start":"next start ./dev","build:types":"tsc --outDir dist --rootDir ./src","dev:payload":"cross-env PAYLOAD_CONFIG_PATH=./dev/payload.config.ts payload","dev:generate-types":"pnpm dev:payload generate:types","dev:generate-importmap":"pnpm dev:payload generate:importmap"},"_npmUser":{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"},"registry":"https://registry.npmjs.org/","_resolved":"/tmp/82b056ea85760cdb743eb5a73df28368/payload-totp-3.0.0-beta.5.tgz","_integrity":"sha512-86yLiofeoTTFDccmrzzn4bPFsg+270EHg+kPqryRYdndsh5i3hi/itJeMf/ubrsmO2P6QEasya3aywDOyygn/Q==","repository":{"url":"git+https://github.com/GeorgeHulpoi/payload-totp.git","type":"git"},"_npmVersion":"10.8.2","description":"Add an extra security layer to PayloadCMS using a Time-based One-time Password (TOTP).","directories":{},"_nodeVersion":"20.19.5","dependencies":{"qrcode":"^1.5.4","otpauth":"^9.3.6","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","next":"^15.4.4","open":"^10.1.0","sass":"^1.83.4","uuid":"^11.0.5","react":"19.1.0","sharp":"0.32.6","eslint":"^9.16.0","qs-esm":"7.0.2","rimraf":"3.0.2","graphql":"^16.8.1","payload":"^3.54.0","@swc/cli":"0.5.1","get-port":"^7.1.0","prettier":"^3.4.2","@swc/jest":"^0.2.37","copyfiles":"2.4.1","cross-env":"^7.0.3","react-dom":"19.1.0","typescript":"5.7.3","@types/jest":"29.5.12","@types/node":"^22.5.4","@types/uuid":"^10.0.0","@types/react":"19.1.0","@types/qrcode":"^1.5.5","@payloadcms/ui":"^3.54.0","@eslint/eslintrc":"^3.2.0","@payloadcms/next":"^3.54.0","@playwright/test":"^1.49.1","@types/react-dom":"19.1.0","sort-package-json":"^2.10.0","@swc-node/register":"1.10.9","eslint-config-next":"15.1.0","@types/jsonwebtoken":"^9.0.7","@payloadcms/db-sqlite":"^3.54.0","mongodb-memory-server":"^10.1.2","@payloadcms/db-mongodb":"^3.54.0","@payloadcms/db-postgres":"^3.54.0","@payloadcms/translations":"^3.54.0","@payloadcms/eslint-config":"3.28.0","@payloadcms/richtext-lexical":"^3.54.0"},"peerDependencies":{"payload":"^3.29.0","@payloadcms/ui":"^3.29.0","@payloadcms/next":"^3.29.0","@payloadcms/translations":"^3.29.0"},"_npmOperationalInternal":{"tmp":"tmp/payload-totp_3.0.0-beta.5_1761387871096_0.4243711368533767","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"payload-totp","version":"3.0.0","keywords":["payload","cms","plugin","totp","otp","security","auth","authentification"],"author":{"url":"https://en.george-hulpoi.dev","name":"George-Valentin Hulpoi"},"license":"MIT","_id":"payload-totp@3.0.0","maintainers":[{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"}],"homepage":"https://github.com/GeorgeHulpoi/payload-totp#readme","bugs":{"url":"https://github.com/GeorgeHulpoi/payload-totp/issues"},"dist":{"shasum":"b4983eca5397f18626a6a1e0fc9832566f125644","tarball":"https://registry.npmjs.org/payload-totp/-/payload-totp-3.0.0.tgz","fileCount":225,"integrity":"sha512-P367L2RhWyvpCj0kkTt9RzXqQkV+3m1Vn4YF3chqm8cBPyjBlUx/pEJfGrPRMA0BRomI6gIYbtGGeCX6EmgnEQ==","signatures":[{"sig":"MEYCIQDL1VBkuW2wFB0MsrhTT8T+fHeIICwag6VqpXHfYDmi6wIhAORRaKANIm1U58D2eiFNv5vA3tXC0+TlQM1aQgleuqD7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":320827},"main":"./dist/index.js","type":"module","_from":"file:payload-totp-3.0.0.tgz","types":"./dist/index.d.ts","engines":{"node":"^18.20.2 || >=20.9.0","pnpm":"^10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./rsc":{"types":"./dist/exports/rsc.d.ts","import":"./dist/exports/rsc.js","default":"./dist/exports/rsc.js"},"./client":{"types":"./dist/exports/client.d.ts","import":"./dist/exports/client.js","default":"./dist/exports/client.js"}},"scripts":{"dev":"payload run ./dev/server.ts","lint":"eslint ./src","test":"jest","build":"pnpm copyfiles && pnpm build:types && pnpm build:swc","clean":"rimraf {dist,*.tsbuildinfo}","e2e:test":"playwright test","lint:fix":"eslint ./src --fix","build:swc":"swc ./src -d ./dist --config-file .swcrc --strip-leading-paths","copyfiles":"copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/","dev:build":"next build ./dev","dev:start":"next start ./dev","build:types":"tsc --outDir dist --rootDir ./src","dev:payload":"cross-env PAYLOAD_CONFIG_PATH=./dev/payload.config.ts payload","dev:generate-types":"pnpm dev:payload generate:types","dev:generate-importmap":"pnpm dev:payload generate:importmap"},"_npmUser":{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"},"registry":"https://registry.npmjs.org/","_resolved":"/tmp/8692f3ed8bf09e3a0ae01d3e809b6f3a/payload-totp-3.0.0.tgz","_integrity":"sha512-P367L2RhWyvpCj0kkTt9RzXqQkV+3m1Vn4YF3chqm8cBPyjBlUx/pEJfGrPRMA0BRomI6gIYbtGGeCX6EmgnEQ==","repository":{"url":"git+https://github.com/GeorgeHulpoi/payload-totp.git","type":"git"},"_npmVersion":"10.8.2","description":"Add an extra security layer to PayloadCMS using a Time-based One-time Password (TOTP).","directories":{},"_nodeVersion":"20.19.6","dependencies":{"qrcode":"^1.5.4","otpauth":"^9.3.6","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","next":"^15.4.4","open":"^10.1.0","sass":"^1.83.4","uuid":"^11.0.5","react":"19.1.0","sharp":"0.32.6","eslint":"^9.16.0","qs-esm":"7.0.2","rimraf":"3.0.2","graphql":"^16.8.1","payload":"^3.54.0","@swc/cli":"0.5.1","get-port":"^7.1.0","prettier":"^3.4.2","@swc/jest":"^0.2.37","copyfiles":"2.4.1","cross-env":"^7.0.3","react-dom":"19.1.0","typescript":"5.7.3","@types/jest":"29.5.12","@types/node":"^22.5.4","@types/uuid":"^10.0.0","@types/react":"19.1.0","@types/qrcode":"^1.5.5","@payloadcms/ui":"^3.54.0","@eslint/eslintrc":"^3.2.0","@payloadcms/next":"^3.54.0","@playwright/test":"^1.49.1","@types/react-dom":"19.1.0","sort-package-json":"^2.10.0","@swc-node/register":"1.10.9","eslint-config-next":"15.1.0","@types/jsonwebtoken":"^9.0.7","@payloadcms/db-sqlite":"^3.54.0","mongodb-memory-server":"^10.1.2","@payloadcms/db-mongodb":"^3.54.0","@payloadcms/db-postgres":"^3.54.0","@payloadcms/translations":"^3.54.0","@payloadcms/eslint-config":"3.28.0","@payloadcms/richtext-lexical":"^3.54.0"},"peerDependencies":{"payload":"^3.29.0","@payloadcms/ui":"^3.29.0","@payloadcms/next":"^3.29.0","@payloadcms/translations":"^3.29.0"},"_npmOperationalInternal":{"tmp":"tmp/payload-totp_3.0.0_1767633382062_0.08539414721030236","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"payload-totp","version":"3.0.1","keywords":["payload","cms","plugin","totp","otp","security","auth","authentification"],"author":{"url":"https://en.george-hulpoi.dev","name":"George-Valentin Hulpoi"},"license":"MIT","_id":"payload-totp@3.0.1","maintainers":[{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"}],"homepage":"https://github.com/GeorgeHulpoi/payload-totp#readme","bugs":{"url":"https://github.com/GeorgeHulpoi/payload-totp/issues"},"dist":{"shasum":"ed2f08d79bbe20bbdbc96d171e48027013c0e948","tarball":"https://registry.npmjs.org/payload-totp/-/payload-totp-3.0.1.tgz","fileCount":228,"integrity":"sha512-q/Ju67Q7FQ0h4p1BklMSgkaEhFF9+yfhratZYAavOav/JCJFQ9hmRwu7ShmmgJ/nSHg2P4HV5kjz53EpzlGnQA==","signatures":[{"sig":"MEUCIQDAlCWQam6Ah6+vo1JAszFT85uiEDZ+pAQgR8xMye7qTgIga5+oUI1xhKtaoZG+geQPjbjLIs9/Gq+uORbqQiVCr7U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":325614},"main":"./dist/index.js","type":"module","_from":"file:payload-totp-3.0.1.tgz","types":"./dist/index.d.ts","engines":{"node":"^18.20.2 || >=20.9.0","pnpm":"^10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./rsc":{"types":"./dist/exports/rsc.d.ts","import":"./dist/exports/rsc.js","default":"./dist/exports/rsc.js"},"./client":{"types":"./dist/exports/client.d.ts","import":"./dist/exports/client.js","default":"./dist/exports/client.js"}},"scripts":{"dev":"payload run ./dev/server.ts","lint":"eslint ./src","test":"jest","build":"pnpm copyfiles && pnpm build:types && pnpm build:swc","clean":"rimraf {dist,*.tsbuildinfo}","e2e:test":"playwright test","lint:fix":"eslint ./src --fix","build:swc":"swc ./src -d ./dist --config-file .swcrc --strip-leading-paths","copyfiles":"copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/","dev:build":"next build ./dev","dev:start":"next start ./dev","build:types":"tsc --outDir dist --rootDir ./src","dev:payload":"cross-env PAYLOAD_CONFIG_PATH=./dev/payload.config.ts payload","dev:generate-types":"pnpm dev:payload generate:types","dev:generate-importmap":"pnpm dev:payload generate:importmap"},"_npmUser":{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"},"registry":"https://registry.npmjs.org/","_resolved":"/tmp/0c088a92b1120790ad2c7e1dfcd8fac9/payload-totp-3.0.1.tgz","_integrity":"sha512-q/Ju67Q7FQ0h4p1BklMSgkaEhFF9+yfhratZYAavOav/JCJFQ9hmRwu7ShmmgJ/nSHg2P4HV5kjz53EpzlGnQA==","repository":{"url":"git+https://github.com/GeorgeHulpoi/payload-totp.git","type":"git"},"_npmVersion":"10.8.2","description":"Add an extra security layer to PayloadCMS using a Time-based One-time Password (TOTP).","directories":{},"_nodeVersion":"20.20.1","dependencies":{"qrcode":"^1.5.4","otpauth":"^9.3.6","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","next":"^15.4.4","open":"^10.1.0","sass":"^1.83.4","uuid":"^11.0.5","react":"19.1.0","sharp":"0.32.6","eslint":"^9.16.0","qs-esm":"7.0.2","rimraf":"3.0.2","graphql":"^16.8.1","payload":"^3.55.0","@swc/cli":"0.5.1","get-port":"^7.1.0","prettier":"^3.4.2","@swc/jest":"^0.2.37","copyfiles":"2.4.1","cross-env":"^7.0.3","react-dom":"19.1.0","typescript":"5.7.3","@types/jest":"29.5.12","@types/node":"^22.5.4","@types/uuid":"^10.0.0","@types/react":"19.1.0","@types/qrcode":"^1.5.5","@payloadcms/ui":"^3.55.0","@eslint/eslintrc":"^3.2.0","@payloadcms/next":"^3.55.0","@playwright/test":"^1.49.1","@types/react-dom":"19.1.0","sort-package-json":"^2.10.0","@swc-node/register":"1.10.9","eslint-config-next":"15.1.0","@types/jsonwebtoken":"^9.0.7","@payloadcms/db-sqlite":"^3.55.0","mongodb-memory-server":"^10.1.2","@payloadcms/db-mongodb":"^3.55.0","@payloadcms/db-postgres":"^3.55.0","@payloadcms/translations":"^3.55.0","@payloadcms/eslint-config":"3.28.0","@payloadcms/richtext-lexical":"^3.55.0"},"peerDependencies":{"payload":"^3.29.0","@payloadcms/ui":"^3.29.0","@payloadcms/next":"^3.29.0","@payloadcms/translations":"^3.29.0"},"_npmOperationalInternal":{"tmp":"tmp/payload-totp_3.0.1_1774885255021_0.29815989588848035","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"payload-totp","version":"3.0.2","keywords":["payload","cms","plugin","totp","otp","security","auth","authentification"],"author":{"url":"https://en.george-hulpoi.dev","name":"George-Valentin Hulpoi"},"license":"MIT","_id":"payload-totp@3.0.2","maintainers":[{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"}],"homepage":"https://github.com/GeorgeHulpoi/payload-totp#readme","bugs":{"url":"https://github.com/GeorgeHulpoi/payload-totp/issues"},"dist":{"shasum":"88fc190a24b82d61cc88dca79518c380c881f918","tarball":"https://registry.npmjs.org/payload-totp/-/payload-totp-3.0.2.tgz","fileCount":237,"integrity":"sha512-Y+oOZD3dnh6cF64TQiYKu4stF3HoBtukILI7g56zh5bCMW5fxnWlmaZhYt7MXsFdFYuvDJ/cGcL4zwANCiGhVA==","signatures":[{"sig":"MEQCIBVlBI+FreTIAiSBMGvAk/jUaP4C7YzT9G2d6GluPhLJAiB3hDIRFZeQPg8YVualOi6QFzdFPya7VJTgj4AbSjidMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":335143},"main":"./dist/index.js","type":"module","_from":"file:payload-totp-3.0.2.tgz","types":"./dist/index.d.ts","engines":{"node":"^18.20.2 || >=20.9.0","pnpm":"^10"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./rsc":{"types":"./dist/exports/rsc.d.ts","import":"./dist/exports/rsc.js","default":"./dist/exports/rsc.js"},"./client":{"types":"./dist/exports/client.d.ts","import":"./dist/exports/client.js","default":"./dist/exports/client.js"}},"scripts":{"dev":"payload run ./dev/server.ts","lint":"eslint ./src","test":"jest","build":"pnpm copyfiles && pnpm build:types && pnpm build:swc","clean":"rimraf {dist,*.tsbuildinfo}","e2e:test":"playwright test","lint:fix":"eslint ./src --fix","build:swc":"swc ./src -d ./dist --config-file .swcrc --strip-leading-paths","copyfiles":"copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/","dev:build":"next build ./dev","dev:start":"next start ./dev","build:types":"tsc --outDir dist --rootDir ./src","dev:payload":"cross-env PAYLOAD_CONFIG_PATH=./dev/payload.config.ts payload","dev:generate-types":"pnpm dev:payload generate:types","dev:generate-importmap":"pnpm dev:payload generate:importmap"},"_npmUser":{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"},"registry":"https://registry.npmjs.org/","_resolved":"/tmp/acd9fb321233ea5b528f0b824583a8ed/payload-totp-3.0.2.tgz","_integrity":"sha512-Y+oOZD3dnh6cF64TQiYKu4stF3HoBtukILI7g56zh5bCMW5fxnWlmaZhYt7MXsFdFYuvDJ/cGcL4zwANCiGhVA==","repository":{"url":"git+https://github.com/GeorgeHulpoi/payload-totp.git","type":"git"},"_npmVersion":"10.8.2","description":"Add an extra security layer to PayloadCMS using a Time-based One-time Password (TOTP).","directories":{},"_nodeVersion":"20.20.2","dependencies":{"qrcode":"^1.5.4","otpauth":"^9.3.6","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","next":"^16.3.3","open":"^10.1.0","sass":"^1.83.4","uuid":"^11.0.5","react":"19.1.0","eslint":"^9.16.0","qs-esm":"7.0.2","rimraf":"3.0.2","graphql":"^16.8.1","payload":"^3.88.0","@swc/cli":"0.5.1","get-port":"^7.1.0","prettier":"^3.4.2","@swc/jest":"^0.2.37","copyfiles":"2.4.1","cross-env":"^7.0.3","react-dom":"19.1.0","typescript":"5.7.3","@types/jest":"29.5.12","@types/node":"^22.5.4","@types/uuid":"^10.0.0","@types/react":"19.1.0","@types/qrcode":"^1.5.5","@payloadcms/ui":"^3.88.0","@eslint/eslintrc":"^3.2.0","@payloadcms/next":"^3.88.0","@playwright/test":"^1.62.1","@types/react-dom":"19.1.0","sort-package-json":"^2.10.0","@swc-node/register":"1.10.9","eslint-config-next":"16.3.3","@types/jsonwebtoken":"^9.0.7","@payloadcms/db-sqlite":"^3.88.0","mongodb-memory-server":"^10.1.2","@payloadcms/db-mongodb":"^3.88.0","@payloadcms/db-postgres":"^3.88.0","@payloadcms/translations":"^3.88.0","@payloadcms/eslint-config":"3.28.0","@payloadcms/richtext-lexical":"^3.88.0"},"peerDependencies":{"payload":"^3.88.0","@payloadcms/ui":"^3.88.0","@payloadcms/next":"^3.88.0","@payloadcms/translations":"^3.88.0"},"_npmOperationalInternal":{"tmp":"tmp/payload-totp_3.0.2_1788000674393_0.3823715321063885","host":"s3://npm-registry-packages-npm-production"}},"3.0.3":{"name":"payload-totp","version":"3.0.3","description":"Add an extra security layer to PayloadCMS using a Time-based One-time Password (TOTP).","license":"MIT","type":"module","keywords":["payload","cms","plugin","totp","otp","security","auth","authentification"],"bugs":{"url":"https://github.com/GeorgeHulpoi/payload-totp/issues"},"author":{"name":"George-Valentin Hulpoi","url":"https://en.george-hulpoi.dev"},"repository":{"type":"git","url":"git+https://github.com/GeorgeHulpoi/payload-totp.git"},"exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts","default":"./dist/index.js"},"./client":{"import":"./dist/exports/client.js","types":"./dist/exports/client.d.ts","default":"./dist/exports/client.js"},"./rsc":{"import":"./dist/exports/rsc.js","types":"./dist/exports/rsc.d.ts","default":"./dist/exports/rsc.js"}},"main":"./dist/index.js","types":"./dist/index.d.ts","devDependencies":{"@eslint/eslintrc":"^3.2.0","@payloadcms/db-mongodb":"^3.88.0","@payloadcms/db-postgres":"^3.88.0","@payloadcms/db-sqlite":"^3.88.0","@payloadcms/eslint-config":"3.28.0","@payloadcms/next":"^3.88.0","@payloadcms/richtext-lexical":"^3.88.0","@payloadcms/translations":"^3.88.0","@payloadcms/ui":"^3.88.0","@playwright/test":"^1.62.1","@swc-node/register":"1.10.9","@swc/cli":"0.5.1","@swc/jest":"^0.2.37","@types/jest":"29.5.12","@types/jsonwebtoken":"^9.0.7","@types/node":"^22.5.4","@types/qrcode":"^1.5.5","@types/react":"19.1.0","@types/react-dom":"19.1.0","@types/uuid":"^10.0.0","copyfiles":"2.4.1","cross-env":"^7.0.3","eslint":"^9.16.0","eslint-config-next":"16.3.3","get-port":"^7.1.0","graphql":"^16.8.1","jest":"29.7.0","mongodb-memory-server":"^10.1.2","next":"^16.3.3","open":"^10.1.0","payload":"^3.88.0","prettier":"^3.4.2","qs-esm":"7.0.2","react":"19.1.0","react-dom":"19.1.0","rimraf":"3.0.2","sass":"^1.83.4","sort-package-json":"^2.10.0","typescript":"5.7.3","uuid":"^11.0.5"},"peerDependencies":{"@payloadcms/next":"^3.88.0","@payloadcms/translations":"^3.88.0","@payloadcms/ui":"^3.88.0","payload":"^3.88.0"},"engines":{"node":"^18.20.2 || >=20.9.0","pnpm":"^10"},"registry":"https://registry.npmjs.org/","dependencies":{"jsonwebtoken":"^9.0.2","otpauth":"^9.3.6","qrcode":"^1.5.4"},"scripts":{"build":"pnpm copyfiles && pnpm build:types && pnpm build:swc","build:swc":"swc ./src -d ./dist --config-file .swcrc --strip-leading-paths","build:types":"tsc --outDir dist --rootDir ./src","clean":"rimraf {dist,*.tsbuildinfo}","copyfiles":"copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/","dev":"payload run ./dev/server.ts","dev:generate-importmap":"pnpm dev:payload generate:importmap","dev:generate-types":"pnpm dev:payload generate:types","dev:payload":"cross-env PAYLOAD_CONFIG_PATH=./dev/payload.config.ts payload","dev:build":"next build ./dev","dev:start":"next start ./dev","lint":"eslint ./src","lint:fix":"eslint ./src --fix","test":"jest","e2e:test":"playwright test"},"_id":"payload-totp@3.0.3","homepage":"https://github.com/GeorgeHulpoi/payload-totp#readme","_integrity":"sha512-j+0X/0hwCicSezcnq/uPiH6dFr5lWWWGWnc8JEAjpede5pzheiYxngHENsQV3TQTd0HkFCA2lyO5wOX7NrnPeg==","_resolved":"/tmp/5a7d4f12414e3e37eb39c0869c237f8f/payload-totp-3.0.3.tgz","_from":"file:payload-totp-3.0.3.tgz","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-j+0X/0hwCicSezcnq/uPiH6dFr5lWWWGWnc8JEAjpede5pzheiYxngHENsQV3TQTd0HkFCA2lyO5wOX7NrnPeg==","shasum":"6a61c2d3bb22a9d876038af578cb75fbda7009cb","tarball":"https://registry.npmjs.org/payload-totp/-/payload-totp-3.0.3.tgz","fileCount":237,"unpackedSize":338729,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD1pa9nJe6tWSCBXuX0rZFvRH/b7+Wl+E7nfZUezjBAegIhANjD2bCZnF7phN/TuxnPMDHH90/VFAge00aU7WleATLU"}]},"_npmUser":{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"},"directories":{},"maintainers":[{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/payload-totp_3.0.3_1788977777750_0.8535069385252214"},"_hasShrinkwrap":false}},"time":{"created":"2025-01-14T16:04:43.766Z","modified":"2026-09-09T18:16:18.093Z","0.0.0-alpha.0":"2025-01-14T16:04:43.948Z","0.0.0-alpha.1":"2025-01-23T13:25:39.071Z","0.0.0-alpha.2":"2025-02-19T15:11:32.391Z","0.0.0-alpha.3":"2025-02-21T09:03:19.781Z","0.0.0-alpha.4":"2025-02-26T09:08:56.929Z","0.0.0-alpha.5":"2025-03-23T15:22:21.801Z","0.0.0-alpha.6":"2025-03-28T15:08:59.489Z","0.0.0-alpha.7":"2025-03-29T14:48:03.474Z","0.0.0-alpha.8":"2025-04-01T13:32:41.259Z","0.0.0-alpha.9":"2025-04-03T15:37:19.413Z","3.0.0-beta.0":"2025-04-03T18:02:27.294Z","3.0.0-beta.1":"2025-04-28T15:56:57.289Z","3.0.0-beta.2":"2025-06-07T09:01:59.102Z","3.0.0-beta.3":"2025-06-25T14:24:05.585Z","3.0.0-beta.4":"2025-09-19T12:12:40.979Z","3.0.0-beta.5":"2025-10-25T10:24:31.305Z","3.0.0":"2026-01-05T17:16:22.215Z","3.0.1":"2026-03-30T15:40:55.177Z","3.0.2":"2026-08-29T10:51:14.529Z","3.0.3":"2026-09-09T18:16:17.884Z"},"bugs":{"url":"https://github.com/GeorgeHulpoi/payload-totp/issues"},"author":{"name":"George-Valentin Hulpoi","url":"https://en.george-hulpoi.dev"},"license":"MIT","homepage":"https://github.com/GeorgeHulpoi/payload-totp#readme","keywords":["payload","cms","plugin","totp","otp","security","auth","authentification"],"repository":{"type":"git","url":"git+https://github.com/GeorgeHulpoi/payload-totp.git"},"description":"Add an extra security layer to PayloadCMS using a Time-based One-time Password (TOTP).","maintainers":[{"name":"george_hulpoi","email":"george.v.hulpoi@gmail.com"}],"readme":"# Payload TOTP (Time-based One-Time Password)\n[![NPM](https://img.shields.io/npm/v/payload-totp)](https://www.npmjs.com/package/payload-totp)\n[![Downloads](http://img.shields.io/npm/dm/payload-totp.svg)](https://www.npmjs.com/package/payload-totp)\n![banner](https://github.com/user-attachments/assets/631dd9bf-8425-439e-9988-d25b6d5d3f6e)\n\n[![Sponsor Me](https://github.com/user-attachments/assets/c6f96290-58c0-4a5b-ba53-136730d097e9)](https://github.com/sponsors/GeorgeHulpoi)\n[![Follow on LinkedIn](https://github.com/user-attachments/assets/01fdc0f0-2642-4444-b978-74c709f1b7bc)](https://www.linkedin.com/in/george-hulpoi/)\n[![Follow on X](https://github.com/user-attachments/assets/090656f2-d19d-422e-8c83-99742a39b47a)](https://x.com/GeorgeHulpoi)\n[![Read my blog](https://github.com/user-attachments/assets/55ba629a-77b8-4cba-a09b-b63d1c90402b)](https://en.george-hulpoi.dev/blog)\n\nIf you find this plugin useful, consider supporting its development through donations. Your contributions help improve security and stability!\n\n## What Does This Plugin Do?\nTOTP is a widely used authentication mechanism that generates a unique, time-sensitive code based on a shared secret and the current time. This code is typically used as a second factor in authentication (2FA), adding an extra layer of security to protect against unauthorized access.\n\nThis plugin enhances security by wrapping the existing access controls under a TOTP verification process. Users must enter a valid TOTP code generated by an authenticator app (such as Google Authenticator, Authy, or Microsoft Authenticator) to gain access, reducing the risk of unauthorized logins even if credentials are compromised.\n\n## Core Features\n- Seamlessly integrates with existing access controls.\n- Full internationalization (i18n) support for all UI elements.\n- Built-in support for both dark and light themes.\n- Compatible with API key authentication.\n- Works with any authentication strategy supported by PayloadCMS.\n\n## Installation\nInstall the plugin using any JavaScript package manager like [pnpm](https://pnpm.io/), [npm](https://npmjs.com/), or [Yarn](https://yarnpkg.com/):\n\n```terminal\npnpm add payload-totp\n```\n\n## Basic Usage\nIn the plugins array of your [Payload Config](https://payloadcms.com/docs/configuration/overview), call the plugin with [options](#options):\n\n```tsx\nimport { buildConfig } from 'payload'\nimport { payloadTotp } from 'payload-totp'\n\nconst config = buildConfig({\n    collections: [\n        {\n            slug: 'users',\n            auth: true,\n            fields: [],\n        },\n    ],\n    plugins: [\n        payloadTotp({\n            collection: 'users',\n            // see below for a list of available options\n        }),\n    ],\n})\n\nexport default config\n```\n\n__IMPORTANT__: The plugin overrides all collections, therefore it should be the last plugin in the array, or at least not followed by plugins that add collections/globals. Furthermore, the plugin can break the default behavior for non–user-based access. Please read the [Access Wrapper](#access-wrapper) section.\n\nNow, you need to modify the `proxy.ts` or create it if doesn't exist. The proxy will pass the `pathname` as a header. This is necessary because we don't have access to the `pathname` in the server-side component. Without this part, it will create an endless redirect loop.\n\n```ts\nimport { NextResponse } from 'next/server'\nimport type { NextRequest } from 'next/server'\n\nexport function proxy(request: NextRequest) {\n\tconst pathname = request.nextUrl.pathname\n\tconst response = NextResponse.next()\n\n\tresponse.headers.append('x-pathname', pathname)\n\n\treturn response\n}\n```\n\n__Next.js 15__: the `proxy.ts` convention was introduced in Next.js 16. On Next.js 15, use the same code in `middleware.ts` and name the exported function `middleware` instead.\n\n## Options\n\n### `collection`\n\nThe `collection` property specifies which collection with `auth` enabled should have TOTP protection. Currently, the plugin supports TOTP for a single collection at a time.\n\n### `disabled`\n\nAllows you to conditionally disable the plugin based on runtime conditions.\n\n```ts\npayloadTotp({\n\tcollection: 'users',\n\tdisabled: process.env.NODE_ENV === 'development',\n})\n```\n\nWhen disabled, none of the plugin's behaviour is registered: your own access\nfunctions are left alone, the TOTP strategy, the admin provider, the setup and\nverify views and the endpoints are not added, and the account page shows no\nauthenticator field.\n\nThe `totpSecret` field stays on the collection, so toggling the option doesn't\nchange the database schema and users who had already enrolled keep their secret\nfor whenever the plugin is enabled again.\n\n### `forceSetup`\n\nBy default, the plugin does not force users to configure TOTP. The TOTP verification will only be prompted if the user has configured it. This option forces all users to configure their TOTP after login, enhancing security by ensuring 2FA is enabled for all accounts.\n\n### `disableAccessWrapper`\n\nThe `disableAccessWrapper` property disables the default access wrapper for all collections and globals. [Read more about it](#access-wrapper).\n\n### `totp`\n\nThe `totp` property is used to configure the [TOTP class](https://hectorm.github.io/otpauth/classes/TOTP.html) from the `otpauth` package. You can customize the following options:\n\n- `algorithm`: The hash algorithm to use (e.g. 'SHA1', 'SHA256', 'SHA512')\n- `digits`: Number of digits in the generated token (default: 6)\n- `issuer`: The issuer name to display in authenticator apps\n- `period`: Token validity period in seconds (default: 30)\n\n### `forceWhiteBackgroundOnQrCode`\n\nWhen enabled, the QR code shown on the setup page is rendered with a white background to improve readability when using a dark theme. Disabled by default.\n\n## Access Wrapper\n\nBy default, PayloadCMS has access set to `({user}) => Boolean(user)`. Since PayloadCMS naturally handles access for logged-in users, this plugin follows the same pattern.\n\nThe plugin will override the provided access function. This means that TOTP verifications will be called first, and if successful, it will then call the original function and return its result. This approach ensures compatibility with role-based access control and other custom access patterns.\n\nThere are cases where collections or globals need to be available for non-logged-in users. To handle this, the plugin provides `disableAccessWrapper` globally or per global/collection. If you have many collections/globals that provide custom access or public access, you should use the plugin options [disableAccessWrapper](#disableAccessWrapper).\n\nIn case of changing the default access, you can deactivate per collection/global:\n\n```tsx\nimport type { CollectionConfig } from 'payload'\n\nexport const posts: CollectionConfig = {\n\tslug: 'posts',\n\taccess: {\n\t\tread: () => true,\n\t},\n\tfields: [],\n\tcustom: {\n\t\ttotp: {\n\t\t\tdisableAccessWrapper: {\n\t\t\t\tread: true,\n\t\t\t},\n\t\t},\n\t},\n}\n```\n\nThe `disableAccessWrapper` from custom has the same type as `access` in Collection/Global based on the context.\n\nIn case that you need a more complex access, for example based on a header or auth user, you can import `totpAccess`:\n\n```tsx\nimport type { CollectionConfig } from 'payload'\nimport { totpAccess } from 'payload-totp'\n\nexport const posts: CollectionConfig = {\n\tslug: 'posts',\n\tadmin: {\n\t\tuseAsTitle: 'title',\n\t},\n\taccess: {\n\t\tread: (args) => {\n\t\t\treturn (\n\t\t\t\targs.req.headers.get('authorization') === 'Bearer 123' ||\n\t\t\t\ttotpAccess(({ req: { user } }) => Boolean(user))(args)\n\t\t\t)\n\t\t},\n\t},\n\tfields: [],\n\tcustom: {\n\t\ttotp: {\n\t\t\tdisableAccessWrapper: {\n\t\t\t\tread: true,\n\t\t\t},\n\t\t},\n\t},\n}\n```\n\n## Dashboard Walkthrough\n\nAfter logging in, navigate to your account settings where you'll find the \"Authenticator app\" field. If `forceSetup` is enabled, you'll be automatically redirected to the Setup TOTP page.\n\n![show_auth_field](https://github.com/user-attachments/assets/dde679a3-ad9a-422d-a728-576d4ee9271e)\n\nClick the \"Setup\" button to proceed to the Setup TOTP Page:\n\n![setup_page](https://github.com/user-attachments/assets/48f1283e-d851-4698-8498-859b3da2999f)\n\nScan the QR code or copy the secret into your preferred authenticator app, then enter the generated PIN code.\n\n![setup_video](https://github.com/user-attachments/assets/0464a574-403f-4a6c-9295-d766376d410a)\n\nUpon successful verification, you'll be redirected back to your account page.\n\nNow, when you log out and log back in, you'll be prompted to enter your TOTP PIN code:\n\n![login_video](https://github.com/user-attachments/assets/432941af-1cd4-4321-b2c5-0cb41bde90de)\n\nAfter entering the correct PIN, you'll be redirected to the main dashboard page.\n","readmeFilename":"README.md"}