{"_id":"@next-auth/dynamodb-adapter","_rev":"64-d032d3b5ce4a3fec40ed3a82bfa8697d","name":"@next-auth/dynamodb-adapter","dist-tags":{"pr-79":"0.3.1-pr.79.125","pr-90":"0.3.1-pr.90.169","pr-97":"0.3.1-pr.97.155","canary":"0.3.1-canary.207","pr-147":"0.4.1-pr.147.3","pr-150":"0.4.1-pr.150.4","next":"0.4.2-next.35","experimental":"2.0.0-experimental.3","latest":"3.0.2"},"versions":{"0.3.1-canary.106":{"name":"@next-auth/dynamodb-adapter","version":"0.3.1-canary.106","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.3.1-canary.106","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"fd55ece9591710b6553a840b8a89f72b469410f4","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.3.1-canary.106.tgz","fileCount":4,"integrity":"sha512-sS19Nx7WyFlZZkmWCVY7zyt4FC64V6O9laHT7XAkBBzirjVO/KX8FPd3i1biLNh0oWTu3eqoLetcpxhGwXgEtg==","signatures":[{"sig":"MEUCIQCpZU1hEXbPDssMrVyrK5RxYShPURKkaLpYAgp6sn8rnQIgS5oF97f6RRF4mJFK1oD+7//D/FcF6Qjz2HZUOD0AUB8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20367,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJghfHtCRA9TVsSAnZWagAAS/cP/RhNAR/0kihvNN9nkG1N\n+I1eAe1ioMVqc848aEZ6DOfaZFlvHKD/ljLtm2sPO97ka3qXIlmD3CO2diEV\nTIaJKpBdZ5DNrc29vO4n0kkM3ZQLh2rdVJrksvY/7xvY+Dia5o+H4NxkCrw9\n/nYX8ovnhl0GkojiU68S3o0SdB9nl/D29ecb1DOouHQpxEuLBZt3yMhtKdQw\nxZH+xLDkwYW9F4DrDxGiOcBGxZK0joPuVKVPVHlJM7oGfsbHLgX3rHTIw1AB\nMkNz16r/04URT/4TrCAef64Wj+WJCQBhOwzKwgcSRfFEZ2oftEYV3x0RKZgO\nE+liD8nbAOFiCLNBj20ycX7LC+baHnxWm6iJlz15r/+IWnheXjc+P4GSXkSM\nTlHKRmxrbdy/peYbb4CAurvhBMz52n++T0de8G2jGqn3x2TGjF3Dg7p+OYpU\nXbqBO1cGIMpjAbS7yMS5u4vRSphg7psclCUh6tW7JrevUTvS0NvK+DesZZMV\nu7jKctLfZV/GB0cLhzzFr60g2KdYHaCMHd34nW2Xnl7790+uiggGnlrNMYrd\nN3QWs33bsiyOP8eDF96C85zrE6n+C4ley0DLXjvAwlN+FusaMAJDDN+eO1Yu\nrQx6WMrkAsDpu8OVZXjwFkE1hZcROJrBFpjVy5wz6AGJoz1TZdhuP6tKbXMS\neqo8\r\n=Vt7L\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"8ead5ad1a11cd6844bc121e104f98050be2c0432","private":false,"scripts":{"test":"echo \"TODO: Add tests...\"; exit 0"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.3.1-canary.106_1619390957462_0.037739400483418395","host":"s3://npm-registry-packages"}},"0.3.1-canary.122":{"name":"@next-auth/dynamodb-adapter","version":"0.3.1-canary.122","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.3.1-canary.122","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"a905f05faa9d168db953350f11a3da851990b570","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.3.1-canary.122.tgz","fileCount":4,"integrity":"sha512-nq55LuclmZ6Vb9gTy8Ag31Y9ziHQrJ0Infm7gmZIMNu75u0BtWHxvBVzAbz24nYw+EESgiLE2Zz0H1gqIGfL1g==","signatures":[{"sig":"MEUCIEdMHu52e8HyAbnA24kaolKdddy6QR50ENRnaXlMyin1AiEA+e5h5GZxpOenNWlb5d4l88HRb7ZgkSmbxn9XUIvCJJY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20379,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgjFvPCRA9TVsSAnZWagAAhzcP/2xv/eQs1Jt3bgJcN1Lf\nRF13vLjkdZV2/D2DVvWjemR85p1U2MocPWSUovGgpfv4U6HrwMn4F84YY1NI\noUlZQRBMcuZTuUTn32GVneYlXSnqBqtsPI0WmiyXak3zPiOX4WQiJRMzATYG\nMeZlxhaEu5600dnsU72SbOXGFYLIkj9kBYfLVmpr8S7EiZr1VsjQdFKttbaG\nB4E4o742krSM4cB760em/MxY6zQekQsyJU7e6dc/DR7HTjvjIpuUwaUCgUk+\niik4hepDDWqsYWuLTxrsfIsFe/gZ8znSb1W4n+YhZRbtKIUhB+RKopQ/3/fh\nNjU1jxbTSDCD2n98xtvGhPG42KEiwmWkXPE+NBQIIO+Md7rQfPqYf+vMvMZl\nDuo/7B+TeMnNcgATVlyTPtPXcJr/WHmQKfYimQphv2+mx8Fz4u5ldtsWD+yQ\n4sn7ncoMUNfErgDvsEKRJY2KnkZr2DqFQhbWqRa1ceBwhFHiTe16a0Nd5AeE\n1j6If7otir75c+GEX2VUSYZ790T9MwRytRWMLBMGLo+hsM2t8Y/EU6MYO/5h\nQdZX38ML2qsJNp+biFkaWZ6fI5n0OFmfDW42N3DgA8fjPvPAPnRRzxLJP5uN\nPEt+JhsVYtdBvyMCDCMy3/TmwfiG/LfJzZs/o1TBBYxQ4ltJT4FcoaxtLtlU\na38I\r\n=ZYsA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"# AWS DynamoDB Adapter\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/cRg0uvm.png\" alt=\"AWS Dynamodb + NextAuth.js\">\n</p>\n\n## Initial Setup\n\nYou need a table with as partition key `pk` and as sort key `sk`. Your table also need a global secondary index names `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\n## Config\n\nYou need to pass aws-sdk to the adapter in addition to the tablename.\n\n```JAVASCRIPT\n// /pages/api/auth/[...nextauth].js\n\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter({\n    AWS,\n    tableName: \"next-auth-test\",\n  }),\n  ...\n});\n\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respect the single table strucuture. This has many advantages :\n\n- Only one table to manage, monitor and provisioned\n- Querying relation is faster than with multi table schema (if you want to retreive all sessions from an user for example)\n- Only one table need to be replicated if you want to be multi-regions\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"Table schema\">\n</p>\n","gitHead":"4966cc772108cf783be913b140f72fac73d1b552","private":false,"scripts":{"test":"echo \"TODO: Add tests...\"; exit 0"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.3.1-canary.122_1619811278750_0.7304638061650657","host":"s3://npm-registry-packages"}},"0.3.1-pr.79.125":{"name":"@next-auth/dynamodb-adapter","version":"0.3.1-pr.79.125","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.3.1-pr.79.125","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"9014592c840643dd9db57f44990ecaa70190b403","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.3.1-pr.79.125.tgz","fileCount":6,"integrity":"sha512-Vs+l/igls3jTfXionzMuSwt/ag/OVKYEY4Ookbl9Mb8S4FpEQTgmvN75U8F7ibHPaLh9t/k0NaH4fGmLRlUxkw==","signatures":[{"sig":"MEQCIBMRSUpH41LX0bMMmDUEDJum4NB+JqhUTRUfP94gx5cyAiA7RT3NhMM53SFFU037QytnprqhHBNifXHZhMRS0SAkEw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30395,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgjtJfCRA9TVsSAnZWagAAB6wP/R1GAsNZ8HobRujvJH8t\n/4wU2vks98cvexet+LyRFPxmYYbCZ6uidFu/6jG9pxOQ/VgGT2D22nSAl4GJ\nzSOPhu6rs/dhMlgtpaYvPI5iGuNBbPSOyv6yVTLc3J+pW5IYlVRu+Emf4mzi\n80T1ki7HdI/PAo7dMt1zwgt3KYo+5OkLPQ6O/iF54lKvm/yFtynmZcy6tjJu\nSYDdZQfGpxLgHe+dmhGVtQBis+KtiXpQLeV4pF/w4EUTgYHuT1gDVcsNamsR\n22+ytTNkKZpRICrGZiufLSkCzddrEut1eEXOnw49znuO3/1zySKLJkqBjTwQ\nGn1jV++vqbHXGdZuqQlbP4Vx8hvtenOL1tPOv3l4bOMN1KUtzn5+BmuS06er\nPlKTFKZzuMTwRt8oG0lOWxuKN/yaSkNvEGnAAO4CMeSlZD1WOQFYAoMRu2Vz\nR3nft/Ej0cYTECl7Qz6rJp9Soxo83GheLVukFKpdqsrmU7cGgLUZFHjFJ3m4\n1AJ5Quj643o4STVQGunt+hW3vOtyorQW2UA3U/VLTFp/gIACphdX4mt05ZNd\nb27Tyv7hx0k2UXm0ugROSBRoMHvOsTIHlFuykoL8+yRPUNnSRot9fmoa4o17\nNWjDzuDDQ4+0/hccatCM/5PUlDnRWJ3cSl1kIpBPXXrI+ufG8zoRZqhnvfhz\naFaf\r\n=BnvS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"# AWS DynamoDB Adapter\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/cRg0uvm.png\" alt=\"AWS Dynamodb + NextAuth.js\">\n</p>\n\n## Initial Setup\n\nYou need a table with as partition key `pk` and as sort key `sk`. Your table also need a global secondary index names `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\n## Config\n\nYou need to pass aws-sdk to the adapter in addition to the tablename.\n\n```JAVASCRIPT\n// /pages/api/auth/[...nextauth].js\n\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter({\n    AWS,\n    tableName: \"next-auth-test\",\n  }),\n  ...\n});\n\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respect the single table strucuture. This has many advantages :\n\n- Only one table to manage, monitor and provisioned\n- Querying relation is faster than with multi table schema (if you want to retreive all sessions from an user for example)\n- Only one table need to be replicated if you want to be multi-regions\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"Table schema\">\n</p>\n","gitHead":"ad64e43537e6a62d3a2212434d93cf4915078e4c","private":false,"scripts":{"test":"echo \"TODO: Add tests...\"; exit 0","build":"babel src --out-dir dist"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"@babel/runtime":"^7.14.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@babel/preset-env":"^7.14.0","@babel/plugin-transform-runtime":"^7.13.15"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.3.1-pr.79.125_1619972702519_0.19397862884750183","host":"s3://npm-registry-packages"}},"0.3.1-pr.90.149":{"name":"@next-auth/dynamodb-adapter","version":"0.3.1-pr.90.149","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.3.1-pr.90.149","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"d9bc33d4047becbfaf6a474c21263e19e7dd2538","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.3.1-pr.90.149.tgz","fileCount":5,"integrity":"sha512-hY/Czjo3jCoPIC+P93WViUQ5nxKUdfKVXlX1WInDKzqDwpqUmbWcN+yaQFGr1oUW+cFtQ2lvck4MVepTyLJOSQ==","signatures":[{"sig":"MEQCIHPqTvc2BVa8sRocgoiMgN/DLdA2TXV9yPCm9G3aIZc6AiACAzeYnj9dALacDAwT9RpCmyZi4W8XYu1LvPDJ23mDVg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22010,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgoF5tCRA9TVsSAnZWagAAVBUP+QA2hCFgAVtS2b4dmL3X\nYVBbJCTUXVqCR4nlt2TApWyxVS0WrTLVH0Sm7nZ2vbCgkvu8hlPApXY7XwEG\n/VHsB3wkDpGnkS54qfZJSpPagxiRaYjsWJU9G+opG06jSus0Fn5aOvu1wT14\nyME3kflV0BNRmOygHBQlUYkKQsMyNYBjGghpPtaw0AwrnqJPVuD2M3N9ho9e\nZFzjIsNFD7xeAOeERb8JFcAh9UWdvR7EkMIlo+A8famiAbmMvcie4F6hMfW/\nZexe3R3YGjLxT6fpraQWef67MofPb0QHlzFvRAxgu4OxIf4TLl/oJyqyRh1L\ncmDA23S+xdOVk3shtOJmRUKVmFhJgV6tJ5DM8+xzjel1ygdr+hx+yVP1ZbHy\nrZgotePWyaZJSC3eTGiJDTr67My6hBSF2tSfoO4cNBRuFZBsZTgIsYebdhlN\ncRu5HFK6o667h3gzHGk17ctPMM22T+0zy5RPcPJBbq8Fj6IftfotzoK9/ojq\nun0LfwXHdfh4h+BbMb4bpslLESrwe3VpsUvenZUGQ9KBQQ484p8tEcpGOvX4\n5e4gWWcqINYWvxH4b2/4U+nVdPuEur9+Q5Vqys5qVpuX5qgsvCaNuD0YMH9e\nwvAldxSQCcsWgsN9ag7UtCIOrAk8wPG4nAhY5mOTcP/t+47MuGJJoQVUAt8O\nBvbg\r\n=KoEx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"# AWS DynamoDB Adapter\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/cRg0uvm.png\" alt=\"AWS Dynamodb + NextAuth.js\">\n</p>\n\n## Initial Setup\n\nYou need a table with as partition key `pk` and as sort key `sk`. Your table also need a global secondary index names `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\n## Config\n\nYou need to pass aws-sdk to the adapter in addition to the tablename.\n\n```JAVASCRIPT\n// /pages/api/auth/[...nextauth].js\n\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter({\n    AWS,\n    tableName: \"next-auth-test\",\n  }),\n  ...\n});\n\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respect the single table strucuture. This has many advantages :\n\n- Only one table to manage, monitor and provisioned\n- Querying relation is faster than with multi table schema (if you want to retreive all sessions from an user for example)\n- Only one table need to be replicated if you want to be multi-regions\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"Table schema\">\n</p>\n","gitHead":"f8790ab630106ec358918905ba420ed9384b4cae","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.3.1-pr.90.149_1621122668704_0.2736487181171965","host":"s3://npm-registry-packages"}},"0.3.1-pr.90.151":{"name":"@next-auth/dynamodb-adapter","version":"0.3.1-pr.90.151","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.3.1-pr.90.151","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"98acfd9b0553eb98d45359c90529924d220062ba","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.3.1-pr.90.151.tgz","fileCount":5,"integrity":"sha512-ybMhNkCAv8tAN6LwwKnsDSAADlxPXzbY11BINSIz0OS1xzl67u3usNjk1Y8biyG1pQDIwPqWRfnibhqwAQ50sA==","signatures":[{"sig":"MEQCICQCk91flo3JMWMBqVB+nte5+mDYfdXYWNgrjD5KagHdAiBjAHedx0eZ/R1/ZVwIlJJA9ZnAoBskCjXAF6RNG8+lgw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22010,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgoHKoCRA9TVsSAnZWagAAJnYP/j3YM46+zC3BgKcCgjYF\ncxFY/ycSJLf+LA5b1ZU/7tD4EN7rd0vJVZvv9g2+ArztXR4nq/lnbNp0SJjX\ndNtr8ehV2sUrJIECSBJ1KBsZwjlpY1ztR/jmm6Q03ckW1f5qdbDz0LA6l+ZK\nQ/KOy6NQq36dY6oL7AgUB6CgpgwSsxg39zWtULuVsSogcpkZ63aFtXgVZb+E\nhxdbckx+DIek1rwcBmGcTXTPykkeMEqsCooJiOKAa0uxG4LB3x3JU0EgbbqR\nLiPsiBq+XKU1eda6vvcYL0AO8gUdKRMAPUT7XRkIQM42BcIP5jM8gqHg5I3i\nOs7zqokPbbCoRYQiEJr38cXaKtcpGarTHNKnYCdJ63hPFd321MWANTWFVZSt\nlamTwf/gaAAYr48tCEsHtV2Qa3h3/Pu2ffWnt/VoHXaXW7bfceUH1qJ/lbXd\nXOM6a7JbB7cu2lQBbONTNtHKJnFUk6ztildMtOKF9xhI/m6dkQYnM+joQJH6\n4FjYztHoibdifIo9B4LLS3vSZ1UntJrsZK+frXNTpePQYf7lJUKF5tdbrMsV\ndoKocn6tfYb/PZwID3F0HsVxO5GTjhNoYF+INZUwChiakIGAIEpocm9y3tmZ\ni6JG9Rdy3u5sQYhi0xjcwyfLtjjIkiSt+Xugo8cfvNVa1KbXchF5+Fi/Ehyh\nygZr\r\n=+XLd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"# AWS DynamoDB Adapter\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/cRg0uvm.png\" alt=\"AWS Dynamodb + NextAuth.js\">\n</p>\n\n## Initial Setup\n\nYou need a table with as partition key `pk` and as sort key `sk`. Your table also need a global secondary index names `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\n## Config\n\nYou need to pass aws-sdk to the adapter in addition to the tablename.\n\n```JAVASCRIPT\n// /pages/api/auth/[...nextauth].js\n\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter({\n    AWS,\n    tableName: \"next-auth-test\",\n  }),\n  ...\n});\n\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respect the single table strucuture. This has many advantages :\n\n- Only one table to manage, monitor and provisioned\n- Querying relation is faster than with multi table schema (if you want to retreive all sessions from an user for example)\n- Only one table need to be replicated if you want to be multi-regions\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"Table schema\">\n</p>\n","gitHead":"e02c78242d9645118285e12c296d64fbf56ca7d9","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.3.1-pr.90.151_1621127848300_0.7586384668224575","host":"s3://npm-registry-packages"}},"0.3.1-pr.90.152":{"name":"@next-auth/dynamodb-adapter","version":"0.3.1-pr.90.152","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.3.1-pr.90.152","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"8cb57695e35564b0350145bf6e2756416a9cf0ac","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.3.1-pr.90.152.tgz","fileCount":5,"integrity":"sha512-BHGsijzJ/n+XJMypieAPtLXhsn/HtwZG+tDu77jZ4kgsiX5PQvJPQDH8HpW4JEE5/fOeOJNh/nH1pUi0f9i9WA==","signatures":[{"sig":"MEUCIQCV1w6uNaUYummyfHUaf6hF6pHak+DAvl+Ao0fyjDQRIgIgJSyyB2P9be0oCfIl1QTN5KsstZtQECTnvLMRlEijS5c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22010,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgoS67CRA9TVsSAnZWagAA0moP/Rm76Msq0hiT6uUshZKc\n9cSxEvKPiFXCP6/dyxxGiMNe7iHFl3UqXtwzW/YGB4d0EvbR6AX07AxZ/7Ey\nMEi0rPqHSHYsc2arMVgN7lpHKUbf0k231Z+gQaS/BTgjNKS/o/AbVAa/ueGy\n2ejKmt4sIDQ5Hkqpl8jPGHZW5p/fg0BqY8YqAzrvR6xIBTVJMDdlCcMUsrOA\n2pp+QSVTWgio073RMwyFBBJniH2LxqO0Z7Nr2TWSg4mGHgivQ4O93EImoB9Z\nZSPIJhjthw+AfDmDJ9BUQIqKxhHHcHT9VcWGqOYXB4trifPE4Azfy9xPS9VV\ni9lL8tKFCt6hd+4HrcoF28hf674Sb9MR0Bh+4vB2aX3XVGhSVikKNJqZkBz8\nCPQJUVjnucVKrfQhqs3ApV7Ggr28iBfEVVRwxvWRD7h9ngdCJIK9EL7+AEEu\nZ7cfKA/+xMZMgA+Jlaty5lRf3hrkkcNWJlYQu35F1zDIL8/a30h0lOFNo9s1\nJ9UTVZKhfmtU/dRwb2bVi3XaSO8ZCKwybVPoe1u7vD3+7WpgBU+oCuscgp8C\nJ+xdR6lT7OQMRXMvytUBsGAsG0xZFwx74Yjq7hjGZpLsMOctq80pYmzoBFEG\nHKfdfDMc26sk9L2BVLClmFgQxzjexx5sNRr3gZ15W078yUadZv6OLXxmCBxb\n/JPs\r\n=num8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"# AWS DynamoDB Adapter\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/cRg0uvm.png\" alt=\"AWS Dynamodb + NextAuth.js\">\n</p>\n\n## Initial Setup\n\nYou need a table with as partition key `pk` and as sort key `sk`. Your table also need a global secondary index names `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\n## Config\n\nYou need to pass aws-sdk to the adapter in addition to the tablename.\n\n```JAVASCRIPT\n// /pages/api/auth/[...nextauth].js\n\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter({\n    AWS,\n    tableName: \"next-auth-test\",\n  }),\n  ...\n});\n\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respect the single table strucuture. This has many advantages :\n\n- Only one table to manage, monitor and provisioned\n- Querying relation is faster than with multi table schema (if you want to retreive all sessions from an user for example)\n- Only one table need to be replicated if you want to be multi-regions\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"Table schema\">\n</p>\n","gitHead":"abdb4c8c864be6842f7b0f376622a806f369d8ab","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.3.1-pr.90.152_1621175994792_0.875826345245871","host":"s3://npm-registry-packages"}},"0.3.1-pr.90.154":{"name":"@next-auth/dynamodb-adapter","version":"0.3.1-pr.90.154","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.3.1-pr.90.154","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"f62fbd5d963c8bf9845d24fe9fcd04bf99c688bc","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.3.1-pr.90.154.tgz","fileCount":5,"integrity":"sha512-mUz+UArWV+nvNHjtTNb/0al2mLtoYOe4zfpaJ8cOMZQvDITgug/IGYwIZ7ODO83eo5hTeUTKpF8r2/Mnhz2qFQ==","signatures":[{"sig":"MEUCIEGYVNQbZylS3bG5mD3ceojWAi+J2+MdSuzDE3ntK8WfAiEAtzSmdrLzD+w2eZgdcBSLeo0xlRSkDj0AT90z2nXPuJ4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22010,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgoZTqCRA9TVsSAnZWagAA704P/iMydcZbWwDIOPCCC3rn\nJegEElbY+e69RqooEGyxORTQwj508ObyUIQh8G0gGbsgtC14IqJmES7Neu4q\nFEjx/xiKD7wsOOakiS8DmMx/OqncakauXJESbo01GYLu7Cnb4Qs3aGOjReb8\ntCEFSvienhwwpiBpH1Z0n817FDN49mxfnS099cgVuUEu/HvbuyAXRYNF7yk5\nXRyXjl5amjKP8VEjiAZH0PCOFFx6ddbGi4qh4c+8nKDE2t+4pyOSfAORjXfm\nanuB3//Rhod5BlC0gsauB4EfZEbzraBJZXLIPdqE0J6x5+A86SFGnmKvu9Cl\n8l6lAn6YPBy0PwSsadn0lCgbHfN1n0k8LrFHmXcj+5z/Cv10YfsnT2YvZ3CV\nAcEmIDmQnYXrbGEqN+oQVciLZlKXQjA8GTE8Y49Ob8vYJ0yFX6Jg7ltf9a6L\nBvR151xus6yrFQjiI8cLosf2SBeM1MuNX3ewLZ3z7Qg4NuSAytoDUcNt2GXu\nRlRiM3ynJJXL5QQ92PMv2/Gc4KBIq8wpoM6MmDaH7BOU7wbu/vBwJ0Of0zEV\nSTD1DzOifpkaWfEHVyrQMfKfbYEx+z+4rC6XykJUmN4H2O9Bft/ldeYJKVA+\n0vKwY78a+jXaVU0a46E9DcN2Sz5THki1MIrcOPtB+C+r9tfRZMSLLMutBhSQ\n/glO\r\n=KKwZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"# AWS DynamoDB Adapter\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/cRg0uvm.png\" alt=\"AWS Dynamodb + NextAuth.js\">\n</p>\n\n## Initial Setup\n\nYou need a table with as partition key `pk` and as sort key `sk`. Your table also need a global secondary index names `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\n## Config\n\nYou need to pass aws-sdk to the adapter in addition to the tablename.\n\n```JAVASCRIPT\n// /pages/api/auth/[...nextauth].js\n\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter({\n    AWS,\n    tableName: \"next-auth-test\",\n  }),\n  ...\n});\n\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respect the single table strucuture. This has many advantages :\n\n- Only one table to manage, monitor and provisioned\n- Querying relation is faster than with multi table schema (if you want to retreive all sessions from an user for example)\n- Only one table need to be replicated if you want to be multi-regions\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"Table schema\">\n</p>\n","gitHead":"07b281668509a9b70b36c871e113bc9c722c9b79","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.3.1-pr.90.154_1621202153955_0.8638583000257596","host":"s3://npm-registry-packages"}},"0.3.1-pr.90.156":{"name":"@next-auth/dynamodb-adapter","version":"0.3.1-pr.90.156","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.3.1-pr.90.156","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"eaf1b1d841d7b7d4e08eba6bd5bfc02ca8fcbc38","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.3.1-pr.90.156.tgz","fileCount":5,"integrity":"sha512-9pCuZkgdW85aD8NFV2wI6Xj9/UImeN+u62keXk1Vf7UpnME+UrVhqnpotcsdmHuO+vPM/BVuftMewo8dfYrS6w==","signatures":[{"sig":"MEUCIQCH7XAP1YojiudnH0CDSojzpkdzH2fkzKEFLmdhuWfU6AIgBBHlMg6uDqNPNfOgV5TqUGdilLskL2t/0zSLwWpT5pc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22010,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgoaB/CRA9TVsSAnZWagAAnaUP/RDOEpm0w4mi/fn+vnUd\nJlNIIE3ntJrvyJoFXhUZ/1FTpPA1cdR3qQNdgd1mmlfo0+PTIr+Y7iIxBG4O\nmceIzp7Oo1XPfRJwqZemVzXjgjxhQiymEEtzqNtasmo0ZDWdhHsIrNqEaX4Y\nC3ggFDGUWL9MZxu/QoT3njlWPpTiZrYmxuEpelXJKqu5rfJAvmjdzxKOvDtb\nkX4Ux84JdtRMEGqz39CzKQnpqcY7z7bfcypm5zZK2mOwPA37XULzeBHnJxGb\n6DYUshrOXSt8kVtmOwZEgeyuJvYr0Elq71TW3GZ/RwIUyxHBq+1/TJwx9/bX\nlu4RVDJoPsz+84aHoebJQTp6EyRcp0ZVARqgbYL8PDYp/xU8mIRCt6lP3nO3\nhxDUoDxy8EbMRv2ANBG/5xPTNgr5CSbM+FJjUjGuGxuPU2xd1XCs8z5nQDjj\ng5tFYt61D14NP8oJRR/QcWqzpuIlqtiXtaS02K82JhPhqaYB12MXyng4UhsA\n99GOYa09/qwUh3caOzVnWZogiqLGg3gZy41YZJkeQmUuI/36xQDCcKIxxnW+\nSi5N8eOtHEDNGhF8jpBro5WBgnqj76lH174ZZGdEHvH7/ediF6+C08Fmd/db\nM5oVaT+xJp6oJ1Z/RAZr6HCC4IaVTDgc2k059AmIbTk1cL8KUp7xn6TXentK\neO7q\r\n=bPAR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"# AWS DynamoDB Adapter\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/cRg0uvm.png\" alt=\"AWS Dynamodb + NextAuth.js\">\n</p>\n\n## Initial Setup\n\nYou need a table with as partition key `pk` and as sort key `sk`. Your table also need a global secondary index names `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\n## Config\n\nYou need to pass aws-sdk to the adapter in addition to the tablename.\n\n```JAVASCRIPT\n// /pages/api/auth/[...nextauth].js\n\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter({\n    AWS,\n    tableName: \"next-auth-test\",\n  }),\n  ...\n});\n\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respect the single table strucuture. This has many advantages :\n\n- Only one table to manage, monitor and provisioned\n- Querying relation is faster than with multi table schema (if you want to retreive all sessions from an user for example)\n- Only one table need to be replicated if you want to be multi-regions\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"Table schema\">\n</p>\n","gitHead":"cf7de0f140ffd0ac76087a56597bc6e6ef7b8d27","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.3.1-pr.90.156_1621205118818_0.5944472577852349","host":"s3://npm-registry-packages"}},"0.3.1-pr.90.157":{"name":"@next-auth/dynamodb-adapter","version":"0.3.1-pr.90.157","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.3.1-pr.90.157","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"88f5a62059374ec63b6a1ea78aad8ea5f6fb2bdd","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.3.1-pr.90.157.tgz","fileCount":5,"integrity":"sha512-sFr4aMhmaaLSoa6Egv0xdfKqZvCenE7kU2dEdfQeyL+zTPJ5E/HTIeW9XO0LAoQ+BjZYE8trirhMJ45Ifu4/dA==","signatures":[{"sig":"MEUCIQChrQ4LviJn/LQEGVf2g1+WUrELgn2Ht8JvAy1y5FhjrgIgMEjRmk8LPL+4uY8g0qJIDY5aUMsXROAdOyD97Us6/Io=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22010,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgoaIgCRA9TVsSAnZWagAASncQAIpynxHkDDrTIg3rDOMd\nRrmgGzQIZq6w8Ngis10xMLpl1Tm/FoGjPBNWijSgfY+MXxIRBxJmfgGDN+bq\natHXyNP7vnrRPULxNLMMUhpESbYPY1tzt3oYtV7KkBXKx4utKjzIccyJ5NPn\n6mGpM1jPl7eIMp8jMBjm7Lc1G6JWZy87PTB22As9AyWxyMU4lGzhe+7AuA4a\nNUhwz1WlyDR/SP1Kdb8jHlxnT1UHm38AhEUdORrXTy1+hiVXSa7PEyZ4hpYe\nYn2oojKLt6syM/nfvqPKyvU0cDZA6jHaCm2Aa1alz8P1vWWXuglRgPCUaUC6\nVeT+Hpp3g5Sq6RMtNXZ9xqdGKgv+c32zz9DGEyl1gT1/4SQXSCq/ukaXMHB8\njFdVCGlg2jSl/e0SiaHIzqL3/SnLjBIYc5BgvPB9C3XEVBGFHxaEBp7KUyBE\nH6V/zmprWFJHXSmB3oouzgW5vS+GLJlbGCcEmkvpEMaDPm9xMHuM8MPDA4cq\nzvYYQAYFyBMtl9uEE2c7IFX4MlaHMozpf6/uY7+XSKBNW2Xs5meqDx3rNW+p\nwdHuvsM8P6A5MBas/kuEtwXBmRE1Qvwnd25kFW7ZXZJ9EeRbZ6mr4vkjyECP\nVGFUx9B8b7fuL4/z6PyawkkNQz5p2NpgSx8+qZ+N1AeRoGJ+2pPESBWjcF2O\nc/qK\r\n=cgE7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"# AWS DynamoDB Adapter\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/cRg0uvm.png\" alt=\"AWS Dynamodb + NextAuth.js\">\n</p>\n\n## Initial Setup\n\nYou need a table with as partition key `pk` and as sort key `sk`. Your table also need a global secondary index names `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\n## Config\n\nYou need to pass aws-sdk to the adapter in addition to the tablename.\n\n```JAVASCRIPT\n// /pages/api/auth/[...nextauth].js\n\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter({\n    AWS,\n    tableName: \"next-auth-test\",\n  }),\n  ...\n});\n\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respect the single table strucuture. This has many advantages :\n\n- Only one table to manage, monitor and provisioned\n- Querying relation is faster than with multi table schema (if you want to retreive all sessions from an user for example)\n- Only one table need to be replicated if you want to be multi-regions\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"Table schema\">\n</p>\n","gitHead":"54db0f08aa1b74927b3c4804e65790f5d1a71339","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.3.1-pr.90.157_1621205536002_0.5486507755789616","host":"s3://npm-registry-packages"}},"0.3.1-pr.90.158":{"name":"@next-auth/dynamodb-adapter","version":"0.3.1-pr.90.158","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.3.1-pr.90.158","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"20b14601ba53653efbe3247824220dd0166feb25","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.3.1-pr.90.158.tgz","fileCount":5,"integrity":"sha512-tg0l9rCQ8fz5RCnIYbMxTzQINrarr5k23ZMuX8EhEDBcUZfe0zNq1ahe6BlhWQhsBmNqfeZNgexUCfDSVjpdJg==","signatures":[{"sig":"MEUCIFkeD4Q6PkbVARn3bpD179fQ5UhxzWBQD2UHSBwNiLbKAiEA7fuMivC2GvkuF+l3rsOoO2vfWvVJRlMIFm3DbXeCzYI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22010,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgoaMECRA9TVsSAnZWagAAhwgQAJWAuTSnv1JSBABSxnJq\neW+R2TJreGMY1+6VRc/b2Q0uS68W5wsH9/+GWz+dSqEFUSvfO+3Rd7x5YAGt\nhsFb7EjNnM4v0eU5eSiitfVFGgjQbynQUvSxI1NdUfgoFGwx6H4stAjjWssV\n5xb9cnAwf7bqsoO0O2DOQLDF5uHJorD6wMjJFth/iKhBAHNf7n5UY+RFGfcS\nojPyHvYtlkxSqkSSu67VgwsmyEwF3SueAU33+1ghRt/qr1tm1EuIz33Dgue0\nUtZz9FhA85m0ss7mmfjc0JW4cCu2aeTk5/zANhPwJRCgW1emcA5+IiIAX4Px\n1Z5Gs5v/12lvkPI2dWKwLxYcg62ngKwrYZIxMClP0Pk6JHcWZWivyXENru8L\nbCJ/vzbO5CXrqpY46jbC37P6/IzRMcAmOBECt3YfCAAaLAMmnXe7CuR/EXcM\nGbqAlrb6BPosQqL+hGlaqFHdA0tGovr7cQk2gikmsUB9I/ADewdX3b0bg98d\nGgACyrI7Fma9XpiXN7+VWIB7AyIJqV+PHRBLG91MGx+RUtiFbvTbD7H6Eenp\n0JIJOAEsLVMqzDX7ELCWrAQSwUJj2bgOuMk+X1oqDDIkvSp1fELwvrYAqeEq\nlvet4AO6WgBMGd2uXXbNuK23KclMH8ZuC5WBGIAEB07aCbme+cZB0maZyfhN\nZyQc\r\n=9N3p\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"# AWS DynamoDB Adapter\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/cRg0uvm.png\" alt=\"AWS Dynamodb + NextAuth.js\">\n</p>\n\n## Initial Setup\n\nYou need a table with as partition key `pk` and as sort key `sk`. Your table also need a global secondary index names `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\n## Config\n\nYou need to pass aws-sdk to the adapter in addition to the tablename.\n\n```JAVASCRIPT\n// /pages/api/auth/[...nextauth].js\n\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter({\n    AWS,\n    tableName: \"next-auth-test\",\n  }),\n  ...\n});\n\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respect the single table strucuture. This has many advantages :\n\n- Only one table to manage, monitor and provisioned\n- Querying relation is faster than with multi table schema (if you want to retreive all sessions from an user for example)\n- Only one table need to be replicated if you want to be multi-regions\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"Table schema\">\n</p>\n","gitHead":"93343916d8829996f527c4d35414d8101224f41d","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.3.1-pr.90.158_1621205764272_0.4090387020759596","host":"s3://npm-registry-packages"}},"0.3.1-pr.90.159":{"name":"@next-auth/dynamodb-adapter","version":"0.3.1-pr.90.159","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.3.1-pr.90.159","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"6d3cb7d64683a28e7e7a04145b42061867e3d08a","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.3.1-pr.90.159.tgz","fileCount":5,"integrity":"sha512-8tsRKrn8yDxwcEG1ioSgieoWWNUdUCpoAuKp1QuPYxbr/aSN7zBIQC4LhqBydnhNweeLeQiaDWspXnKPYG4szg==","signatures":[{"sig":"MEUCIEwj5bLQUTBLAJy7pWejoAsSZSfB4e8hFpUWoUe4c3G9AiEAqcRKVV1wIIMKGkU9FoUPs50b6FE5j5oOQeiHN8TFw8A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22010,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgoaPrCRA9TVsSAnZWagAA8y8P/RpusFPsCSPvf+BVNTob\n8Z+Pui8apYv+wRSTiqroDOKDu5u41OerlIXXj0rkENhH0oQq0qIfkBuJI+1e\nlsuW2qJ4D79vcBUBKTb1lyexoheHewYBA6+HvWgT1bkNoWeEJs0wRpCZ/DmC\nahcHbabo0ca+Z0mDCWywbquo8xqccfhLG5tw85PjQdaXAj3kvUxhh45fBuj1\neFl3kNx5l/BgoJUQhcn/VfcbGxM3iSIETIizp3GMPIcT3T/VvzcbnhLwL+B1\nrlXrBj4835xbLwJkOX3VP4HkHKMNkWBJziOed9hs3lB1o7xcwhGXyqtOI5+E\nAKbQHasIOf8r5K8pD8Pu9J4rZFFh9lWcg47MBxC/V7AAd+DE8ebLB8TZFihN\nR5Kh+1/JmeeDX5wLab9LfjUxjd9IKK4WYoGQtvazvg4132e48Pi4CGHv3ZX0\nrhXONx8ZWF3Q42FtRHm7UEZk7fleaKxe4Q6Ekb1hpP7idJ3g0nt1qW6czq0k\nhrlVUz1uPLNQ+mUXgOUB7CSexUI5yDxx/iClVeIqAYf8AxKoGs3CJTga6pM2\nITNdF5ovKlyaNGz2L7+SLE81G+0FPo10JPM3Kc9vw9wiFk+qx7lXhKQFsq7T\nmOacWMz+d/DbRtwjGuqYWIXiTz3z1LqgoZDQCtaMiiGJ4I64Xu4KUVL5vWMB\ncerk\r\n=GicG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"# AWS DynamoDB Adapter\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/cRg0uvm.png\" alt=\"AWS Dynamodb + NextAuth.js\">\n</p>\n\n## Initial Setup\n\nYou need a table with as partition key `pk` and as sort key `sk`. Your table also need a global secondary index names `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\n## Config\n\nYou need to pass aws-sdk to the adapter in addition to the tablename.\n\n```JAVASCRIPT\n// /pages/api/auth/[...nextauth].js\n\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter({\n    AWS,\n    tableName: \"next-auth-test\",\n  }),\n  ...\n});\n\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respect the single table strucuture. This has many advantages :\n\n- Only one table to manage, monitor and provisioned\n- Querying relation is faster than with multi table schema (if you want to retreive all sessions from an user for example)\n- Only one table need to be replicated if you want to be multi-regions\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"Table schema\">\n</p>\n","gitHead":"e394f1f483aa1eb48e7771af60479c5a10410d85","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.3.1-pr.90.159_1621205994862_0.271628292484442","host":"s3://npm-registry-packages"}},"0.3.1-pr.90.160":{"name":"@next-auth/dynamodb-adapter","version":"0.3.1-pr.90.160","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.3.1-pr.90.160","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"861ada86977b311913649be487a7b5a2f8e758a1","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.3.1-pr.90.160.tgz","fileCount":5,"integrity":"sha512-CIhGN3JIk94Mh5AdI1wFl7WGz/4ccJ2x/RnP3py+pUWISze4jRJrDbxIGGKzrf+C0Wy/djbs0mgfLVWvX20Nsw==","signatures":[{"sig":"MEQCIGfw3ycncn013NV8r/e+X8x17wKx8YtVQdIYsUc0dCepAiBOGmdm68UOkS1lNbTn/NOtNFTqN/l96+cY0JMsnQiuHg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22010,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgowHZCRA9TVsSAnZWagAADwcQAJblkdjO+2sAIaHxNmAJ\nkzBjvyuAR5gW/ROeGlr8qF2x7VFdaoy8298IiBdWxHA9Iz0OA8vuRH4mb7Op\nw06RQFGiav95Ip+yUDrT0U39NEupdZay/juRr+5T9A+hzlzy+y8lHRQa4xg2\nK7flvWN+GQBKawIOftpj2A4Q0nElE6L+yWI4j2FcOtl3D03dhgG4p+PCWWEt\nucK/2KICUaHo4UBamy2poj2qbXmDpWvHZx76dX1lD0TVXS3sh2THOfTtHs+5\nSVCVVIEUrKetlbUR6+7Je1Yygnnp4NEWkdvKVN2jfRTvQJqMa/oAed3PjHMw\nwBS+tH7YcP1tfqRJza/ycUuHgoKL8GXs8iv5as5BBaPz5zfoeBRsQrTTAaND\nKN023F5gFI3lYQAjlQUgHGt8bf3lnfd8VYb3vfxrqKQeE1zSXbxCDigLb5aN\nhORpWg2yFHpOLD914J7SKtFji0H2Cbd0rugdPhz4GpbMN3ya+4B3B9LimCx6\nC8Q5FzFJG7w/abqdUdFDLazaAxn/wwhEFngJVln/SotxsJ25B/Jo1U3ISmPg\n8rCAO56VrBRIafnGhQ+5M1epFTGf4bqXrOQ1F8mAAOS/tmADCQNRYAHjH/Zj\ncOhcSitcX4zn01KhA2djnBbTQW9WJfmTpBAFLGB5UtRUKXtl0f60NUPFirq/\n6obo\r\n=tUdA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"# AWS DynamoDB Adapter\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/cRg0uvm.png\" alt=\"AWS Dynamodb + NextAuth.js\">\n</p>\n\n## Initial Setup\n\nYou need a table with as partition key `pk` and as sort key `sk`. Your table also need a global secondary index names `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\n## Config\n\nYou need to pass aws-sdk to the adapter in addition to the tablename.\n\n```JAVASCRIPT\n// /pages/api/auth/[...nextauth].js\n\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter({\n    AWS,\n    tableName: \"next-auth-test\",\n  }),\n  ...\n});\n\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respect the single table strucuture. This has many advantages :\n\n- Only one table to manage, monitor and provisioned\n- Querying relation is faster than with multi table schema (if you want to retreive all sessions from an user for example)\n- Only one table need to be replicated if you want to be multi-regions\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"Table schema\">\n</p>\n","gitHead":"0b1fd0f167e16ed72b794f829ff52c77e3e8c704","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.3.1-pr.90.160_1621295576500_0.014343140918525066","host":"s3://npm-registry-packages"}},"0.3.1-pr.90.161":{"name":"@next-auth/dynamodb-adapter","version":"0.3.1-pr.90.161","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.3.1-pr.90.161","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"ac3fbb639f5e6994c6a3731490c8766b9bee6d82","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.3.1-pr.90.161.tgz","fileCount":5,"integrity":"sha512-BWptY+bmRKloFvzcvneAC/K1eCuIVJpnJ7LjjwwYp0YC5+WuUEzWyRP5nNVL3AiJNOmCchn6BnWSkA+vd4sqEg==","signatures":[{"sig":"MEUCIB5KX4soDmGZi+8fGYZn9Z3JcggMnGzorWVVm93BWCK7AiEAiRL/YRXG5gu1e5E5qikBoSlt6kurd0otFWqpScaxOr4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22010,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgowMPCRA9TVsSAnZWagAAkjUP+gPrxNoLLDESL48xJc3L\nTlEUG+DRzEw+BFGEPrut26vuTSaAAQBXCOzEm+N/+7pItoxznUJIjJwdR8PF\nG09LudPbTDACm3f8vNAK3K0Ec0WN6DXjv1zLYgv2E+bKk5OR/gsxJuO7Qtls\nKMnqRuTPZKXeEZsKdDb/dPc0++hf85R/shVlcCYdZpuFljuC4Nr3blG/ragb\n00808nAPHMA5MrmlX1dmDYJvp1OILKo390Kl8876anhsNNNHbgoOzGo1ZJM9\no85gO89jk0DSVmSicyBJ2ljYyZLGMnoZNBGKPltUb/E9yXVj4KXIS5vZORvY\nAdaEgqf9/0LP72LYH3nf/4kHODrpEs2JsPczrZssE88yeM900iM09G60RBp+\nMCEOOM93RdtnAADPQVokvaUvDG31xnRwbhNR/EZENS1JIeCExsMzFBeL23FG\nBksIKADtOtyvTSp3D4k1Fm7qVblpSJDncg3nZel3Dfftb+shl7JLCc6IYaWu\nVyflmCq64rDzH5DNk+oofe83+Rszub04sftwOks/QuSYCW1qAU71xnb6F6wO\np3WrUjPxRcpA5a8MFPKepLd5Voi0d28DpjHpnnHLCNjapKH7cSBKfBv7ccb8\nOCT1iTdvuGOPzSQoKR8xGeXmE9AZ+gfO1xGHZebfvbU9dlu0Rt0u9xLNy608\nZewC\r\n=XU8V\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"# AWS DynamoDB Adapter\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/cRg0uvm.png\" alt=\"AWS Dynamodb + NextAuth.js\">\n</p>\n\n## Initial Setup\n\nYou need a table with as partition key `pk` and as sort key `sk`. Your table also need a global secondary index names `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\n## Config\n\nYou need to pass aws-sdk to the adapter in addition to the tablename.\n\n```JAVASCRIPT\n// /pages/api/auth/[...nextauth].js\n\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter({\n    AWS,\n    tableName: \"next-auth-test\",\n  }),\n  ...\n});\n\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respect the single table strucuture. This has many advantages :\n\n- Only one table to manage, monitor and provisioned\n- Querying relation is faster than with multi table schema (if you want to retreive all sessions from an user for example)\n- Only one table need to be replicated if you want to be multi-regions\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"Table schema\">\n</p>\n","gitHead":"99672fd6f0f944908c23dbabf72cb42229930f21","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.3.1-pr.90.161_1621295887103_0.5566462598451578","host":"s3://npm-registry-packages"}},"0.3.1-pr.90.162":{"name":"@next-auth/dynamodb-adapter","version":"0.3.1-pr.90.162","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.3.1-pr.90.162","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"08ea37d435ace8c435e976217f44c5bb3fd06862","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.3.1-pr.90.162.tgz","fileCount":5,"integrity":"sha512-jkuoZWHUbpwjQZELFcZoyI9XqWRhMjxUtAH/ENnThahPasf5/KeBtUem/BDQgP2X+AWEyNes33jtjmJYtwJmCw==","signatures":[{"sig":"MEQCIAZ0ehmNLt8cG5VCPgl4kXZ4JXX1izrlDxoV+I005i3bAiAeTTmhaZMMO66cRGudnHTcX4+Viozs97GilAIrC66Ciw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22010,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpD7YCRA9TVsSAnZWagAAlIYP/RwZ0x5UUQ9b4Pa1J+S1\nzyhSAs1ZyW7FdCwmBFibLC0yIXtu4LkI8a6LhWWdnfQxSNDyAz62+Efk4qmB\nNmFfoCh6Y55cTkoi6jsoNO6pGVvYmOukaTnPy1YKKHyeW8+glU9Ma8v5e/QW\nuQY4cki2eS0ASO6Uv5kgsPy/0jR6Cbd5FquwJIilgz9UCKm6PdN329pFDtDy\n2M2p7QC6S/KbfNhl8tSkAR2i7L5va2FBd4FJCNjnIjOESylhSjbI5myslB8r\nNfWAEPoOdfeRCH7753+m74DUpxRPD6cIZ8jXVbeVkCibHACZYQAyVcOThsW1\nmrVQRAcOBloElQx///PAe/VLltGj4gOk5G18GxvpZ5kT6zv1kcA4NGzJX46X\ni4P6FqG8kj4JVYubwlXWmJzXq6E03+ImunSuWeoNctVk53cIALHfXPvSdr6W\nvZ+vWiYkrOolDADz/AlXn67Rv6luSBiExYMwxzdSfWhDo2L+BFCM2siszoyQ\nFd5EUeoTHdVOj/MuaH24XpxoLzeYtlXnGW4bFLwj0MXvD2hwPUI0Gvvee9St\ntLZFpn/jwTdouzSLVd1UJ1PSM9+80Au1fB3bebVEl32rTDlzVNY0xzgyuOPF\nyNYYtxpT/9isz3H5pS3xNgmLHx1CBQoaesxBv6WMesbHoCqdcS1eOyZN1kBH\nWJt/\r\n=Wvxm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"# AWS DynamoDB Adapter\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/cRg0uvm.png\" alt=\"AWS Dynamodb + NextAuth.js\">\n</p>\n\n## Initial Setup\n\nYou need a table with as partition key `pk` and as sort key `sk`. Your table also need a global secondary index names `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\n## Config\n\nYou need to pass aws-sdk to the adapter in addition to the tablename.\n\n```JAVASCRIPT\n// /pages/api/auth/[...nextauth].js\n\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter({\n    AWS,\n    tableName: \"next-auth-test\",\n  }),\n  ...\n});\n\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respect the single table strucuture. This has many advantages :\n\n- Only one table to manage, monitor and provisioned\n- Querying relation is faster than with multi table schema (if you want to retreive all sessions from an user for example)\n- Only one table need to be replicated if you want to be multi-regions\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"Table schema\">\n</p>\n","gitHead":"b371977230eca925abd084e753cc6dff7ddc44d0","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.3.1-pr.90.162_1621376727867_0.6223532764073665","host":"s3://npm-registry-packages"}},"0.3.1-pr.90.169":{"name":"@next-auth/dynamodb-adapter","version":"0.3.1-pr.90.169","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.3.1-pr.90.169","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"b5ff73e72ca4856e8dc4474608817318050fe803","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.3.1-pr.90.169.tgz","fileCount":5,"integrity":"sha512-Olc1yY2uOC8z3XNwt3zUewcb76FqbjK1t/woCwTaFlMTaz161LW2Hvd0MDc0egsYr8bA0SMhXEsFWxMpNEpkrg==","signatures":[{"sig":"MEYCIQCyBCsf81DJh2pQOMeg4G4x/Gy4Kmfe82THtwTARLn9LgIhAN87uj5fTnUQsx8VNYV9d3BaP/cU8uRya/O/bLbC+p4m","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22010,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgprbgCRA9TVsSAnZWagAAV0kP/1wHaXmlKixY2cE7IhjH\nx0wHvJcIP1v/wZn1JdQlX1vjbTQ/vlQxvgCwGSKoxeEN0vzN0y6L1hPh4Rtu\nnR2MW3Ill8Yd1EmtcjznPnA+SKhZyjJuNQqHE0mJbAzQkb/vpFX69sBZ+xWG\nZL8FTi2eGR0ibHX/afZwYwcpR8RCPtU0lp7Wm6IMPNlwNsZAf41ur1SL6MD1\nfH6TwlCmIImwU1pTaYlgs7hMFGI3nbCPcc/lNVFH1aakbAtdMhGsxgsE/PyQ\nWoAKKIFQAw7+d2RfhqborFpEKSGOytcsfVwFEmxH0cssigEB11xaYy6ek0Wh\nFy3v+PDgS6+Z9IpZubNcpHTBxGrEkwc7UuZyfBv2l7VzZIXEBpjcHGmKvrxV\nScPhf7ScI4EzhFNUVBeKriKiO0hdWBvKg1upr/JOIttGzESVcscAWKFYyuIG\nTLMrKwi/bAG7kB+sVyGPGjFDyZHpWAZ5RXdDT3wop3c5H4R4DmxPd57aiUQu\n8Ce5nV18OkOT5y5yuzS8LEFBO90VVN+d2Tg3w9pYjRY5Ey7Zoe5dDR3gqVsa\nw4A+IaMQrNcgUcMNpTGsK1EUR4VX4G+PLdroI3nCcjiuHCl7N87COsR/NBx3\nUnQfQwzrH6ELmqPTDCfHv9FV6A37rgbqCAt8+NzyzLLa2tXAq9cSr3NN+/gs\n0X4j\r\n=b586\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"# AWS DynamoDB Adapter\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/cRg0uvm.png\" alt=\"AWS Dynamodb + NextAuth.js\">\n</p>\n\n## Initial Setup\n\nYou need a table with as partition key `pk` and as sort key `sk`. Your table also need a global secondary index names `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\n## Config\n\nYou need to pass aws-sdk to the adapter in addition to the tablename.\n\n```JAVASCRIPT\n// /pages/api/auth/[...nextauth].js\n\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter({\n    AWS,\n    tableName: \"next-auth-test\",\n  }),\n  ...\n});\n\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respect the single table strucuture. This has many advantages :\n\n- Only one table to manage, monitor and provisioned\n- Querying relation is faster than with multi table schema (if you want to retreive all sessions from an user for example)\n- Only one table need to be replicated if you want to be multi-regions\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"Table schema\">\n</p>\n","gitHead":"c1b444efcb886fecab99e9aeb4d6bf1aaa0b523c","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.3.1-pr.90.169_1621538528246_0.23374162698008116","host":"s3://npm-registry-packages"}},"0.3.1-pr.97.150":{"name":"@next-auth/dynamodb-adapter","version":"0.3.1-pr.97.150","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.3.1-pr.97.150","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"a1ae31502eb0c618e88d1f99fc599892f350ea3d","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.3.1-pr.97.150.tgz","fileCount":5,"integrity":"sha512-ZmbGO1fg4wvdXHBcLMVTbBsaXY4Fg5e/diw9WXiTlkZjwI9ADTs/wQOv1vnioJ4vGFL7O2Dz6lEHlT8YN5gQlQ==","signatures":[{"sig":"MEQCIDc/r058kUjJt315TTUYWkViLoltjnWFe2CU1UZx3xXAAiBd5wd3UyHw+hGSxG4ryc+eUjnUyRUyKQW7O4MlcldnTg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23249,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgqq2GCRA9TVsSAnZWagAA8DoP/03ViZ0cAL6jBDlbSBat\nwSyqV+RqMUeLjxDsuw2uZAqS4SosqRZp/91F7Tz2DrtMtECl9qqHBjvCtXFX\nUdrjSiNC+DQh2CCk25aih7QYK0vqyoA9CJ3tqnGi/WIX61GO1FpfIHXEVAAw\n9y0GlDvvZg0AYhfj6125SySCXsOuv2CzJc0NeHpSdOpmlWqt70xp8qgeBujr\nLxKTlk6CELkSc5nMFRaZeSdct9eTt/boGjq2U489p8xQhAEI26/scSPYPm0k\n2bVd7g2zEQw4ACpMFmm4aUXtqw6/sIph52gxIlhET73ODzdvw0QvEYxA8QGW\n3hxM8Pf7WBehHTwWiMepnBREuOSQv/nPCQ6ORtQrBcJe3aqQrMXMN6Ispwln\n5GkZCdYOVIFZBcOCim+2qkeMFLdLZ9TKRTVA43r1UCm7GxI8XO6ejlN+y4oA\nFt4nDUPQbqbWOjMo8aEwgQu0mKS6beDeIhnQDTbh6A8vYhIfb9O2Nt5XaGDc\n4R4AlKCnyMfNszkoe5wAezL9VBUwiY9REy6VJMTi+0acfqx6BjCyWy4f0PT1\n8HdmRq1OanowJrZBkk1jahatEYVAunaMhFUJG6Pip/B6Ki568lUm2Q+DPY/o\nGwOyBN7iLxI0kaXbgc4Uhx4FD6BXPWgjd3o8WJn4g0cyqYYOrJBiBVAdejnD\nZeMD\r\n=B+p7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n   <br/>\n   <a href=\"https://next-auth.js.org\" target=\"_blank\"><img height=\"64px\" src=\"https://next-auth.js.org/img/logo/logo-sm.png\" /><img style=\"margin-left: 16px\" height=\"64px\" src=\"./logo.png\" /></a>\n   <h3 align=\"center\"><b>DynamoDB Adapter</b> - NextAuth.js</h3>\n   <p align=\"center\">\n   Open Source. Full Stack. Own Your Data.\n   </p>\n   <p align=\"center\" style=\"align: center;\">\n      <img src=\"https://github.com/nextauthjs/adapters/actions/workflows/canary.yml/badge.svg\" alt=\"Build Test\" />\n      <img src=\"https://img.shields.io/bundlephobia/minzip/@next-auth/dynamodb-adapter\" alt=\"Bundle Size\"/>\n      <img src=\"https://img.shields.io/npm/v/@next-auth/dynamodb-adapter\" alt=\"@next-auth/dynamodb-adapter Version\" />\n   </p>\n</p>\n\n## Overview\n\nThis is the AWS DynamoDB Adapter for next-auth. This package can only be used in conjunction with the primary next-auth package. It is not a standalone package.\n\nYou need a table with a partition key `pk` and a sort key `sk`. Your table also needs a global secondary index named `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\nYou can find the full schema in the table structure section below.\n\n## Getting Started\n\n1. Install `next-auth` and `@next-auth/dynamodb-adapter`\n\n```js\nnpm install next-auth @next-auth/dynamodb-adapter\n```\n\n2. Add this adapter to your `pages/api/[...nextauth].js` next-auth configuration object.\n\nYou need to pass `aws-sdk` to the adapter in addition to the table name.\n\n```js\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter({\n    AWS,\n    tableName: \"next-auth-test\",\n  }),\n  ...\n});\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respects the single table design pattern. This has many advantages:\n\n- Only one table to manage, monitor and provision.\n- Querying relations is faster than with multi-table schemas (for eg. retreiving all sessions for a user).\n- Only one table needs to be replicated, if you want to go multi-region.\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"\">\n</p>\n\n## Contributing\n\nWe're open to all community contributions! If you'd like to contribute in any way, please first read our [Contributing Guide](https://github.com/nextauthjs/adapters/blob/canary/CONTRIBUTING.md).\n\n## License\n\nISC\n","gitHead":"484feb2999bce962731da558673be3d0bda8a519","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.3.1-pr.97.150_1621798277947_0.14675061878204598","host":"s3://npm-registry-packages"}},"0.3.1-pr.97.151":{"name":"@next-auth/dynamodb-adapter","version":"0.3.1-pr.97.151","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.3.1-pr.97.151","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"99d754ecf1ae62ccc47c28e0e3143459059f755c","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.3.1-pr.97.151.tgz","fileCount":5,"integrity":"sha512-d6SagLrnwNkcrQYehfj34Y5Zfy33gP4n4p8dJzyR3szXna2203NuLm0qebyCHa/wHoK4Y5u+I2WLZOlARXmYzg==","signatures":[{"sig":"MEUCIQDoC4hKZ+yi0s+dVi2qO3iRdY0ydx8X4OGHaz6eo/ooFwIgG968Zpb/2mckRGFBiucHVVe+5J1yoK+e32tdO60A4s0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23247,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgqq6RCRA9TVsSAnZWagAAJNoP/AwaJgp+7hsFSh1qemOw\nslZFHN7DEGHVCH8PPVFSEDdUVKzuArqLqBHP8jlut7E3tUmQdQXPj2FwROiL\nl2ZRe+K4N91u+YcN6HhabQUUwUAIUuEgfxQz77mKC1OzmVei6IhD890FDYWi\nZpwtGhEkL8JkE6NELu4VlYsRtb+O563c/tdjTYkSG5kCSn4wMuzap2vwcWNE\ndT9kpi5CLc2nn07JwH/uFAdLI6p9flnjnmcFXXIQDJqPqX4j/vI6ClDqnjcI\n84v3xv7GOmoZJSzVjdfFbSQGrEQfyv9WRfH0rsf8b//4IE9kMvU/Lze5K6yK\nyPKgSl2YTyYtJEUupVMlbh9TrvlkRU0R8KDq5ERvlMQOrBtHnTPTKI2dvBgS\nSoh8UhRVeJpVehYW1vM4m/MWUZQwmpexy+1nGdF9kUFXCFjr1YS+d2xHA9qQ\ntrtFMtBX7kGWMQVJUKip89Pg3aw17L/Qac7+23tK4yMQov4/61PvQZefKlYw\nqX9jfKn6yMukyXcluScccq3N4L4zAZZSUrjTQGpfItxcg8TvxNnAb6oUB69t\nKtRoOij5XD9znKviVOmClRn9FxjNlraPMf4RUDl0x0GXmavlRnEFdt49faMR\n9r15AEX/zOHR/AzhtDI5nseZFvFLyP2rL1gkaWEe+8Y5GFPcwCFh2njXpAin\nZBWh\r\n=eiSF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n   <br/>\n   <a href=\"https://next-auth.js.org\" target=\"_blank\"><img height=\"64px\" src=\"https://next-auth.js.org/img/logo/logo-sm.png\" /></a>&nbsp;&nbsp;&nbsp;&nbsp;<img height=\"64px\" src=\"./logo.png\" />\n   <h3 align=\"center\"><b>DynamoDB Adapter</b> - NextAuth.js</h3>\n   <p align=\"center\">\n   Open Source. Full Stack. Own Your Data.\n   </p>\n   <p align=\"center\" style=\"align: center;\">\n      <img src=\"https://github.com/nextauthjs/adapters/actions/workflows/canary.yml/badge.svg\" alt=\"Build Test\" />\n      <img src=\"https://img.shields.io/bundlephobia/minzip/@next-auth/dynamodb-adapter\" alt=\"Bundle Size\"/>\n      <img src=\"https://img.shields.io/npm/v/@next-auth/dynamodb-adapter\" alt=\"@next-auth/dynamodb-adapter Version\" />\n   </p>\n</p>\n\n## Overview\n\nThis is the AWS DynamoDB Adapter for next-auth. This package can only be used in conjunction with the primary next-auth package. It is not a standalone package.\n\nYou need a table with a partition key `pk` and a sort key `sk`. Your table also needs a global secondary index named `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\nYou can find the full schema in the table structure section below.\n\n## Getting Started\n\n1. Install `next-auth` and `@next-auth/dynamodb-adapter`\n\n```js\nnpm install next-auth @next-auth/dynamodb-adapter\n```\n\n2. Add this adapter to your `pages/api/[...nextauth].js` next-auth configuration object.\n\nYou need to pass `aws-sdk` to the adapter in addition to the table name.\n\n```js\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter({\n    AWS,\n    tableName: \"next-auth-test\",\n  }),\n  ...\n});\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respects the single table design pattern. This has many advantages:\n\n- Only one table to manage, monitor and provision.\n- Querying relations is faster than with multi-table schemas (for eg. retreiving all sessions for a user).\n- Only one table needs to be replicated, if you want to go multi-region.\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"\">\n</p>\n\n## Contributing\n\nWe're open to all community contributions! If you'd like to contribute in any way, please first read our [Contributing Guide](https://github.com/nextauthjs/adapters/blob/canary/CONTRIBUTING.md).\n\n## License\n\nISC\n","gitHead":"6ece4798f640a9ab1069f206e011458a8723b535","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.3.1-pr.97.151_1621798545031_0.1948976217616436","host":"s3://npm-registry-packages"}},"0.3.1-pr.97.152":{"name":"@next-auth/dynamodb-adapter","version":"0.3.1-pr.97.152","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.3.1-pr.97.152","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"d51419ec55dbcb218eba0eb64e66f92f6f264df1","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.3.1-pr.97.152.tgz","fileCount":5,"integrity":"sha512-j+j2uHP1xyLBI+IgSQbHLQkkP5vk96y2y9ZeZ2lQO7ngVD4HWleTRb/I8N8XWeQmKMPGpmlKbdtY18oHhlBKxg==","signatures":[{"sig":"MEUCIEeUU6G7dZIaaANEAFv9AgKqsks0AIVay9Z8W0yhd0J1AiEAk/2ZToDDZEgMq+/zgO7hC5TKhdUAl97oiWF3YKPAwg0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23247,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgqrAaCRA9TVsSAnZWagAAFH8P/Rdk6ahYRTRrJ6/kdf0C\nF16pJ9U5AXVij8+nPgKcJ0cMXicjbGXZ/3zFONqkfJTaI8X8tN2QtgMFVn/1\nvIAuvX95V+gtK7RuTOweVcIDhJIqx+Td5jhl8KnODfugwQAFiaz7c+hJdeGn\ntB3Qh6HJ3SKM1hWKh+NyWnV35ghQ7HqF0YSsD5vjyfrRNB7TmL3SHZFvqjRF\n2pEvieEDE/lQiDnSKqcsDwBpRvnmElkYUdo/jl1WwpNbZZEyczziQKcoP/To\nak4/pvGu1SKKPg0YvheKhxpMONokIjTO32GR5uuv9BGVNz3vLw75fcI5R9f1\nCK38zFo31HDIN4Nnf4YQ9PfgkLSGgyn3RuZp6m3dSVBqinRDV3i4n11gfPhm\nr1ngpIUk5zdh5vjkWJHyqXGxGIN2GAZjDU6n4UJHsBFwnAnEpWc90bifT1tu\nFb5qs5z/puLmGvwoLBU81SJf4jNMFsdTlKHJRMW3XfsHDVEDlVfvifoA5peK\nzydgtVjq5cxu7adv+3qhhWTeZe9VN8zT2OTlgaDlG69ZTvX+OoUrXg/fe0dF\nety158xNJukDVB1YhTvq1Uhaz9kM6a2d3ru789BAbUGe2ZkBgsKoaoZWAQL1\nsKjJeLRcngI50ZVTRW02ruR0w4BPhR5LtZmBpjVRX80ht4nCE8ldou0ZsUBu\ndo47\r\n=NhiP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n   <br/>\n   <a href=\"https://next-auth.js.org\" target=\"_blank\"><img height=\"64px\" src=\"https://next-auth.js.org/img/logo/logo-sm.png\" /></a>&nbsp;&nbsp;&nbsp;&nbsp;<img height=\"64px\" src=\"./logo.png\" />\n   <h3 align=\"center\"><b>DynamoDB Adapter</b> - NextAuth.js</h3>\n   <p align=\"center\">\n   Open Source. Full Stack. Own Your Data.\n   </p>\n   <p align=\"center\" style=\"align: center;\">\n      <img src=\"https://github.com/nextauthjs/adapters/actions/workflows/canary.yml/badge.svg\" alt=\"Build Test\" />\n      <img src=\"https://img.shields.io/bundlephobia/minzip/@next-auth/dynamodb-adapter\" alt=\"Bundle Size\"/>\n      <img src=\"https://img.shields.io/npm/v/@next-auth/dynamodb-adapter\" alt=\"@next-auth/dynamodb-adapter Version\" />\n   </p>\n</p>\n\n## Overview\n\nThis is the AWS DynamoDB Adapter for next-auth. This package can only be used in conjunction with the primary next-auth package. It is not a standalone package.\n\nYou need a table with a partition key `pk` and a sort key `sk`. Your table also needs a global secondary index named `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\nYou can find the full schema in the table structure section below.\n\n## Getting Started\n\n1. Install `next-auth` and `@next-auth/dynamodb-adapter`\n\n```js\nnpm install next-auth @next-auth/dynamodb-adapter\n```\n\n2. Add this adapter to your `pages/api/[...nextauth].js` next-auth configuration object.\n\nYou need to pass `aws-sdk` to the adapter in addition to the table name.\n\n```js\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter({\n    AWS,\n    tableName: \"next-auth-test\",\n  }),\n  ...\n});\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respects the single table design pattern. This has many advantages:\n\n- Only one table to manage, monitor and provision.\n- Querying relations is faster than with multi-table schemas (for eg. retreiving all sessions for a user).\n- Only one table needs to be replicated, if you want to go multi-region.\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"\">\n</p>\n\n## Contributing\n\nWe're open to all community contributions! If you'd like to contribute in any way, please first read our [Contributing Guide](https://github.com/nextauthjs/adapters/blob/canary/CONTRIBUTING.md).\n\n## License\n\nISC\n","gitHead":"8178ddafe0611bd3ee00119eafbea9b0d850c3cc","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.3.1-pr.97.152_1621798938284_0.7685632216526772","host":"s3://npm-registry-packages"}},"0.3.1-pr.97.154":{"name":"@next-auth/dynamodb-adapter","version":"0.3.1-pr.97.154","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.3.1-pr.97.154","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"c3dd5866894f8bf2be2b6a8d563c832258ae3a64","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.3.1-pr.97.154.tgz","fileCount":5,"integrity":"sha512-9Z4nnMtDEb1Kk26UdJluT1u1oNBJf9RFGgkJQRW3F4E9cuKBf5kV1X9fXhRlL+vMTjaypVzjsqcZm4KBlKsq+g==","signatures":[{"sig":"MEQCIElMyMQNgCqMloJ9fJoMsQGF4GUgJlPspaJ7UPsBDZvgAiB0BxZrjBnMuBGwDj71bghbrfFikQcCgFCHJ9fl3ggrGg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23247,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgqrHdCRA9TVsSAnZWagAAm8UP+wa+M7yGxvCsCJ3ckHpb\nJDydNpU/5fOvzmEyS+g4DViqTkPnhHwt5YA6RzW47aLhGEXxA8zJf9FPSZ4D\nO+oOCpU/8/zOmpLzcUx+hnrgMNolhphKalgNIbTtoivyM7BLgX+K07TUm7/4\n8ArhZICzqg3DjI//FylggkufAYlSDVZuJNjOQuibgsOsLY/WA1k833ZhtAj8\nyahDrTeLKgxn41dLWbXuPbMO9VfZro6jjhwRl+fHUrzMqktgDFplSztJIpjt\ndopK6qTNElsS7O8tgEVXXDcDSJwnytzRs4thlFK8yyPCf1cl0+LbSDBxPYJj\nYEWAbB4OFXqwP3TmI8exQgZsEZK9DKb5DzqQMLcJWooMoogL9gst+qeRbzEy\nLBNemUqBo/VFT0XZyELW9igQcBLeuLEIv37sFEFAhCetnKV96mkvnIF2ixQm\nvxxOJx40SHraHnmCJMwFubs1h7GZGIeVW1YojL0k+ydvn0wB0r96QbgPdGW1\nsZJo00ZJl0R7cxsLGwIgNnsBx+jzVu2VMDrIh35e+15DBx+OE2IkYnm6xPbL\nYYdayAjx/t/g6CTnhPMMbkoMB8QWDp3x19sbFCb5RIzGPhEZ0WEMw4J/oSYZ\n9Y5IdH90nN1MNt4B2+LEZKWE0vJYDMMOqAYthZcss97yWVRddQ73vm8q0GB1\nQdT3\r\n=ndoj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n   <br/>\n   <a href=\"https://next-auth.js.org\" target=\"_blank\"><img height=\"64px\" src=\"https://next-auth.js.org/img/logo/logo-sm.png\" /></a>&nbsp;&nbsp;&nbsp;&nbsp;<img height=\"64px\" src=\"./logo.png\" />\n   <h3 align=\"center\"><b>DynamoDB Adapter</b> - NextAuth.js</h3>\n   <p align=\"center\">\n   Open Source. Full Stack. Own Your Data.\n   </p>\n   <p align=\"center\" style=\"align: center;\">\n      <img src=\"https://github.com/nextauthjs/adapters/actions/workflows/canary.yml/badge.svg\" alt=\"Build Test\" />\n      <img src=\"https://img.shields.io/bundlephobia/minzip/@next-auth/dynamodb-adapter\" alt=\"Bundle Size\"/>\n      <img src=\"https://img.shields.io/npm/v/@next-auth/dynamodb-adapter\" alt=\"@next-auth/dynamodb-adapter Version\" />\n   </p>\n</p>\n\n## Overview\n\nThis is the AWS DynamoDB Adapter for next-auth. This package can only be used in conjunction with the primary next-auth package. It is not a standalone package.\n\nYou need a table with a partition key `pk` and a sort key `sk`. Your table also needs a global secondary index named `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\nYou can find the full schema in the table structure section below.\n\n## Getting Started\n\n1. Install `next-auth` and `@next-auth/dynamodb-adapter`\n\n```js\nnpm install next-auth @next-auth/dynamodb-adapter\n```\n\n2. Add this adapter to your `pages/api/[...nextauth].js` next-auth configuration object.\n\nYou need to pass `aws-sdk` to the adapter in addition to the table name.\n\n```js\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter({\n    AWS,\n    tableName: \"next-auth-test\",\n  }),\n  ...\n});\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respects the single table design pattern. This has many advantages:\n\n- Only one table to manage, monitor and provision.\n- Querying relations is faster than with multi-table schemas (for eg. retreiving all sessions for a user).\n- Only one table needs to be replicated, if you want to go multi-region.\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"\">\n</p>\n\n## Contributing\n\nWe're open to all community contributions! If you'd like to contribute in any way, please first read our [Contributing Guide](https://github.com/nextauthjs/adapters/blob/canary/CONTRIBUTING.md).\n\n## License\n\nISC\n","gitHead":"6a1f62c1ce546e789a6151874d8091b731dc2c17","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.3.1-pr.97.154_1621799389371_0.004927957228795021","host":"s3://npm-registry-packages"}},"0.3.1-pr.97.155":{"name":"@next-auth/dynamodb-adapter","version":"0.3.1-pr.97.155","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.3.1-pr.97.155","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"e1bb86abcd6ed74a965605081d44895ac436ead9","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.3.1-pr.97.155.tgz","fileCount":5,"integrity":"sha512-4Jmf8Gdn46LaXo/nVi3x0wmJ6G4s43H0xgC5etPRZsL4GGbwovwg7nEBLo87svpa0z6wYUPnZ8fMtGvFFPNX7g==","signatures":[{"sig":"MEQCIF7nmm058eUhLbFbgocdf3sgU97QLBF05ilO/8/XFVarAiA5TkK8CFNObQPGuQ+S8BrXsQtd6f4VZlvtazqx+Izvcw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23247,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgqrN1CRA9TVsSAnZWagAABGMQAJWQvmXRZ/AwPJGji9Ju\nxW364cj48eifv3SWKu1j3DOW2XtMadCkIu3y6dV+Rg2nRDSbIq5DxbvRKbJj\nhn55qf1aZhN/SDsuskngi62VNVtJ7mkrao8hoSNaTvmwIzf2mLOnD1MGSe4Z\nqb0gtYykUICiCXrHt7EMGnac9n+TjjWOUE7ztxXpKO472zrk05Tp7LTIpBpS\nmMvo32REU8FoVJDwjNNGjeGFERernE0sewlTRHuxd82Q3B7dljZoIxoKeA6L\n/tCP4itjtSTnfZUMCCwj/kYnwt+96p631Ba/hN2FilazImhr4hmVDXVZwp/m\nk7Uv8XHv321sR9a281Ncb7Z7GRASUA+XkaKqXS0nUWyXVR3EiLW/l6nlYVlS\ngfDoWUG9tzzLf1ZBY+emUCght/okyBCbC2hZQsgNHAJuSfzzVA5gNBKwSj14\nPBpxG1vBwMG0CH3hs0e1qpBU6pLMevf3RJqPZ2LJU6ci74qVR9yX5JPPYwk5\neE2mAkJAeJsQ0FT5w90C6RsITwPZ1Z2JmcFJ0VJftdN7wZvEIYMbBqjecgYK\nfvOP9GrWCD+JKfIHTBK5xTe7UPZTMRIvfp9rmW+JRQVcr8MlNMjd1Inkc5Vc\nJq9MfY0mIcbm4WwM7tPJkzou/gFO+Yw1ao6PA/b0Ec+Be+U/rYDstUKIoXPI\ntefY\r\n=as22\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n   <br/>\n   <a href=\"https://next-auth.js.org\" target=\"_blank\"><img height=\"64px\" src=\"https://next-auth.js.org/img/logo/logo-sm.png\" /></a>&nbsp;&nbsp;&nbsp;&nbsp;<img height=\"64px\" src=\"./logo.png\" />\n   <h3 align=\"center\"><b>DynamoDB Adapter</b> - NextAuth.js</h3>\n   <p align=\"center\">\n   Open Source. Full Stack. Own Your Data.\n   </p>\n   <p align=\"center\" style=\"align: center;\">\n      <img src=\"https://github.com/nextauthjs/adapters/actions/workflows/canary.yml/badge.svg\" alt=\"Build Test\" />\n      <img src=\"https://img.shields.io/bundlephobia/minzip/@next-auth/dynamodb-adapter\" alt=\"Bundle Size\"/>\n      <img src=\"https://img.shields.io/npm/v/@next-auth/dynamodb-adapter\" alt=\"@next-auth/dynamodb-adapter Version\" />\n   </p>\n</p>\n\n## Overview\n\nThis is the AWS DynamoDB Adapter for next-auth. This package can only be used in conjunction with the primary next-auth package. It is not a standalone package.\n\nYou need a table with a partition key `pk` and a sort key `sk`. Your table also needs a global secondary index named `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\nYou can find the full schema in the table structure section below.\n\n## Getting Started\n\n1. Install `next-auth` and `@next-auth/dynamodb-adapter`\n\n```js\nnpm install next-auth @next-auth/dynamodb-adapter\n```\n\n2. Add this adapter to your `pages/api/[...nextauth].js` next-auth configuration object.\n\nYou need to pass `aws-sdk` to the adapter in addition to the table name.\n\n```js\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter({\n    AWS,\n    tableName: \"next-auth-test\",\n  }),\n  ...\n});\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respects the single table design pattern. This has many advantages:\n\n- Only one table to manage, monitor and provision.\n- Querying relations is faster than with multi-table schemas (for eg. retreiving all sessions for a user).\n- Only one table needs to be replicated, if you want to go multi-region.\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"\">\n</p>\n\n## Contributing\n\nWe're open to all community contributions! If you'd like to contribute in any way, please first read our [Contributing Guide](https://github.com/nextauthjs/adapters/blob/canary/CONTRIBUTING.md).\n\n## License\n\nISC\n","gitHead":"5bfaba8febfe85dfde6b01c46b66c5f6fe6486fa","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.3.1-pr.97.155_1621799796851_0.950323878185994","host":"s3://npm-registry-packages"}},"0.3.1-canary.155":{"name":"@next-auth/dynamodb-adapter","version":"0.3.1-canary.155","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.3.1-canary.155","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"56c05191e33c8ba24c82a6db8fc4f65fb1061e72","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.3.1-canary.155.tgz","fileCount":5,"integrity":"sha512-/7qMoJDoekbafXyGcpu46JwssK6w7lecv0lzB4qyHtxxax8cUZnOKf+bJBv4EFEhr2aJU06l+/YmPZ0YVSX5fg==","signatures":[{"sig":"MEUCIFLfg3Csq0M5Afs3ZAYw1PMFvp9kAy0G9lQbn4KgkC61AiEAq7Xu0hMeoxemrVQSoeORPCrrPpvs1+UQBgNW/nUvJg4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23248,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgqrQUCRA9TVsSAnZWagAAkWMQAJGH73oYM2cUGb+t1ZLt\n3KnTcWKcixr07R8UJ9fm6eEuF2nJTLTJ+gg/HAPjXEphl2iNqpGYEpjJdXz3\no1XpppnPvHRTiQLIQ1AsI2/rYQX2ckEUHEMG2O9EkYTqZ0K806PRHsrwON1u\nc0Zy/65wNHrbYXPUj667uk39a9KyJ2mWDTsOByTpfTOJgrXuoHsf3LfpUoZl\nig6pY/tN4clLVwoMqZ/tztlMf02UGiT1aypsKX0S2lV8tFLXim3QCqrZIYpk\nHOm3eotYX12EGfDEyd6x42RZPAiechUP2uyFpRk0SdxYH6cdp02SRQQGyv71\nXaodzZ7CA3iO8Bh31lKRoxpHI7H0cXWdaSwjwgHrCwXfFlmCjwxFDGmQiwkj\nOzOZCZcJn1jn7BpTaLJyFUME1bqQhCRpTIWCGfsZJz/ueLyi8h+8NyEq5xL/\np3UPnfUEFzk37Munb747wCbttN55+LwPK9GWvb9EA5Y3a/SGdfQ5v5uLpkUP\nbchaWoIME086MfkeHjErnvG+IQu/eRxnDVnaNpzklFDE02IKuZS9P7EFdeyH\njhCNPVV+6cTWxyehN5AlHgnrrkKNfQeY3hOPYiuwYtY3gigTO/sQc0U5ToTX\nfgj57fHyDix8MA3oyA/1DjxZBQYjBUYLOelUJx0DjIh8i0qiBRnUmfqKSQdb\nI35A\r\n=ysaT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n   <br/>\n   <a href=\"https://next-auth.js.org\" target=\"_blank\"><img height=\"64px\" src=\"https://next-auth.js.org/img/logo/logo-sm.png\" /></a>&nbsp;&nbsp;&nbsp;&nbsp;<img height=\"64px\" src=\"./logo.png\" />\n   <h3 align=\"center\"><b>DynamoDB Adapter</b> - NextAuth.js</h3>\n   <p align=\"center\">\n   Open Source. Full Stack. Own Your Data.\n   </p>\n   <p align=\"center\" style=\"align: center;\">\n      <img src=\"https://github.com/nextauthjs/adapters/actions/workflows/canary.yml/badge.svg\" alt=\"Build Test\" />\n      <img src=\"https://img.shields.io/bundlephobia/minzip/@next-auth/dynamodb-adapter\" alt=\"Bundle Size\"/>\n      <img src=\"https://img.shields.io/npm/v/@next-auth/dynamodb-adapter\" alt=\"@next-auth/dynamodb-adapter Version\" />\n   </p>\n</p>\n\n## Overview\n\nThis is the AWS DynamoDB Adapter for next-auth. This package can only be used in conjunction with the primary next-auth package. It is not a standalone package.\n\nYou need a table with a partition key `pk` and a sort key `sk`. Your table also needs a global secondary index named `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\nYou can find the full schema in the table structure section below.\n\n## Getting Started\n\n1. Install `next-auth` and `@next-auth/dynamodb-adapter`\n\n```js\nnpm install next-auth @next-auth/dynamodb-adapter\n```\n\n2. Add this adapter to your `pages/api/[...nextauth].js` next-auth configuration object.\n\nYou need to pass `aws-sdk` to the adapter in addition to the table name.\n\n```js\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter({\n    AWS,\n    tableName: \"next-auth-test\",\n  }),\n  ...\n});\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respects the single table design pattern. This has many advantages:\n\n- Only one table to manage, monitor and provision.\n- Querying relations is faster than with multi-table schemas (for eg. retreiving all sessions for a user).\n- Only one table needs to be replicated, if you want to go multi-region.\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"\">\n</p>\n\n## Contributing\n\nWe're open to all community contributions! If you'd like to contribute in any way, please first read our [Contributing Guide](https://github.com/nextauthjs/adapters/blob/canary/CONTRIBUTING.md).\n\n## License\n\nISC\n","gitHead":"7a9b1e9c71079c899ac41440b59921f95172d375","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.3.1-canary.155_1621799955589_0.9557896260977854","host":"s3://npm-registry-packages"}},"0.3.1-canary.207":{"name":"@next-auth/dynamodb-adapter","version":"0.3.1-canary.207","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.3.1-canary.207","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"7521370352e578f0cc84cd54a05bd25600e5b670","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.3.1-canary.207.tgz","fileCount":5,"integrity":"sha512-PkhxE4UDe8Ok/p7mlxzGIiD3/ZTVxFM2uIgTcJyYKWdzl5k89sd+iGNxlvgexzLzdtMVMiOXXtNyTc0w64WZCQ==","signatures":[{"sig":"MEQCIFf2JmJ9CQrAQdziLtZMY0hjGz3jaUYqWhlAFkA+w6MxAiA0u6OUtJmi7n4Q523EOdxi/Lg6tjk7KSCDafqASDkyHQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23500,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgvjTcCRA9TVsSAnZWagAArpoP/3nwPV9xcnhw7qf5ZdpU\ntXNOeugwDzdD6wN9gPiIIHDHDgsukvr1p4FB2uL0DdCXcmQph2Isv20ADAt4\nOj/ZCGrudwmsCB1t8hYiUjBc8lY6b9vPugJPtSIcfKrfYLJJe4PXV1lb82oB\nlf9rC4uQiR0aImxvEMrmrHJEWVKenfOLTfUujmq+lWF0nPTkR2fvi+Y0z8Nz\nnFrICi8lVhYLT7Pix1kqD4evhhb8Ax2dzfuvVCt/bvNYDDOoFylvu5CqAwjY\nw8e9CZRzijYQV5+ed+0RbtxTlDkb5k3nfZlwwVybQOmuGs9RUTvDX9ZJqJqb\nNvZRXGlWrhKN87EpI8ioToN/SsSec9Qq1Fg5nkk2lAsnfvH1Zk1mrHn0vSM+\nZPixOF1wHU5e6kQdc3hiwwRFaZAWvtm4u63znAiOEsVSKQG6mfuvIaVJqXM4\nPr0U4YTN0mhcjbmFIa1nEwPOn/PuhRzNT2aO99u5rT7DyvaweAB8p+5hdd8z\nVJvkR5iNECFmNWUKoqm23nl4OAEY2TElqrVBDA058tfTLjzm60Ft8nFY3RXs\n73xd2KInlxh7qwWQYei3LEn8fkco5fz74j6yUifpFbNuh52KrqnaISxpcr5X\nWJJr0/D1aMbsdpBEwn6LalqaWIOgwyT2jt2+UcEN9zCb7vPhJkVFv1Kdfz2A\nTDAb\r\n=mSKD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n   <br/>\n   <a href=\"https://next-auth.js.org\" target=\"_blank\"><img height=\"64px\" src=\"https://next-auth.js.org/img/logo/logo-sm.png\" /></a>&nbsp;&nbsp;&nbsp;&nbsp;<img height=\"64px\" src=\"https://raw.githubusercontent.com/nextauthjs/adapters/canary/packages/dynamodb/logo.png\" />\n   <h3 align=\"center\"><b>DynamoDB Adapter</b> - NextAuth.js</h3>\n   <p align=\"center\">\n   Open Source. Full Stack. Own Your Data.\n   </p>\n   <p align=\"center\" style=\"align: center;\">\n      <img src=\"https://github.com/nextauthjs/adapters/actions/workflows/canary.yml/badge.svg\" alt=\"Build Test\" />\n      <img src=\"https://img.shields.io/bundlephobia/minzip/@next-auth/dynamodb-adapter/canary\" alt=\"Bundle Size\"/>\n      <img src=\"https://img.shields.io/npm/v/@next-auth/dynamodb-adapter/canary\" alt=\"@next-auth/dynamodb-adapter Version\" />\n   </p>\n</p>\n\n## Overview\n\nThis is the AWS DynamoDB Adapter for next-auth. This package can only be used in conjunction with the primary next-auth package. It is not a standalone package.\n\nYou need a table with a partition key `pk` and a sort key `sk`. Your table also needs a global secondary index named `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\nYou can find the DynamoDB schema in the docs at [next-auth.js.org/adapters/dynamodb](https://next-auth.js.org/adapters/dynamodb).\n\n## Getting Started\n\n1. Install `next-auth` and `@next-auth/dynamodb-adapter@canary`\n\n```js\nnpm install next-auth @next-auth/dynamodb-adapter@canary\n```\n\n2. Add this adapter to your `pages/api/[...nextauth].js` next-auth configuration object.\n\nYou need to pass `aws-sdk` to the adapter in addition to the table name.\n\n```js\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter({\n    AWS,\n    tableName: \"next-auth-test\",\n  }),\n  ...\n});\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respects the single table design pattern. This has many advantages:\n\n- Only one table to manage, monitor and provision.\n- Querying relations is faster than with multi-table schemas (for eg. retreiving all sessions for a user).\n- Only one table needs to be replicated, if you want to go multi-region.\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"\">\n</p>\n\n## Contributing\n\nWe're open to all community contributions! If you'd like to contribute in any way, please first read our [Contributing Guide](https://github.com/nextauthjs/adapters/blob/canary/CONTRIBUTING.md).\n\n## License\n\nISC\n","gitHead":"c55676f4c72517cd9cea1a29991ea84a7e92f7cd","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.3.1-canary.207_1623078107891_0.46736108076691263","host":"s3://npm-registry-packages"}},"0.4.0":{"name":"@next-auth/dynamodb-adapter","version":"0.4.0","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.4.0","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"e88072bbc1898d4e78bd9f41a4ce33026744ddbf","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.4.0.tgz","fileCount":5,"integrity":"sha512-ARJVwYSYJhriO+WWFisQ36Tg5dGRDLebPWKyQkOqTI01zRrx9WRz9M094l1XQq30JMcxHeCvjMHsHPkQjttJ2A==","signatures":[{"sig":"MEQCIHW8lxOyCpLuRtmM19qN9RD8OVI4hQcv+L0QrL8kgpgcAiBe8BEDkqNIu/RNmRl6TV93ThLtze8sjV13OYuXxHnXRg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23544,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg17B6CRA9TVsSAnZWagAAsskP/j81QW9W8nDkwDsEcMi5\nlR6c95ueejJNGumYsAPN04eS4IBkgGh5ir0ubFgcgCeLchHVPlsNublHDNX1\n1gpqYKrndpn4rJvIynrkj9y40Iu0Odql5Mw8jhlelEG9dww1j4L1kHhKRK3L\n1mqByZcSPW760U/o2Lihl2r0VMh33pqs7lOSeAoJmSQWx3vWe09thDaM93pu\n25tKe+a/44Z8rfbYf9EMA/fCuUpzfGngPWusfvF/rmuYT2Elj64g4SC8kXgW\nbg/jguap3RIDzxnTZr8nAdvO9wXRB7tojsZ+BvGJ3nlAnH4PZBKbKdqw4K7Z\nou2JerFbJRPgRret9DUp1BxP6jpG0P3i0Un2kpzb0HCHPo2GWb3wOI5aRZA8\n6qXL5tlSSe66X1v/4pXz+HylyiRnK9rc9H17vvGIs00reMi8PzpAe3ZcX/0k\nVHxp3F11gbf2l/O1A9M1GkyJYndvBy/sGqZiws3sdzot2XjwwXAbz67LHx8s\nfUcVmxAOKuJtp8OeZhPWHyDcEWFw+x0jeT94NIfa4WgyGuJZBm93sxSBT+wc\ndB3CETFmiz9sS3LaglNG3BK7Zr2gnw2kK+5x/UC/sA+KWi0Hl4npmQIheZjW\nE9M/PA7NlKQg2viKS3cocyXvR9ZFwbxRozZUvTd5t+mcLedCCVJz4Yb6W+L3\na+T4\r\n=0GVm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"1f980baaa3dec4cf5f047bb19ace8406d86e32b5","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"balazsorban","email":"info@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"14.16.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.4.0_1624748154232_0.15825899190093695","host":"s3://npm-registry-packages"}},"0.4.1-pr.147.1":{"name":"@next-auth/dynamodb-adapter","version":"0.4.1-pr.147.1","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.4.1-pr.147.1","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"8be827fe032a933df5e0d0ba8d382735e04d9e5a","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.4.1-pr.147.1.tgz","fileCount":5,"integrity":"sha512-Z/51PM1ACUlwCJcizzBNY+mToFyDkJzF6qzPtOLj1baZkhrwq34yjY72GVWo6Z1JPXMko4y9/kcDzh/5t9v1EQ==","signatures":[{"sig":"MEUCIDYfUd3EbcDlsVOqoGQgoUEEIv6XkFjpkmAWeAucDzZHAiEA5XQcl5Yv4bCg5gEp//kIwjCXc9ZIq3X504f3o2kSVoY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23621,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg17yYCRA9TVsSAnZWagAAWDYP/1OyP+ilN8YGHVpSXWup\nYOWzej15LKyEtnIVLLvcSXyEvGZpRMJoF7Pjie28WqF3FTXHq1Hna8oSsyV8\noaXZJxobfG376YmeH2l/vJsLqEYpNUNrUbEV4tLLOKs+4Yy994TbdBAUpCys\nkbQQh056iQWAf95Tcm9CgpEMNs6O4mPceZakpCdAmzfr01wwWJKUgF4NXDNM\npWzkRdPMtqChu0JfRfteMds7zKfKEA7hfPVXDyor3TqYTwUtLOYrAWWQAS8P\njzIsvAmnH0V6ezSKRjmasquhcb4h+4rInWCEPAElSeAh/296RmJGkoKpPb4d\n1I63YNpQRDP5gPvRF4blkAKPwWXg6E+ea4+tF7DjRO5p2KFQL29sJXbsbJua\ndG/3UaxD6ctvypETVrYwF6MBNrkZ8w+uwpkWTcNusdVk9aMRJQPJPZsz5dPZ\nfXjGuh1D2JVoGqG6DNpoASfma/x1WHUqwKvgtmOMJz23Hv0+F5DSKCNhd5NX\nD89gQx4IrU/TTbyEussWY47ASIOwFs4Oe3A7piRcDX+fpbNRt6TsKKbirDNJ\ngwacskyXktClGKyYSjZEVMv5cYA2j06u1vxyFHtugImFVieGMb9feYxzuIsK\noE74S643yzCP7aU+k7netBHnecqxaTXLu0PuSvIwECGWY/DaorRwpcIrdETl\nsLl9\r\n=tYyC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n   <br/>\n   <a href=\"https://next-auth.js.org\" target=\"_blank\"><img height=\"64px\" src=\"https://next-auth.js.org/img/logo/logo-sm.png\" /></a>&nbsp;&nbsp;&nbsp;&nbsp;<img height=\"64px\" src=\"https://raw.githubusercontent.com/nextauthjs/adapters/main/packages/dynamodb/logo.png\" />\n   <h3 align=\"center\"><b>DynamoDB Adapter</b> - NextAuth.js</h3>\n   <p align=\"center\">\n   Open Source. Full Stack. Own Your Data.\n   </p>\n   <p align=\"center\" style=\"align: center;\">\n      <img src=\"https://github.com/nextauthjs/adapters/actions/workflows/release.yml/badge.svg\" alt=\"Build Test\" />\n      <img src=\"https://img.shields.io/bundlephobia/minzip/@next-auth/dynamodb-adapter/latest\" alt=\"Bundle Size\"/>\n      <img src=\"https://img.shields.io/npm/v/@next-auth/dynamodb-adapter\" alt=\"@next-auth/dynamodb-adapter Version\" />\n   </p>\n</p>\n\n## Overview\n\nThis is the AWS DynamoDB Adapter for next-auth. This package can only be used in conjunction with the primary next-auth package. It is not a standalone package.\n\nYou need a table with a partition key `pk` and a sort key `sk`. Your table also needs a global secondary index named `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\nYou can find the DynamoDB schema in the docs at [next-auth.js.org/adapters/dynamodb](https://next-auth.js.org/adapters/dynamodb).\n\n## Getting Started\n\n1. Install `next-auth` and `@next-auth/dynamodb-adapter`\n\n```js\nnpm install next-auth @next-auth/dynamodb-adapter\n```\n\n2. Add this adapter to your `pages/api/[...nextauth].js` next-auth configuration object.\n\nYou need to pass `DocumentClient` instance from `aws-sdk` to the adapter.\nThe default table name is `next-auth`, but you can customise that by passing `{ tableName: 'your-table-name' }` as the second parameter in the adapter.\n\n```js\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter(\n    new AWS.DynamoDB.DocumentClient()\n  ),\n  ...\n});\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respects the single table design pattern. This has many advantages:\n\n- Only one table to manage, monitor and provision.\n- Querying relations is faster than with multi-table schemas (for eg. retreiving all sessions for a user).\n- Only one table needs to be replicated, if you want to go multi-region.\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"\">\n</p>\n\n## Contributing\n\nWe're open to all community contributions! If you'd like to contribute in any way, please first read our [Contributing Guide](https://github.com/nextauthjs/adapters/blob/main/CONTRIBUTING.md).\n\n## License\n\nISC\n","gitHead":"e427d1af9d21bec85cb57f48fbaa843a71eaf025","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.4.1-pr.147.1_1624751256403_0.261168421301603","host":"s3://npm-registry-packages"}},"0.4.1-pr.147.3":{"name":"@next-auth/dynamodb-adapter","version":"0.4.1-pr.147.3","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.4.1-pr.147.3","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"ef0facf66ac84f06da0228e609383737e581e410","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.4.1-pr.147.3.tgz","fileCount":5,"integrity":"sha512-hTPTRaTIyLEGSk/wuVZKAUp04BAPUPfNWYiwPGhzk4RF/DzvzOhqjtEjWX78HBWLcE/fGUfIvePuDf2cZzUQaA==","signatures":[{"sig":"MEUCIF6jcIp6kJhoq4MrSiw7xHZYSMNbivv3jvA7jp7mII5gAiEAxCAB6Nr1GZCRyAPv7FuNRgoGiRrwGD5SxQUVOvjJ6qs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23621,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg19OVCRA9TVsSAnZWagAAHCIP/iTp+LypOd4ucpd0k8bO\nvaxWwnv2xuqLVwHZuBdMwY1Dg4oTb8Vkq3+S/wN9ApjIqN22p+QPI2IXRgO6\nlbMCt/n4vtkqrJwAVhGrsOiT0LGEhDdGLerTPjuNxZfZ5wOK1t7rCrFlasnj\nbka67M9gQvpgOrdn4G2lMCaCywg9e9PQoVM57AzvJQ0MFgXToA81kCp0utUz\nhQ0ixdwp6o4ITACXe/zDdfc71E+ucNNckDPcnfrTWk69LJ9uMXjlupXs0RZp\nbY6283BRGGHs2I9s4Ml+P50Dt6M6lJwGgZ8p5KYnd29yH9KNgxI5XR0x0GH+\nxJmcivkwgoikGLHMKEmoEi+yD9nODbetllOQbYDRjZImG8B39xDuseWwUyZG\nSNGq05U/ZZHwlfNYRG6ntH5TiDFqnQv77kqM29B+67tLaJJ37dJSzcS5ThSj\nhskxyfrJ/AXqFJ4DXhQc8v3aQDWc6zHfIC8qoc6FiQaJ76pTKgA+ygFMaZjd\nqAg7K03CC/7blp//5FKKSPXjRHtJXiKhQO+1Xuhh2MT3PoYIqW4otCCFHlU9\nW+GHJUjO6CHipdOQOrQM2OyEsuTO1bBohjn5Vd/G6GoUE8P/N8GBUrDbq8FD\n3YrpK437suf+jpkFMDrBWFwmxKKTqEHlN4yMPkEq6u6ItZ/gENUBM7Jipnt2\nLgvO\r\n=pa30\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n   <br/>\n   <a href=\"https://next-auth.js.org\" target=\"_blank\"><img height=\"64px\" src=\"https://next-auth.js.org/img/logo/logo-sm.png\" /></a>&nbsp;&nbsp;&nbsp;&nbsp;<img height=\"64px\" src=\"https://raw.githubusercontent.com/nextauthjs/adapters/main/packages/dynamodb/logo.png\" />\n   <h3 align=\"center\"><b>DynamoDB Adapter</b> - NextAuth.js</h3>\n   <p align=\"center\">\n   Open Source. Full Stack. Own Your Data.\n   </p>\n   <p align=\"center\" style=\"align: center;\">\n      <img src=\"https://github.com/nextauthjs/adapters/actions/workflows/release.yml/badge.svg\" alt=\"Build Test\" />\n      <img src=\"https://img.shields.io/bundlephobia/minzip/@next-auth/dynamodb-adapter/latest\" alt=\"Bundle Size\"/>\n      <img src=\"https://img.shields.io/npm/v/@next-auth/dynamodb-adapter\" alt=\"@next-auth/dynamodb-adapter Version\" />\n   </p>\n</p>\n\n## Overview\n\nThis is the AWS DynamoDB Adapter for next-auth. This package can only be used in conjunction with the primary next-auth package. It is not a standalone package.\n\nYou need a table with a partition key `pk` and a sort key `sk`. Your table also needs a global secondary index named `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\nYou can find the DynamoDB schema in the docs at [next-auth.js.org/adapters/dynamodb](https://next-auth.js.org/adapters/dynamodb).\n\n## Getting Started\n\n1. Install `next-auth` and `@next-auth/dynamodb-adapter`\n\n```js\nnpm install next-auth @next-auth/dynamodb-adapter\n```\n\n2. Add this adapter to your `pages/api/[...nextauth].js` next-auth configuration object.\n\nYou need to pass `DocumentClient` instance from `aws-sdk` to the adapter.\nThe default table name is `next-auth`, but you can customise that by passing `{ tableName: 'your-table-name' }` as the second parameter in the adapter.\n\n```js\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter(\n    new AWS.DynamoDB.DocumentClient()\n  ),\n  ...\n});\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respects the single table design pattern. This has many advantages:\n\n- Only one table to manage, monitor and provision.\n- Querying relations is faster than with multi-table schemas (for eg. retreiving all sessions for a user).\n- Only one table needs to be replicated, if you want to go multi-region.\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"\">\n</p>\n\n## Contributing\n\nWe're open to all community contributions! If you'd like to contribute in any way, please first read our [Contributing Guide](https://github.com/nextauthjs/adapters/blob/main/CONTRIBUTING.md).\n\n## License\n\nISC\n","gitHead":"faecedd4e71d603c4ab63f10c850cdd1ac732ff8","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.4.1-pr.147.3_1624757141032_0.9430138101960948","host":"s3://npm-registry-packages"}},"0.4.1-pr.150.4":{"name":"@next-auth/dynamodb-adapter","version":"0.4.1-pr.150.4","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.4.1-pr.150.4","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"0a028f9fc41b94fd58f4322cd915c4bdebd74cbb","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.4.1-pr.150.4.tgz","fileCount":5,"integrity":"sha512-2CrHeMJJMdgx2cXY0H3O7/+NV0A7TKEJHZ5cOKs8AYyPqFkN6QdsrrSACoxG+s9YEq6Jq5pPH6tvxRBBU3maew==","signatures":[{"sig":"MEUCIGJ/r6WN+GKi2RpFVIrqtlc1/Y2hPRHsEjCeRixzwc/5AiEA35TL02rjgSbGocHjetoo/nawFIaf64dP575M64Lh1io=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23621,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2L0rCRA9TVsSAnZWagAA1+8P/1mkxbKoWrcfPTVxIfxz\nGXORKoktfmEVnOCOsRDifjAb9QwdoEZaiEoihYyy9DoiUztg0CqSyQ9d3CZw\nTXcLGXRtJGX2pi+tqY+nSK/hZuw3dTTgDCInIFnIYAQYIzb7Gk/5Hk0kyiji\ntj05xBvPWI5VjZhjNlXwTn6V2MA/LIKZtoLDErYyO2qX8ljVHevUKbsL0Gr9\nYWPczIV6InhcbbtzNsrDA2bo/L88o7aEE6NUZxnhqkIV8lU6m8LUcxhdivye\nlD/+KS0ylhlVWGJMVint+uhW4o2EjQpHCIZTYI8/0YYn0GzmoZGoru9CJzb3\n2tBJBqWiUBTdrYyLRaAClxrF4aBetm5UDPbCx8Zwm9TfVCVW8AEJ/dWXW8ig\n/ngUS79D+yibp0y2Y+NlNV1yGy14boJ578wVfAVaoB3YXta8pdcowmSWb4PL\nTYO8cGMzLoCaXObGY4Sm4txQjTHJYRsEZ4vfgzLLF/jCmOOrWUvDPuNj4AnX\n1icNdCAq8bocJv8S/RoaDvs4lHzJAdax1dccweEspyE9F/BNA+lq8fZCweLi\nN1x5BEd2IN5b/IBFDKENUUaB+8Io0Cl5/FolKkFU/AMtq8ZPfyk8XhM6LeOX\nAHx1YxBvR0F76B3eTDPEVq2SvbU37rS5j45zSzyuDScXxSG8ueUqjECbQw9S\no7m4\r\n=Y87h\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n   <br/>\n   <a href=\"https://next-auth.js.org\" target=\"_blank\"><img height=\"64px\" src=\"https://next-auth.js.org/img/logo/logo-sm.png\" /></a>&nbsp;&nbsp;&nbsp;&nbsp;<img height=\"64px\" src=\"https://raw.githubusercontent.com/nextauthjs/adapters/main/packages/dynamodb/logo.png\" />\n   <h3 align=\"center\"><b>DynamoDB Adapter</b> - NextAuth.js</h3>\n   <p align=\"center\">\n   Open Source. Full Stack. Own Your Data.\n   </p>\n   <p align=\"center\" style=\"align: center;\">\n      <img src=\"https://github.com/nextauthjs/adapters/actions/workflows/release.yml/badge.svg\" alt=\"Build Test\" />\n      <img src=\"https://img.shields.io/bundlephobia/minzip/@next-auth/dynamodb-adapter/latest\" alt=\"Bundle Size\"/>\n      <img src=\"https://img.shields.io/npm/v/@next-auth/dynamodb-adapter\" alt=\"@next-auth/dynamodb-adapter Version\" />\n   </p>\n</p>\n\n## Overview\n\nThis is the AWS DynamoDB Adapter for next-auth. This package can only be used in conjunction with the primary next-auth package. It is not a standalone package.\n\nYou need a table with a partition key `pk` and a sort key `sk`. Your table also needs a global secondary index named `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\nYou can find the DynamoDB schema in the docs at [next-auth.js.org/adapters/dynamodb](https://next-auth.js.org/adapters/dynamodb).\n\n## Getting Started\n\n1. Install `next-auth` and `@next-auth/dynamodb-adapter`\n\n```js\nnpm install next-auth @next-auth/dynamodb-adapter\n```\n\n2. Add this adapter to your `pages/api/[...nextauth].js` next-auth configuration object.\n\nYou need to pass `DocumentClient` instance from `aws-sdk` to the adapter.\nThe default table name is `next-auth`, but you can customise that by passing `{ tableName: 'your-table-name' }` as the second parameter in the adapter.\n\n```js\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter(\n    new AWS.DynamoDB.DocumentClient()\n  ),\n  ...\n});\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respects the single table design pattern. This has many advantages:\n\n- Only one table to manage, monitor and provision.\n- Querying relations is faster than with multi-table schemas (for eg. retreiving all sessions for a user).\n- Only one table needs to be replicated, if you want to go multi-region.\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"\">\n</p>\n\n## Contributing\n\nWe're open to all community contributions! If you'd like to contribute in any way, please first read our [Contributing Guide](https://github.com/nextauthjs/adapters/blob/main/CONTRIBUTING.md).\n\n## License\n\nISC\n","gitHead":"2cad4e8f67a95c03ef06b19a5b3b92c78f5fecc7","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.4.1-pr.150.4_1624816939185_0.9293211245685813","host":"s3://npm-registry-packages"}},"0.4.1-experimental-287d61f1a9c8050b98e6562052447ad6a9c5f711.4":{"name":"@next-auth/dynamodb-adapter","version":"0.4.1-experimental-287d61f1a9c8050b98e6562052447ad6a9c5f711.4","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.4.1-experimental-287d61f1a9c8050b98e6562052447ad6a9c5f711.4","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"4af0eafe5e3e6e2a7cda90d45bd63bb700190304","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.4.1-experimental-287d61f1a9c8050b98e6562052447ad6a9c5f711.4.tgz","fileCount":5,"integrity":"sha512-eZpRBNmEGf4mO5iyLiu0i1FXi6/NR7QO+4nhlHtMyg8ByqIWaSmHXGxy9RBM4pk3EesCeiiMM8e3/oHm3HTvLQ==","signatures":[{"sig":"MEQCICULuINdt+5njW289ZbZ+qlZqePfO7uXygAY2Cxv4x+FAiAx04lpvItA8lRh6dYGVen3QUxGdok4QdrQYMRY50+FWA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23668,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2N8NCRA9TVsSAnZWagAA2hAP/RWJi/5pylLS49JXzFSx\nC13ZNI1W2vxFjodNOP75wZL4LKC/zgy+8FVnE3WJOjtcMk6nKJc+L6XQcNSq\ng4Pgkhb/9eWKsKGLG30CRHbfYi0zY2XXZjDIpy1m8lrpiVcIUHnH92qAK3A3\n50UdYKNr3+IotKtNVtnKDet/Iv0Raa7a7wwPFJQvCuHSxxdicAgwxGUGFNyC\n8Pd/gf54W5Vrv91qv3i5+n/brS56+TjBMXqE1EjFa+l+BeAnMGg0aS4HgX31\nDVEgUF9jiliVZsr9em0sS0feFJtnAL9ZTnHa365lBTbMl4mvkw42e/c8COCq\niaWdnH3qziy2yFpRySIOcACUpE9b0midachuB1DipK6xyamG+Qm3IhJb7fdE\ns+FKgocE6rexmcWPA2gOCgIbj6ohr65GF1o4O4GQTF6ODX/aP+tAoDL7WmO7\nhZEZGY/Vtqu678awouRI8ccV5GtUiBEMz26piWwPAWQREtBMIfrmi8i5uwD1\nEqrAJIIedez0AHojVh6CCNjRfWi2nbftEQznHkLKTKslkfhfqGc21nO3dthc\n5Pk3rtTtnu88+B+nKU33TMfHqp/ZoMRYfWYQIBHQkDEDFiQBKLH+NOe3wQmv\n0v1OmLA+WpIbf3d03K7bXdCLvQFcw0OuZUGQbXglak3VJ4/cyem3HRxqiS5c\nlrrU\r\n=Wjwn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n   <br/>\n   <a href=\"https://next-auth.js.org\" target=\"_blank\"><img height=\"64px\" src=\"https://next-auth.js.org/img/logo/logo-sm.png\" /></a>&nbsp;&nbsp;&nbsp;&nbsp;<img height=\"64px\" src=\"https://raw.githubusercontent.com/nextauthjs/adapters/main/packages/dynamodb/logo.png\" />\n   <h3 align=\"center\"><b>DynamoDB Adapter</b> - NextAuth.js</h3>\n   <p align=\"center\">\n   Open Source. Full Stack. Own Your Data.\n   </p>\n   <p align=\"center\" style=\"align: center;\">\n      <img src=\"https://github.com/nextauthjs/adapters/actions/workflows/release.yml/badge.svg\" alt=\"Build Test\" />\n      <img src=\"https://img.shields.io/bundlephobia/minzip/@next-auth/dynamodb-adapter/latest\" alt=\"Bundle Size\"/>\n      <img src=\"https://img.shields.io/npm/v/@next-auth/dynamodb-adapter\" alt=\"@next-auth/dynamodb-adapter Version\" />\n   </p>\n</p>\n\n## Overview\n\nThis is the AWS DynamoDB Adapter for next-auth. This package can only be used in conjunction with the primary next-auth package. It is not a standalone package.\n\nYou need a table with a partition key `pk` and a sort key `sk`. Your table also needs a global secondary index named `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\nYou can find the DynamoDB schema in the docs at [next-auth.js.org/adapters/dynamodb](https://next-auth.js.org/adapters/dynamodb).\n\n## Getting Started\n\n1. Install `next-auth` and `@next-auth/dynamodb-adapter`\n\n```js\nnpm install next-auth @next-auth/dynamodb-adapter\n```\n\n2. Add this adapter to your `pages/api/[...nextauth].js` next-auth configuration object.\n\nYou need to pass `DocumentClient` instance from `aws-sdk` to the adapter.\nThe default table name is `next-auth`, but you can customise that by passing `{ tableName: 'your-table-name' }` as the second parameter in the adapter.\n\n```js\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter(\n    new AWS.DynamoDB.DocumentClient()\n  ),\n  ...\n});\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respects the single table design pattern. This has many advantages:\n\n- Only one table to manage, monitor and provision.\n- Querying relations is faster than with multi-table schemas (for eg. retreiving all sessions for a user).\n- Only one table needs to be replicated, if you want to go multi-region.\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"\">\n</p>\n\n## Contributing\n\nWe're open to all community contributions! If you'd like to contribute in any way, please first read our [Contributing Guide](https://github.com/nextauthjs/adapters/blob/main/CONTRIBUTING.md).\n\n## License\n\nISC\n","gitHead":"287d61f1a9c8050b98e6562052447ad6a9c5f711","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.4.1-experimental-287d61f1a9c8050b98e6562052447ad6a9c5f711.4_1624825612726_0.3648967330374342","host":"s3://npm-registry-packages"}},"0.4.1-pr.152-4decd71c.5":{"name":"@next-auth/dynamodb-adapter","version":"0.4.1-pr.152-4decd71c.5","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.4.1-pr.152-4decd71c.5","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"72f1484bfa2055fb1cf0c45cdfef13623ffeee28","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.4.1-pr.152-4decd71c.5.tgz","fileCount":5,"integrity":"sha512-cMTf/rO6LpBoPBm99RfAZJUDAxYoBDVpt/J6CaTt8qmelmxfzA8nofrIfPyeTjIOHjB0IoxSYVKVI5BmLC7OkA==","signatures":[{"sig":"MEQCIFFF4J2uEyQROxTyKzgkCwnrjs2Xr37zCwFcthIkR0tnAiBo+nPWTtS0TWvmE45iknrWLMEppyYhu4MvL7EHaXwbOw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23630,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2RhkCRA9TVsSAnZWagAA0JAP/3woSoZvd0I6oB5i36yA\nK4vaU/DXRJPWs/uRpjuomOhJYPoCxswVhLyIZr4s/RxzSWRT+16dquMKjDdL\nssolT7atEYtAIjpf/0AYU0pTwYI0NIZzhluwRyDR0tN0h0Somx2fvsjf7e4s\n5LYUXpVIXLSVKzl1q8cho/L9L9gctFDG/m0ZokMnjUbsWGd1ZILn6TqhSWyH\nfR4BBonnPxqDCUu9MUEA7soDMLPiLWEWzOYmpFV6yVq9EJb/BQvrA6aYxMQ1\njWg46wVTW74JFjDqeafZU0Qq6AHJ3ivap94i55fuau07tiEfA9sIopkdT/jG\nexwa+oEVoy+8+rLdObs4PKXU0aS+xb6h5ZyMuCV+xZVMotqOwv2br7cfnfzi\n+h3DgeYRbrdwPhA9wJchYKfmB2QBu5tfAjJlx//LKFOj1EMWObKF7osdtTCx\nyd4tubXZEULbBckKUfl9Ff8vOpkLbOW7vll7xMqr2sCLpTAfSUvnriNTT//L\nKSMKbuTb4aej7wn/1X0ImvI4LBTDZPb+dT1Qc2xG5hwc036bywd6FosF98zR\noAUtoajSwQ/PrJG15CXkP30zJkGZG+GYj+To6Lw/bbjs+1e7hAIwjIBhZAI4\nxIR4Ih2Dtzn1Jhjzeip2o4rTQJt91/I/fMwxiOVwm736RZtxaW0ORdu6pE4R\nnBku\r\n=9sHQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n   <br/>\n   <a href=\"https://next-auth.js.org\" target=\"_blank\"><img height=\"64px\" src=\"https://next-auth.js.org/img/logo/logo-sm.png\" /></a>&nbsp;&nbsp;&nbsp;&nbsp;<img height=\"64px\" src=\"https://raw.githubusercontent.com/nextauthjs/adapters/main/packages/dynamodb/logo.png\" />\n   <h3 align=\"center\"><b>DynamoDB Adapter</b> - NextAuth.js</h3>\n   <p align=\"center\">\n   Open Source. Full Stack. Own Your Data.\n   </p>\n   <p align=\"center\" style=\"align: center;\">\n      <img src=\"https://github.com/nextauthjs/adapters/actions/workflows/release.yml/badge.svg\" alt=\"Build Test\" />\n      <img src=\"https://img.shields.io/bundlephobia/minzip/@next-auth/dynamodb-adapter/latest\" alt=\"Bundle Size\"/>\n      <img src=\"https://img.shields.io/npm/v/@next-auth/dynamodb-adapter\" alt=\"@next-auth/dynamodb-adapter Version\" />\n   </p>\n</p>\n\n## Overview\n\nThis is the AWS DynamoDB Adapter for next-auth. This package can only be used in conjunction with the primary next-auth package. It is not a standalone package.\n\nYou need a table with a partition key `pk` and a sort key `sk`. Your table also needs a global secondary index named `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\nYou can find the DynamoDB schema in the docs at [next-auth.js.org/adapters/dynamodb](https://next-auth.js.org/adapters/dynamodb).\n\n## Getting Started\n\n1. Install `next-auth` and `@next-auth/dynamodb-adapter`\n\n```js\nnpm install next-auth @next-auth/dynamodb-adapter\n```\n\n2. Add this adapter to your `pages/api/[...nextauth].js` next-auth configuration object.\n\nYou need to pass `DocumentClient` instance from `aws-sdk` to the adapter.\nThe default table name is `next-auth`, but you can customise that by passing `{ tableName: 'your-table-name' }` as the second parameter in the adapter.\n\n```js\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter(\n    new AWS.DynamoDB.DocumentClient()\n  ),\n  ...\n});\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respects the single table design pattern. This has many advantages:\n\n- Only one table to manage, monitor and provision.\n- Querying relations is faster than with multi-table schemas (for eg. retreiving all sessions for a user).\n- Only one table needs to be replicated, if you want to go multi-region.\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"\">\n</p>\n\n## Contributing\n\nWe're open to all community contributions! If you'd like to contribute in any way, please first read our [Contributing Guide](https://github.com/nextauthjs/adapters/blob/main/CONTRIBUTING.md).\n\n## License\n\nISC\n","gitHead":"4decd71c9f29f426e150578cbf0e4eecd66f973a","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.4.1-pr.152-4decd71c.5_1624840291637_0.09079225216610065","host":"s3://npm-registry-packages"}},"0.4.1-pr.152-8a53cb89.5":{"name":"@next-auth/dynamodb-adapter","version":"0.4.1-pr.152-8a53cb89.5","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.4.1-pr.152-8a53cb89.5","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"ff2320c230b1462d02d2271dbdfd84c7ac2bd359","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.4.1-pr.152-8a53cb89.5.tgz","fileCount":5,"integrity":"sha512-mh7QelWEwgrHp685meL+W/7IWQJgb0SdXwDEAHx6Ry+dG12OPgfdI31qtKwDXCicby32+Del7goRBvj4ChD+mA==","signatures":[{"sig":"MEYCIQDtWNi4anNyNf/MWkq2+heo/1emRFH3iVB0ciYK3dkpZgIhANOW5GQM0ce0Qn9qp+Iu+UuS6Cz7aK8ZoP/hLmHniB1h","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23630,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2RsCCRA9TVsSAnZWagAAONMQAJus6DBpTmohEfL32jyr\nXrh8ft7IiYjJ7zj8zdhHQA2gw4agr+clk22kmyqKNRD3l6lAbd6u+0D7LCBf\nwoF7F5yXxgXnuU0yIRZ8lYRNHJ+3ibNxuZVF33IuJv2OV8nLWhX+hJsAy2Un\nZkVAqp6JkJGCd4Op45+q/XBkubCo2n+Fc7D+FWNshuMWsIvJBLq8b4FCOn20\n4R7vWLjN8Q8PPA6nqQLr4xmmeeIArIic8LBceov/W8qIs3qk+0h1tgiHxZQ0\ntgOW7b8ij2KzzAa9SDm2J9SraYeHKDCItqIo3UhNId7BxID0W1PNspituTEd\nTdnJYNqrATLMLkBPTV1MJ85UkJGqiNIS9ibyROGheoHH0ADZYzhNKKdt8seH\nDlmXFprM2+boqGMQBUtq8fwH6vYaFpa6j3BWJiveSazoge9ket2/AiPxWTEh\nQ0Be8rwV0Xlg9u036CDg4A9KFaG9cM98I93U1YK1UguRe0xiHO8es2MK0f/M\n+J9KkM7aiWOLO9zljpq3l85LED5E/Dyd86KsNh2S5mSilRzU/JXYfT3AywIC\n9ALe0jSwB/+HlHBYnICmwZBLIKolsbx0e+D57QgFZTxV8TEVp/McqlHYdC6h\nizZoor/xv12bHLcvvGvGkpiD5RfB8n0T7Fyrnwdmu5mdTMHsqzolfifycys/\nn/yd\r\n=9ifS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n   <br/>\n   <a href=\"https://next-auth.js.org\" target=\"_blank\"><img height=\"64px\" src=\"https://next-auth.js.org/img/logo/logo-sm.png\" /></a>&nbsp;&nbsp;&nbsp;&nbsp;<img height=\"64px\" src=\"https://raw.githubusercontent.com/nextauthjs/adapters/main/packages/dynamodb/logo.png\" />\n   <h3 align=\"center\"><b>DynamoDB Adapter</b> - NextAuth.js</h3>\n   <p align=\"center\">\n   Open Source. Full Stack. Own Your Data.\n   </p>\n   <p align=\"center\" style=\"align: center;\">\n      <img src=\"https://github.com/nextauthjs/adapters/actions/workflows/release.yml/badge.svg\" alt=\"Build Test\" />\n      <img src=\"https://img.shields.io/bundlephobia/minzip/@next-auth/dynamodb-adapter/latest\" alt=\"Bundle Size\"/>\n      <img src=\"https://img.shields.io/npm/v/@next-auth/dynamodb-adapter\" alt=\"@next-auth/dynamodb-adapter Version\" />\n   </p>\n</p>\n\n## Overview\n\nThis is the AWS DynamoDB Adapter for next-auth. This package can only be used in conjunction with the primary next-auth package. It is not a standalone package.\n\nYou need a table with a partition key `pk` and a sort key `sk`. Your table also needs a global secondary index named `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\nYou can find the DynamoDB schema in the docs at [next-auth.js.org/adapters/dynamodb](https://next-auth.js.org/adapters/dynamodb).\n\n## Getting Started\n\n1. Install `next-auth` and `@next-auth/dynamodb-adapter`\n\n```js\nnpm install next-auth @next-auth/dynamodb-adapter\n```\n\n2. Add this adapter to your `pages/api/[...nextauth].js` next-auth configuration object.\n\nYou need to pass `DocumentClient` instance from `aws-sdk` to the adapter.\nThe default table name is `next-auth`, but you can customise that by passing `{ tableName: 'your-table-name' }` as the second parameter in the adapter.\n\n```js\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter(\n    new AWS.DynamoDB.DocumentClient()\n  ),\n  ...\n});\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respects the single table design pattern. This has many advantages:\n\n- Only one table to manage, monitor and provision.\n- Querying relations is faster than with multi-table schemas (for eg. retreiving all sessions for a user).\n- Only one table needs to be replicated, if you want to go multi-region.\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"\">\n</p>\n\n## Contributing\n\nWe're open to all community contributions! If you'd like to contribute in any way, please first read our [Contributing Guide](https://github.com/nextauthjs/adapters/blob/main/CONTRIBUTING.md).\n\n## License\n\nISC\n","gitHead":"8a53cb895b4fbb42217cf48ea75234cc97bbcddb","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.4.1-pr.152-8a53cb89.5_1624840961877_0.8486584278323706","host":"s3://npm-registry-packages"}},"0.4.1-pr.152.5":{"name":"@next-auth/dynamodb-adapter","version":"0.4.1-pr.152.5","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.4.1-pr.152.5","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"c97f5ab18da99f4f465dedc9d49e36dfa246daa9","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.4.1-pr.152.5.tgz","fileCount":5,"integrity":"sha512-+A73IFZGHPzr5dF8RZJsHnzwc/kKRVD1uHTgPNp4NmM0J0mpr5CcVqqihul/N4P0zaT0G7PuJyH1y2z9zkyqFQ==","signatures":[{"sig":"MEUCIQDq0iph8IM3SqmsC2b4kThf+CmVoJnR3qo4qbMBEwPg+AIgCwbSEZRdnY4bZt5xZGoFh3Iv/+/Um5qih6QCit2N2Nc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23621,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2RyBCRA9TVsSAnZWagAAASMQAJ+atMFFerKtvSDQQDME\n4iU0fOCDVnZpK09/P3vEV6rKVg16M2+VVdagtuyJf0SpOoJxbn2biVsFp34T\nzfW2kKHZCLUt4kHuIGgSa6bbLcitfjWjDdR5H6tN0ws8Jg/rvQipoTq72oKP\nle1RuMWJ4O3zIV9fLmCpj6qIw9jlfmgtXnkPTM6peeqhy+FLnXeO10r/8nf1\nQPB7upi0xWRvdD8dXY5EmDxy6sDALoyIVNYbD9ZprHzxIaRM+X65czLXdgQt\nEd3kwTjkjF2khX6JGyvbNn5c+xVY8iM2rs4KjzJq4j25o9Syy61lKqpDXxFo\nhKpjN0EYJ0T/QsUwrribY8TJKrjeZTF2mKWjzYJZe1dVRaMmCrX+3GBAvdlw\nzFOFauk6Wa/SG1I1Mbtc5QG5WhnirB9iOHLWsidv31r6WsPhwaV70o/9JfL4\nOY4CJDBM5iRw8GfSS2goV2qpQfL+VP1fT7OQGvD/WIfSY7BTsuMrWhGGHaZ1\nFPdxo3jo2zGqsLD3yixRa/5l3FrOfNj0Het80l9Y1ocPY+nGl11F3vabzMiV\nNUVfJuxRe2pDz8ZFreiP1H3B8em4TlJLWYCOR4CZj8IK9t+hPynJ4vM9BqUX\nd+vdGjbLnkI1UrlII3dNNl+eYRe99IyP67r1zeONxuZQ2wVDenAEyff9ZJSC\nt923\r\n=Q4he\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n   <br/>\n   <a href=\"https://next-auth.js.org\" target=\"_blank\"><img height=\"64px\" src=\"https://next-auth.js.org/img/logo/logo-sm.png\" /></a>&nbsp;&nbsp;&nbsp;&nbsp;<img height=\"64px\" src=\"https://raw.githubusercontent.com/nextauthjs/adapters/main/packages/dynamodb/logo.png\" />\n   <h3 align=\"center\"><b>DynamoDB Adapter</b> - NextAuth.js</h3>\n   <p align=\"center\">\n   Open Source. Full Stack. Own Your Data.\n   </p>\n   <p align=\"center\" style=\"align: center;\">\n      <img src=\"https://github.com/nextauthjs/adapters/actions/workflows/release.yml/badge.svg\" alt=\"Build Test\" />\n      <img src=\"https://img.shields.io/bundlephobia/minzip/@next-auth/dynamodb-adapter/latest\" alt=\"Bundle Size\"/>\n      <img src=\"https://img.shields.io/npm/v/@next-auth/dynamodb-adapter\" alt=\"@next-auth/dynamodb-adapter Version\" />\n   </p>\n</p>\n\n## Overview\n\nThis is the AWS DynamoDB Adapter for next-auth. This package can only be used in conjunction with the primary next-auth package. It is not a standalone package.\n\nYou need a table with a partition key `pk` and a sort key `sk`. Your table also needs a global secondary index named `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\nYou can find the DynamoDB schema in the docs at [next-auth.js.org/adapters/dynamodb](https://next-auth.js.org/adapters/dynamodb).\n\n## Getting Started\n\n1. Install `next-auth` and `@next-auth/dynamodb-adapter`\n\n```js\nnpm install next-auth @next-auth/dynamodb-adapter\n```\n\n2. Add this adapter to your `pages/api/[...nextauth].js` next-auth configuration object.\n\nYou need to pass `DocumentClient` instance from `aws-sdk` to the adapter.\nThe default table name is `next-auth`, but you can customise that by passing `{ tableName: 'your-table-name' }` as the second parameter in the adapter.\n\n```js\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter(\n    new AWS.DynamoDB.DocumentClient()\n  ),\n  ...\n});\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respects the single table design pattern. This has many advantages:\n\n- Only one table to manage, monitor and provision.\n- Querying relations is faster than with multi-table schemas (for eg. retreiving all sessions for a user).\n- Only one table needs to be replicated, if you want to go multi-region.\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"\">\n</p>\n\n## Contributing\n\nWe're open to all community contributions! If you'd like to contribute in any way, please first read our [Contributing Guide](https://github.com/nextauthjs/adapters/blob/main/CONTRIBUTING.md).\n\n## License\n\nISC\n","gitHead":"03b23bed5944e16147df6bdc1d06ba87620c2a48","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.4.1-pr.152.5_1624841344730_0.34511979786045965","host":"s3://npm-registry-packages"}},"0.4.1":{"name":"@next-auth/dynamodb-adapter","version":"0.4.1","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.4.1","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"e0bda9462025dcf57afda1ea6001a032bbed5bb6","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.4.1.tgz","fileCount":3,"integrity":"sha512-0uvWJ9Lgo3gYcewJIZW4q2aFPFxlUX3Ym4TNlUNY6jaEhJe7VwS4brHJAVQMK0uqgNVna6h4bGvWZIKIeDdpyg==","signatures":[{"sig":"MEUCIG+CWp5YV0XUCWwCp/BSnFrZFGhJKy2CwofVal7lO87DAiEA+wz2ycz15kx2bPq+1DQs0NNnQ5Uty59CCMN/mhzUcRM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5144,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3ONcCRA9TVsSAnZWagAA4ZAP/130dra9C/nWfs3ZLCpf\nXrnDpkKh6zrZZ+jzvoG3gxE7sw88ZX0XVwfRjwzOYO9Jur7Gqro90XGzCvJi\nSrypR6dgCoRXCRLCCiKdmRYMbyOVOfaHFUOD/UE3zaGu61KpM3NeHJkKzjXS\npQ5Sz1HaanlBMnR7l8/xf/h0dEVOV46fjgCPB0QSDXtfvkPycwCH9ccryxys\nBKqbzFZ6DXSpsCEsiRflL99T999//Yxo3O6PEojTSZPJwZBqZNtso4NMuuZ6\nW9n3qDx/HRDhOGOvXomGY16c3x/l9hiUwy/rf5IyKP3RLZQ5cifxTWbgLIh/\ne5c5sBDsXOIxZENli8kTtbGp04Nb3QGZciD1Ib/gVsrdcw3LZrpR2DS5bw2A\niQWhyuzzR7GE9i9A7dTD9rq6AYGSz9SVuQKQVJ4AYpGsMqUkw0LDtiTEf93X\nqasCaT6hud3F0qnZ/mRHFcUFyUqYarF29XSCnV42WQWZBJGHerfM0/amav4K\nHXoJYxoOPE4Q8Fb9Bl4zrXnd+VX0/cZN1U1VIk4mKYrpkxp8RogPDXI4MiJp\nYfxHUR6CcxUGFqRCxYnS2g6sJe8rFMhfPUGnMmwA3hmp409wkTdnVaQVmGz0\nxf87X6U/gIEQWnnAMYS3r0MF59QYLLUMRN9Os4AFrpUQ5SdClQXCL30HZa7G\nt3uG\r\n=LQZH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"a42e3236fecdb2265e9f6bc3006959961f948ff6","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.4.1_1625088859913_0.30648210114015906","host":"s3://npm-registry-packages"}},"0.4.2-pr.161-a5ac75dd.3":{"name":"@next-auth/dynamodb-adapter","version":"0.4.2-pr.161-a5ac75dd.3","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.4.2-pr.161-a5ac75dd.3","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"e895e17bfc4ab91355350f44571474dca2f6f830","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.4.2-pr.161-a5ac75dd.3.tgz","fileCount":5,"integrity":"sha512-GTQWNR3V3p1ZkLR6yJhGESkrKgVz2j56qPBhyF5BWmgFHJAlKARYpKCsk4vqVp2Fx+ZQvCaj0YWNak/Cf1Jl4Q==","signatures":[{"sig":"MEUCICpIUaWcQKr601y6w1KYqTEVK7Jhh327Wsd3mi5svi9YAiEAxpUs5rCUdAEAjOyZVHrrUT9giXgzngQkyxdu7LZ8djo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23624,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3v2PCRA9TVsSAnZWagAAps0QAJaZBQoGI3YcvAl3mOQv\ncJv6GYuCI0d2m/b4npE4UxLAyrncEUC0s2KtU+f31Xyqa8Jwr3iviptHIYdP\nU8uoH475HjDKLMZbNNTVA49z9DfDLBFfTMET3kEvI9tWxjGtOKvqt2Iry8Ls\nHl9FSkU9+TfOWG0zDW0NKIlNFnq3KHsupjs335XmsT7qfaC5yLeJIH+WabB1\nnFlAJLvC8MPOvzKdqsXBHDGCQ6I2UZCQdQivGoiFjsZ/NRATufRgsL0GPP6d\nNV8AxcC+iLXK3S2Be2DpqJ5ZZfsf92FYfXcd2jVnhDmxWrxJ4/uiyyt29GBk\nuBXyJsYaM4JveFpw8mRmquPYhFIUCmnn+nSU05uJj02zzpZ1bKeQZvh2aL8V\n1OgyDGAHxWPgXpUydKA+9fVQ6UA31DEy0I/du52zZXByacitrdzoFgAdKKPP\n6YfqnffFJQhE2frKyiQcW7CT8maUe7pWYRUrkKY4z2s/6i5OfTEJT3b22mY6\nko2ANSR2JpBHEzk3ZrwhG7WgcOIPxLJ/OZRPKTwrTAp49PseWi5OB0DVQBlH\nFMeEK3rzMoi209n/+PMs0/YQ0ttt72lioU4hiYCuZJWMGWKFsZ6JFisVRKo/\nmsd44f40Vz5Iq+8be7U1wn2H2azWiUFMlXMb72FC+p2hsG8YUzdvD+E1t3iY\nBWnU\r\n=1sXj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n   <br/>\n   <a href=\"https://next-auth.js.org\" target=\"_blank\"><img height=\"64px\" src=\"https://next-auth.js.org/img/logo/logo-sm.png\" /></a>&nbsp;&nbsp;&nbsp;&nbsp;<img height=\"64px\" src=\"https://raw.githubusercontent.com/nextauthjs/adapters/main/packages/dynamodb/logo.png\" />\n   <h3 align=\"center\"><b>DynamoDB Adapter</b> - NextAuth.js</h3>\n   <p align=\"center\">\n   Open Source. Full Stack. Own Your Data.\n   </p>\n   <p align=\"center\" style=\"align: center;\">\n      <img src=\"https://github.com/nextauthjs/adapters/actions/workflows/release.yml/badge.svg\" alt=\"Build Test\" />\n      <img src=\"https://img.shields.io/bundlephobia/minzip/@next-auth/dynamodb-adapter/latest\" alt=\"Bundle Size\"/>\n      <img src=\"https://img.shields.io/npm/v/@next-auth/dynamodb-adapter\" alt=\"@next-auth/dynamodb-adapter Version\" />\n   </p>\n</p>\n\n## Overview\n\nThis is the AWS DynamoDB Adapter for next-auth. This package can only be used in conjunction with the primary next-auth package. It is not a standalone package.\n\nYou need a table with a partition key `pk` and a sort key `sk`. Your table also needs a global secondary index named `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\nYou can find the DynamoDB schema in the docs at [next-auth.js.org/adapters/dynamodb](https://next-auth.js.org/adapters/dynamodb).\n\n## Getting Started\n\n1. Install `next-auth` and `@next-auth/dynamodb-adapter`\n\n```js\nnpm install next-auth @next-auth/dynamodb-adapter\n```\n\n2. Add this adapter to your `pages/api/[...nextauth].js` next-auth configuration object.\n\nYou need to pass `DocumentClient` instance from `aws-sdk` to the adapter.\nThe default table name is `next-auth`, but you can customise that by passing `{ tableName: 'your-table-name' }` as the second parameter in the adapter.\n\n```js\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter(\n    new AWS.DynamoDB.DocumentClient()\n  ),\n  ...\n});\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respects the single table design pattern. This has many advantages:\n\n- Only one table to manage, monitor and provision.\n- Querying relations is faster than with multi-table schemas (for eg. retreiving all sessions for a user).\n- Only one table needs to be replicated, if you want to go multi-region.\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"\">\n</p>\n\n## Contributing\n\nWe're open to all community contributions! If you'd like to contribute in any way, please read our [Contributing Guide](https://github.com/nextauthjs/adapters/blob/main/CONTRIBUTING.md).\n\n## License\n\nISC\n","gitHead":"a5ac75ddae851b3edc0f7724da0c9649c84432e6","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.4.2-pr.161-a5ac75dd.3_1625226639254_0.8794271855334352","host":"s3://npm-registry-packages"}},"0.4.2-pr.161-5d16ecff.3":{"name":"@next-auth/dynamodb-adapter","version":"0.4.2-pr.161-5d16ecff.3","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.4.2-pr.161-5d16ecff.3","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"79710db99b3cec8a42bb9b8fc43734aec245bf1b","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.4.2-pr.161-5d16ecff.3.tgz","fileCount":5,"integrity":"sha512-SieCGlnQjx5PTgQ1q2vGHE5sMyQblgLiRS1CpA+8M7cNrVZ/h32SxNDFEUkx26TLXn0MgRvDVeGY9DE2dsEU4w==","signatures":[{"sig":"MEQCICZwp72//yjsm2VYn+RY/d9eiUYI7AWPUfa1rB2XjzbAAiAI/37tavrVVZwJnWSzQELbvlj20YvwdIsLqkHne15p6A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23624,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3wbbCRA9TVsSAnZWagAAmvYP/0pHS+aWBKPfA+Y/HnyU\n5yUUOcnslXrIjZ+zpSMU919jAgYdg0WH2lLOACA3bTwaWKkHFcNijxy0CVbM\nvNfqmH6UK5RpJ1OYMbIOL7NBL6q1jZdxP0WIhghcDbM/0Im0ASIPEBLsRVYa\nDsqoNTbX1NHOvoFNNURYvftdEQKsmivYZQv+gU1/9LAdW27eREcSsnxBUN1q\norCQwRvbj2Md6r89zQpRnKkkQMuZRW0t5U/xFqLRF9YMRa+UxXMCIUalN5uq\nnpRQPplUofMeyND4zGDnM3NaVFcrNevpHqejzvntfFaSl1Q4i9CdHFshxH/r\nrJ/g/pPCoy6EYBW+Han482zgFUnkDcHCtnj73Q0hAaRMDzjVgKEcRN2R4DEq\nWGyeGPYRZ6VLf5g/3xk07uAlAasjnFU4CZhUtPT8s7On8QAr22/8o3/WFUUy\n1Q8hlPpCk4De3NgGnfxhYUn4GG+4xcWaKH2VF4AuEV6Op83S2dU7F94ypvuZ\nW3ApNiA+yubLGxAJvyIZK1ayq+tVJHrsTYXs3zzEK6KPtbxem0MNRSMXXEe7\nEjOi9tqsBlXsX9MccnLLPpq842iAg7vqL4Tg1eJUVBI1tS/GlAnLoPSFz+Sb\n9dJCM3re44yF+wqlBDJXDI0XDjlL+x0BAJAjV5eTSg6qDNp6j1RpEp65GZzd\njtZl\r\n=mCxe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n   <br/>\n   <a href=\"https://next-auth.js.org\" target=\"_blank\"><img height=\"64px\" src=\"https://next-auth.js.org/img/logo/logo-sm.png\" /></a>&nbsp;&nbsp;&nbsp;&nbsp;<img height=\"64px\" src=\"https://raw.githubusercontent.com/nextauthjs/adapters/main/packages/dynamodb/logo.png\" />\n   <h3 align=\"center\"><b>DynamoDB Adapter</b> - NextAuth.js</h3>\n   <p align=\"center\">\n   Open Source. Full Stack. Own Your Data.\n   </p>\n   <p align=\"center\" style=\"align: center;\">\n      <img src=\"https://github.com/nextauthjs/adapters/actions/workflows/release.yml/badge.svg\" alt=\"Build Test\" />\n      <img src=\"https://img.shields.io/bundlephobia/minzip/@next-auth/dynamodb-adapter/latest\" alt=\"Bundle Size\"/>\n      <img src=\"https://img.shields.io/npm/v/@next-auth/dynamodb-adapter\" alt=\"@next-auth/dynamodb-adapter Version\" />\n   </p>\n</p>\n\n## Overview\n\nThis is the AWS DynamoDB Adapter for next-auth. This package can only be used in conjunction with the primary next-auth package. It is not a standalone package.\n\nYou need a table with a partition key `pk` and a sort key `sk`. Your table also needs a global secondary index named `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\nYou can find the DynamoDB schema in the docs at [next-auth.js.org/adapters/dynamodb](https://next-auth.js.org/adapters/dynamodb).\n\n## Getting Started\n\n1. Install `next-auth` and `@next-auth/dynamodb-adapter`\n\n```js\nnpm install next-auth @next-auth/dynamodb-adapter\n```\n\n2. Add this adapter to your `pages/api/[...nextauth].js` next-auth configuration object.\n\nYou need to pass `DocumentClient` instance from `aws-sdk` to the adapter.\nThe default table name is `next-auth`, but you can customise that by passing `{ tableName: 'your-table-name' }` as the second parameter in the adapter.\n\n```js\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter(\n    new AWS.DynamoDB.DocumentClient()\n  ),\n  ...\n});\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respects the single table design pattern. This has many advantages:\n\n- Only one table to manage, monitor and provision.\n- Querying relations is faster than with multi-table schemas (for eg. retreiving all sessions for a user).\n- Only one table needs to be replicated, if you want to go multi-region.\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"\">\n</p>\n\n## Contributing\n\nWe're open to all community contributions! If you'd like to contribute in any way, please read our [Contributing Guide](https://github.com/nextauthjs/adapters/blob/main/CONTRIBUTING.md).\n\n## License\n\nISC\n","gitHead":"5d16ecfffb6f9027e05556cdb2043146b235f9ce","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.4.2-pr.161-5d16ecff.3_1625229019333_0.1043756618179752","host":"s3://npm-registry-packages"}},"0.4.2":{"name":"@next-auth/dynamodb-adapter","version":"0.4.2","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.4.2","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"9e56a10dadb57471e000dd8d9a34021a83b80744","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.4.2.tgz","fileCount":5,"integrity":"sha512-LOE8y/vC/z/hf1YP/kehhNTpdceertSV0fLNHB2rvFwLnprYm0SgAiaRSyOLWitb0WgYAn3BTmhBrHKc+6Xciw==","signatures":[{"sig":"MEUCIEzHqNYtTbw8jySMuba3QL0GY2Gy8qoDhqbOFQ4XokWfAiEAvsuULKEd2oCzIi2GTBL+4xhpWxCg2O3REHeWi2LgZY0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23598,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3w1aCRA9TVsSAnZWagAAY3MP/1k6srTgBannKDhJCpZz\n336TpqTGsDE8tnBJC2lxk2exSBab26qlpMfP8rDIe6/lrl85hFtsPJLI3JAq\nmr/N0kXCuOGnlRQq2f6rcITTD2tcKQT8Soabn/7Iw+vmffvIIF2flWAS0VUb\nepBcqM0zqbXd0tTWHk1ax6pXmsUV7UNpgYqNEhiKWM6uyAIbXRKKzy2DT5NX\nCJ1tAX5hY5Uhp5+grZHfvTARWeemHlsC2FRm5150NXJQ106HxHy4RBjvFVEK\n84q+DID/Lj93259HXMgmKRMkgs+kk3xX2+t2BjY/nw0h/pMt7hEOfN2TvBxr\npNP382L8TdxNCBGMBj+4rnQwGOlJSTKGYGOucZtXA6+pRFyATh6m9yFAwuaw\nM9X03sreyqRITOCBiVlhAtTBdkbc61cOTf7NlVZ2Do0yPd1pOSu7vCak3bTB\nc9UNhe8O979bl4ILpbJkK40jOfaEJ8yk6jE8d/Trq2j6OzC2alX7SEXBsylL\n6fwocSVd7vJizssIJeQEffj2RcwQPy3WCO2rHGM3SUYDK6O325PkKsq7fbFm\nACS1JseEoK9o6ziw2jOTleSfMdykD3HDuBX2WM17L8nnpOoQ3kh9viELTv5w\n4TM6s4vSmMJFjHh1s+iB05KTPAH47YIjFZl1XgPky8ZHiwcKPh0u7TZrzNze\nshvT\r\n=DuIb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"ddef5af22570928cad3e3be829908a7dfb881a76","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.4.2_1625230681716_0.6129344992171784","host":"s3://npm-registry-packages"}},"0.4.2-next.4":{"name":"@next-auth/dynamodb-adapter","version":"0.4.2-next.4","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.4.2-next.4","maintainers":[{"name":"iaincollins","email":"me@iaincollins.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"balazsorban","email":"info@balazsorban.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"d545bedf93de2c46841328efba55e4ea9b3e3b00","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.4.2-next.4.tgz","fileCount":5,"integrity":"sha512-WP8alExPPZluWEA0eg6mnhTSx0+hKLALgY1WYESTSYfyrmgNWc2oFIUhy4SbHk5r9X3ikOsnkpQ7OiuxOxlfrA==","signatures":[{"sig":"MEUCIQD9aiwehJ8Mtx3CheCyKTEEK6v8pmyPmrGMa1s2zMZ60QIgQp5hNioz06nas/RVRX1Bftqv0MElL4IB77k6z2Wa+eE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23613,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg6wofCRA9TVsSAnZWagAA32oP/13ldIQuYgpoYEcsOMnu\nctCix/2IXi5vhTXFZURF/6t8b+Btob/dNg1qTBLR1DQ0FFt64t8MOlTsbJyI\ndozM0CGqUB9/0n7lYlSgKAScJRYthBLY9OTxo4SoMv1/fvJ/YB+Vd89jvKce\npddjVc27XncOHEdg2BEY1N6wYM4QCEpPBzq+68cPO9uw8IJtW2bKL80Nx5Y8\nInr07Sa06n28xnH6sGlxz9vKZW97X0ewAc5DL+rAhlLXMgkAKGmjug7SwRX+\nRkCJ7BTkD95RMs9gomQA+tVMIOmCz1b5l8Vgb3GuWv/gf2NZBcZWHaKUPz3X\nYjiw8aYhJoZhXrv6Ofbq5VXOJQ44DR1Ytngv5JdZz81T8BnkTCHJyB4motBF\nBLyYtiv8bM6ZEi/sARshzER37wKVdsaDi4HN6jMsrWtGDMficKBMCxXAs22B\nIxoDf2MEp6Rzue+kI26Cgv/mf9KPDhp8ocZu5sNCt80XXKxg9f5+PHej2O11\nml2HKf20hpu6iXNjRkzf/MSGTO3oGVLt4xAn/P7YBRf4QCcWO3eGcNvnir27\nNp47Rs6X1Sr6B5U0mOW2GPzkiWLNJT0VRKz0UB5eak4n9PCIRQsIZ87ozs6y\n6q9m9liE/1leWP7Fv/gA+fInALm9bwXwlUnRM4KGBWYLZ68GFzysUt4xHB5B\naKre\r\n=6fp4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n   <br/>\n   <a href=\"https://next-auth.js.org\" target=\"_blank\"><img height=\"64px\" src=\"https://next-auth.js.org/img/logo/logo-sm.png\" /></a>&nbsp;&nbsp;&nbsp;&nbsp;<img height=\"64px\" src=\"https://raw.githubusercontent.com/nextauthjs/adapters/main/packages/dynamodb/logo.png\" />\n   <h3 align=\"center\"><b>DynamoDB Adapter</b> - NextAuth.js</h3>\n   <p align=\"center\">\n   Open Source. Full Stack. Own Your Data.\n   </p>\n   <p align=\"center\" style=\"align: center;\">\n      <img src=\"https://github.com/nextauthjs/adapters/actions/workflows/release.yml/badge.svg\" alt=\"Build Test\" />\n      <img src=\"https://img.shields.io/bundlephobia/minzip/@next-auth/dynamodb-adapter/latest\" alt=\"Bundle Size\"/>\n      <img src=\"https://img.shields.io/npm/v/@next-auth/dynamodb-adapter\" alt=\"@next-auth/dynamodb-adapter Version\" />\n   </p>\n</p>\n\n## Overview\n\nThis is the AWS DynamoDB Adapter for next-auth. This package can only be used in conjunction with the primary next-auth package. It is not a standalone package.\n\nYou need a table with a partition key `pk` and a sort key `sk`. Your table also needs a global secondary index named `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\nYou can find the DynamoDB schema in the docs at [next-auth.js.org/adapters/dynamodb](https://next-auth.js.org/adapters/dynamodb).\n\n## Getting Started\n\n1. Install `next-auth` and `@next-auth/dynamodb-adapter`\n\n```js\nnpm install next-auth @next-auth/dynamodb-adapter\n```\n\n2. Add this adapter to your `pages/api/[...nextauth].js` next-auth configuration object.\n\nYou need to pass `DocumentClient` instance from `aws-sdk` to the adapter.\nThe default table name is `next-auth`, but you can customise that by passing `{ tableName: 'your-table-name' }` as the second parameter in the adapter.\n\n```js\nimport AWS from \"aws-sdk\";\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nAWS.config.update({\n  accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY,\n  secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY,\n  region: process.env.NEXT_AUTH_AWS_REGION,\n});\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter(\n    new AWS.DynamoDB.DocumentClient()\n  ),\n  ...\n});\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respects the single table design pattern. This has many advantages:\n\n- Only one table to manage, monitor and provision.\n- Querying relations is faster than with multi-table schemas (for eg. retreiving all sessions for a user).\n- Only one table needs to be replicated, if you want to go multi-region.\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"\">\n</p>\n\n## Contributing\n\nWe're open to all community contributions! If you'd like to contribute in any way, please read our [Contributing Guide](https://github.com/nextauthjs/adapters/blob/main/CONTRIBUTING.md).\n\n## License\n\nISC\n","gitHead":"94c9a09126c9bbe9d87296b6d39b9c137bf9f8cb","private":false,"scripts":{"test":"echo \"Fix tests.\";exit 0","build":"tsc"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"12.22.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dynamodb":"^1.3.0","@types/dynamodb":"^1.2.2"},"peerDependencies":{"dynamodb":"^1.3.0","next-auth":"^3.17.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.4.2-next.4_1626016286935_0.14351620548222543","host":"s3://npm-registry-packages"}},"0.4.2-next.34":{"name":"@next-auth/dynamodb-adapter","version":"0.4.2-next.34","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.4.2-next.34","maintainers":[{"name":"balazsorban","email":"info@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"iaincollins","email":"me@iaincollins.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"277c252f92d96621ae325be5cb757af13f747cc7","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.4.2-next.34.tgz","fileCount":5,"integrity":"sha512-UfnYC2jVjRWJXxRSYcWsia3Y0aesN5CjNtPmfFxbxzDuIidQ5cJtP8b1rKi2ZntXc0PURukquHt/Thc+ueKdAQ==","signatures":[{"sig":"MEUCIQD5BSPNHgn4VOsk5CHXbqulUHHADTWwo4qXEiD0UuTKuQIgKNq0urYvszrrC0MkFkZTrIVSPyQEFPMDvIq8di8fMqU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22228,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhprJaCRA9TVsSAnZWagAAbqIP/jCS2M/M60aKYFgkU8zw\nQetEqW7RDUQB9U53butYginflO9swF3iiTRQRSVI27U50M5tVwpRIF/6QFRz\nPc18k6k9wFIcvr6n2KmvDP6cKTj9oPHfiPxM+g4oXCahUf9hCmMdtZ2ehwaj\nT6IpmbmHScKxhZ10YWevg5RO68VoLH2uFxNrKNy4zDyByTKelbNGl1sTRJ2L\nBUzTq96Dc2sxBc1VtPkS5rl1EPjdBfbx5Ya/+HqkG1ikJc8Be6vfXYulQbj3\nmitfBYC4Rjqn8NaNPuzwGdVl2rD0kls5HJixzwiadec6lEzrNEe1VGhXJqyg\nRFfupyBXl2tOJHXmvZW+lLRN5MuQgory/ruMTOQdfnOFXuB3lfP7sbQLYWlA\nBIXTvfSIO0xxbXAZmTztYkCmzqDz6O2mRkbEXRqvBcc6JbPmKel4uhap9OWn\noHiQrAj2VhyYP2ITb0snY39zBAk70HSUbGhvdGef9L99A4gHkSvKLyQPp6Jo\n5c3DJiH//lBpZIyimegAiX2I07gCIJGZ213Dk6/Zhe8TKh5RXkP6Kmu+zEgN\ni0OCkZb/MG3R2M4hjPRtwEx4yovUJ63URC0r96JwTmPqw6mjhaYMtZtUtWu/\n3kO6lkaTauGB5gKkzs2LXuPTdCRzRks/J+GZNAf/fXVnDlFYA+G/3qwPRg1p\nBk8R\r\n=Q/Yc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n   <br/>\n   <a href=\"https://next-auth.js.org\" target=\"_blank\"><img height=\"64px\" src=\"https://next-auth.js.org/img/logo/logo-sm.png\" /></a>&nbsp;&nbsp;&nbsp;&nbsp;<img height=\"64px\" src=\"https://raw.githubusercontent.com/nextauthjs/adapters/main/packages/dynamodb/logo.png\" />\n   <h3 align=\"center\"><b>DynamoDB Adapter</b> - NextAuth.js</h3>\n   <p align=\"center\">\n   Open Source. Full Stack. Own Your Data.\n   </p>\n   <p align=\"center\" style=\"align: center;\">\n      <img src=\"https://github.com/nextauthjs/adapters/actions/workflows/release.yml/badge.svg\" alt=\"Build Test\" />\n      <img src=\"https://img.shields.io/bundlephobia/minzip/@next-auth/dynamodb-adapter/latest\" alt=\"Bundle Size\"/>\n      <img src=\"https://img.shields.io/npm/v/@next-auth/dynamodb-adapter\" alt=\"@next-auth/dynamodb-adapter Version\" />\n   </p>\n</p>\n\n## Overview\n\nThis is the AWS DynamoDB Adapter for next-auth. This package can only be used in conjunction with the primary next-auth package. It is not a standalone package.\n\nYou need a table with a partition key `pk` and a sort key `sk`. Your table also needs a global secondary index named `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\nIf you want sessions and verification tokens to get automatically removed from your table you need to [activate TTL](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html) on your table with the TTL attribute name set to `expires`\n\nYou can find the DynamoDB schema in the docs at [next-auth.js.org/adapters/dynamodb](https://next-auth.js.org/adapters/dynamodb).\n\n## Getting Started\n\n1. Install `next-auth` and `@next-auth/dynamodb-adapter`\n\n```js\nnpm install next-auth @next-auth/dynamodb-adapter\n```\n\n2. Add this adapter to your `pages/api/[...nextauth].js` next-auth configuration object.\n\nYou need to pass `DocumentClient` instance from `aws-sdk` to the adapter.\nThe default table name is `next-auth`, but you can customise that by passing `{ tableName: 'your-table-name' }` as the second parameter in the adapter.\n\n```js\nimport { DynamoDB } from \"@aws-sdk/client-dynamodb\"\nimport { DynamoDBDocument } from \"@aws-sdk/lib-dynamodb\"\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nconst config: DynamoDBClientConfig = {\n  credentials: {\n    accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY as string,\n    secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY as string,\n  },\n  region: process.env.NEXT_AUTH_AWS_REGION,\n};\n\nconst client = DynamoDBDocument.from(new DynamoDB(config), {\n  marshallOptions: {\n    convertEmptyValues: true,\n    removeUndefinedValues: true,\n    convertClassInstanceToMap: true,\n  },\n})\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter(\n    client\n  ),\n  ...\n});\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respects the single table design pattern. This has many advantages:\n\n- Only one table to manage, monitor and provision.\n- Querying relations is faster than with multi-table schemas (for eg. retreiving all sessions for a user).\n- Only one table needs to be replicated, if you want to go multi-region.\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"\">\n</p>\n\n## Contributing\n\nWe're open to all community contributions! If you'd like to contribute in any way, please read our [Contributing Guide](https://github.com/nextauthjs/adapters/blob/main/CONTRIBUTING.md).\n\n## License\n\nISC\n","gitHead":"a6f6fb58db4aa28aafb3a91efb885334d348afd9","private":false,"scripts":{"test":"yarn test:default && yarn test:custom","build":"tsc","test:custom":"CUSTOM_MODEL=1 jest","test:default":"jest"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"16.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@shelf/jest-dynamodb":"^2.1.0","@aws-sdk/lib-dynamodb":"^3.36.1","@aws-sdk/client-dynamodb":"^3.36.1"},"peerDependencies":{"next-auth":">4 || 4.0.0-beta.1 - 4.0.0-beta.x","@aws-sdk/lib-dynamodb":"^3.36.1"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.4.2-next.34_1638314586328_0.6612708027084275","host":"s3://npm-registry-packages"}},"0.4.2-pr.329-721d4423.35":{"name":"@next-auth/dynamodb-adapter","version":"0.4.2-pr.329-721d4423.35","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.4.2-pr.329-721d4423.35","maintainers":[{"name":"balazsorban","email":"info@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"iaincollins","email":"me@iaincollins.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"390dbcc42efe9837040ae91fc7253a47d7d83377","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.4.2-pr.329-721d4423.35.tgz","fileCount":7,"integrity":"sha512-c3O82GoMy9c7gaTvbWOSy5CEo6ubBNVHmlJFYImiQp1S+lxKXFX3wRcww/GiizPkMsYuHL7sNYjx4p847umrCA==","signatures":[{"sig":"MEQCIDdax281qq2Z/NKlJLuW1jiiU1DcDzaPZIYZSY/VrZtaAiAqEalNy1tr/+UnU7iCCGN7U6metf320JlWvMdcMSsnaw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21590,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhpr1nCRA9TVsSAnZWagAAVoIP/3lIeyOTlWAyqiuUwQP4\nQNyfCvf0Ad1QdrS7vCKm4WT27NfnkB776lc48BsPm8X8UOtDmkE43OPhlI6s\nPtzZohFdos7s6KJLL2mloVB3+byLXlqREW0oZEFt9PDH6IEIAdQTiH8cKdbe\nU+JHy3RHyGjeISA68Tgx0UAcMPlmsszWxivwvZ6TC2XGagtRBnUMBg6ohig8\ntciaNAxLJBjsnAtlaY5C+Sf+sYkXJSX0xpqsT++FoZYAptgeywg1qQYu2ZAh\nh/aof/O50L7TJizLDeOB/cwXncbHRVJpqJJPaRknYzSE8/JQben2vQdZNVcX\nVDdzfiKIXZSOgzTUbX3bE0VGIp93e3S7GVTa2lQFz+IJa7JMUKGlP8/7T1Cb\nqlWwoPmmzH1krGlL2tplVKOOQp27JXAVOcg3JZcYnDn6xc4HYOL1hHTOtTKJ\n4UHCEGHfKb1h1MI1Kr6KweEtKrEGS1AEAckh7OShoIeBllLwtyEC37big7Hz\n/IFWZhgRsyf2Mjjue83+N8hPAc+2K7XNb0gw7uyCJ5ktiRWGLpAC28cQhNMJ\nZJheuOCyln2As2Y17mqqeERlD+eZ5HvyxDXNOJb7IIg5aBVG39DhDQoffvuj\nw928nlZs9WXQgpktwx23DFvrNCWv3mkssOnrxyIacyjbBsK7RiiQJpeQFtF6\ndiUt\r\n=z4CC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n   <br/>\n   <a href=\"https://next-auth.js.org\" target=\"_blank\"><img height=\"64px\" src=\"https://next-auth.js.org/img/logo/logo-sm.png\" /></a>&nbsp;&nbsp;&nbsp;&nbsp;<img height=\"64px\" src=\"https://raw.githubusercontent.com/nextauthjs/adapters/main/packages/dynamodb/logo.png\" />\n   <h3 align=\"center\"><b>DynamoDB Adapter</b> - NextAuth.js</h3>\n   <p align=\"center\">\n   Open Source. Full Stack. Own Your Data.\n   </p>\n   <p align=\"center\" style=\"align: center;\">\n      <img src=\"https://github.com/nextauthjs/adapters/actions/workflows/release.yml/badge.svg\" alt=\"Build Test\" />\n      <img src=\"https://img.shields.io/bundlephobia/minzip/@next-auth/dynamodb-adapter/latest\" alt=\"Bundle Size\"/>\n      <img src=\"https://img.shields.io/npm/v/@next-auth/dynamodb-adapter\" alt=\"@next-auth/dynamodb-adapter Version\" />\n   </p>\n</p>\n\n## Overview\n\nThis is the AWS DynamoDB Adapter for next-auth. This package can only be used in conjunction with the primary next-auth package. It is not a standalone package.\n\nYou need a table with a partition key `pk` and a sort key `sk`. Your table also needs a global secondary index named `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\nIf you want sessions and verification tokens to get automatically removed from your table you need to [activate TTL](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html) on your table with the TTL attribute name set to `expires`\n\nYou can find the DynamoDB schema in the docs at [next-auth.js.org/adapters/dynamodb](https://next-auth.js.org/adapters/dynamodb).\n\n## Getting Started\n\n1. Install `next-auth` and `@next-auth/dynamodb-adapter`\n\n```js\nnpm install next-auth @next-auth/dynamodb-adapter\n```\n\n2. Add this adapter to your `pages/api/[...nextauth].js` next-auth configuration object.\n\nYou need to pass `DocumentClient` instance from `aws-sdk` to the adapter.\nThe default table name is `next-auth`, but you can customise that by passing `{ tableName: 'your-table-name' }` as the second parameter in the adapter.\n\n```js\nimport { DynamoDB } from \"@aws-sdk/client-dynamodb\"\nimport { DynamoDBDocument } from \"@aws-sdk/lib-dynamodb\"\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nconst config: DynamoDBClientConfig = {\n  credentials: {\n    accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY as string,\n    secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY as string,\n  },\n  region: process.env.NEXT_AUTH_AWS_REGION,\n};\n\nconst client = DynamoDBDocument.from(new DynamoDB(config), {\n  marshallOptions: {\n    convertEmptyValues: true,\n    removeUndefinedValues: true,\n    convertClassInstanceToMap: true,\n  },\n})\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter(\n    client\n  ),\n  ...\n});\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respects the single table design pattern. This has many advantages:\n\n- Only one table to manage, monitor and provision.\n- Querying relations is faster than with multi-table schemas (for eg. retreiving all sessions for a user).\n- Only one table needs to be replicated, if you want to go multi-region.\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"\">\n</p>\n\n## Contributing\n\nWe're open to all community contributions! If you'd like to contribute in any way, please read our [Contributing Guide](https://github.com/nextauthjs/adapters/blob/main/CONTRIBUTING.md).\n\n## License\n\nISC\n","gitHead":"721d44230b360e5301115d0494ab1c6271ca5139","private":false,"scripts":{"test":"yarn test:default && yarn test:custom","build":"tsc","test:custom":"CUSTOM_MODEL=1 jest","test:default":"jest"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"16.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@shelf/jest-dynamodb":"^2.1.0","@aws-sdk/lib-dynamodb":"^3.36.1","@aws-sdk/client-dynamodb":"^3.36.1"},"peerDependencies":{"next-auth":">4 || 4.0.0-beta.1 - 4.0.0-beta.x","@aws-sdk/lib-dynamodb":"^3.36.1"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.4.2-pr.329-721d4423.35_1638317415833_0.2464731240571958","host":"s3://npm-registry-packages"}},"0.4.2-pr.329-47847f53.35":{"name":"@next-auth/dynamodb-adapter","version":"0.4.2-pr.329-47847f53.35","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.4.2-pr.329-47847f53.35","maintainers":[{"name":"balazsorban","email":"info@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"iaincollins","email":"me@iaincollins.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"84078f0243b91b248e8dd4db6a77dc48f00310e3","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.4.2-pr.329-47847f53.35.tgz","fileCount":7,"integrity":"sha512-Z5yOlEUPpVq+97/TVD3qRj45z2vW5I9Vibx3Qn7DhvpjVpsNlSFCGOfDnb+Zii+KZrruqLq1yhOYufzNl2qLDQ==","signatures":[{"sig":"MEYCIQC6qjGL6aGuSYRJyXhKLz0tH2DdDyg8KS90tBAWDgPbbQIhAJbV8k+nsMeoDrMDeZlhknvzgpZs+LlS2jq9mtANlCnQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21597,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhpr3FCRA9TVsSAnZWagAAoO8P+gLHaL3z3SZHpkqDEVC7\niFUMejlfPimsyP2JOMq6CEEfufSI0NSABwgQ1+0iuEbN+Klh3y3eFRwfP5cI\nSNI3xx9o9eqEiR9DO3sBQwspz+xf6/D4E9D/4bj9HuD+eY2PYpbidmNnozTE\nuVBV/sd0knYTsVW+VjTwbUS7UKk4Jn56KJxbd7qtl7z6C2kYM4UsXMlRuUPd\nmYg6t6vk1bTnk1RXGuV/Lwu6DfD94axcsxNPtuKYrqnew4YhHFI/qDUffKMI\nUOJs9QOzQkfUMYRvTv8xmS4yORBHSWmaio4Hzqx/RnSo9ID77HgvGVqDS6Iu\nLg5dITd6vkUatLrBzacaOBhB5J6a0VhEhoQCY8I/W13AsJG33wLumkgB7I8I\nC3prIJhZaIlWfaFhino7XUBzpDp1sN8EgRr+7CZGqFAgBwXndRPqguVFq8FZ\nY/85ATEuygz3shtTWzLJW/MoDupDzg4/lnDHRt0FZ+KYteuF/2xNy4TpqQIQ\nOs1mMlVOsP8UvoyglURKP64X9giEMmwAb/+bWmuNdZxHSKYtJfdqnc+Y7sw3\nH2ywrMWmD48QQzl0SxPHsOuSgKlMPKHSiVIne28fOd5YNzLac5AO/h3HOsoD\nND+Pw3kz9OPeXtnEivjvWOk1jYGJ/dKBEcOLXHsepF9Gf0L/iGCzy8H4gKtR\nJUfl\r\n=Wv79\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n   <br/>\n   <a href=\"https://next-auth.js.org\" target=\"_blank\"><img height=\"64px\" src=\"https://next-auth.js.org/img/logo/logo-sm.png\" /></a>&nbsp;&nbsp;&nbsp;&nbsp;<img height=\"64px\" src=\"https://raw.githubusercontent.com/nextauthjs/adapters/main/packages/dynamodb/logo.png\" />\n   <h3 align=\"center\"><b>DynamoDB Adapter</b> - NextAuth.js</h3>\n   <p align=\"center\">\n   Open Source. Full Stack. Own Your Data.\n   </p>\n   <p align=\"center\" style=\"align: center;\">\n      <img src=\"https://github.com/nextauthjs/adapters/actions/workflows/release.yml/badge.svg\" alt=\"Build Test\" />\n      <img src=\"https://img.shields.io/bundlephobia/minzip/@next-auth/dynamodb-adapter/latest\" alt=\"Bundle Size\"/>\n      <img src=\"https://img.shields.io/npm/v/@next-auth/dynamodb-adapter\" alt=\"@next-auth/dynamodb-adapter Version\" />\n   </p>\n</p>\n\n## Overview\n\nThis is the AWS DynamoDB Adapter for next-auth. This package can only be used in conjunction with the primary next-auth package. It is not a standalone package.\n\nYou need a table with a partition key `pk` and a sort key `sk`. Your table also needs a global secondary index named `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\nIf you want sessions and verification tokens to get automatically removed from your table you need to [activate TTL](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html) on your table with the TTL attribute name set to `expires`\n\nYou can find the DynamoDB schema in the docs at [next-auth.js.org/adapters/dynamodb](https://next-auth.js.org/adapters/dynamodb).\n\n## Getting Started\n\n1. Install `next-auth` and `@next-auth/dynamodb-adapter`\n\n```js\nnpm install next-auth @next-auth/dynamodb-adapter\n```\n\n2. Add this adapter to your `pages/api/[...nextauth].js` next-auth configuration object.\n\nYou need to pass `DocumentClient` instance from `aws-sdk` to the adapter.\nThe default table name is `next-auth`, but you can customise that by passing `{ tableName: 'your-table-name' }` as the second parameter in the adapter.\n\n```js\nimport { DynamoDB } from \"@aws-sdk/client-dynamodb\"\nimport { DynamoDBDocument } from \"@aws-sdk/lib-dynamodb\"\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nconst config: DynamoDBClientConfig = {\n  credentials: {\n    accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY as string,\n    secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY as string,\n  },\n  region: process.env.NEXT_AUTH_AWS_REGION,\n};\n\nconst client = DynamoDBDocument.from(new DynamoDB(config), {\n  marshallOptions: {\n    convertEmptyValues: true,\n    removeUndefinedValues: true,\n    convertClassInstanceToMap: true,\n  },\n})\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter(\n    client\n  ),\n  ...\n});\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respects the single table design pattern. This has many advantages:\n\n- Only one table to manage, monitor and provision.\n- Querying relations is faster than with multi-table schemas (for eg. retreiving all sessions for a user).\n- Only one table needs to be replicated, if you want to go multi-region.\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"\">\n</p>\n\n## Contributing\n\nWe're open to all community contributions! If you'd like to contribute in any way, please read our [Contributing Guide](https://github.com/nextauthjs/adapters/blob/main/CONTRIBUTING.md).\n\n## License\n\nISC\n","gitHead":"47847f53a9d3d075c642fe6d676de190c602a07b","private":false,"scripts":{"test":"yarn test:default && yarn test:custom","build":"tsc","test:custom":"CUSTOM_MODEL=1 jest","test:default":"jest"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"16.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@shelf/jest-dynamodb":"^2.1.0","@aws-sdk/lib-dynamodb":"^3.36.1","@aws-sdk/client-dynamodb":"^3.36.1"},"peerDependencies":{"next-auth":">4 || 4.0.0-beta.1 - 4.0.0-beta.x","@aws-sdk/lib-dynamodb":"^3.36.1"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.4.2-pr.329-47847f53.35_1638317509854_0.8099232545230188","host":"s3://npm-registry-packages"}},"0.4.2-next.35":{"name":"@next-auth/dynamodb-adapter","version":"0.4.2-next.35","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@0.4.2-next.35","maintainers":[{"name":"balazsorban","email":"info@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"iaincollins","email":"me@iaincollins.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"591e722df527a0ed7768c8c4e0fbb7742453601b","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-0.4.2-next.35.tgz","fileCount":7,"integrity":"sha512-UfJtYAZjMa4yfFYQDTcOp4dgf/f6x7S0M+xaUGNJA0oUKflN+NTX9PptRo5hpWdezU5z3sc02oICJxwU4rTUGQ==","signatures":[{"sig":"MEUCIQCAdxmsvMJ+avfOvNjblA5HRlFsJElP2aZzFW4TS9R6nAIgGmdpAHPnk1R1rtURE1b+WE+rp7CJyGShRDeLAbJX71c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21586,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhp5y6CRA9TVsSAnZWagAA294P/iIi9iH/6buoZm2AAyCX\nnHPfdQBihjdU8/qh3jmZGUHd1l8c7+g4HD9lUHLxuCj24toJfXNV9CVrTYfn\nrrdMJ1/3q7RS1qlOHRlo7MSEaOst5T3KL8PG12YwBDliAxBzpzCmR3KvGooO\nBvUgbHUxxtCBkTQuWSLX+qAQg1NUu6yCyRdVRvCxOtfZtTmco7oUIrngEyKp\nHoEK+TmeAz816D1IuH/58HotdKVAdaFvzDRUF4hxc/Mjo8nq1qfeZb8WsNiI\nO5+sPL7JmESDQNL9ZcocqzW/kG7Kc/e4IQx8BzhPLdBuUCJ2Ctc3kdb6YdqA\nPVGq7x8Z8vi2IbCcfs07hHH/Jwtkvs4vuZ+g44gUsFg6wIUvH28GT8GmGjQJ\n3Yx4Po1Imjy96o7f07F3owLp6nEZ1x6tPbYGLnboORKf9o+m5QRJ8QKv98J7\nn5fmxm31O8JdQrI9MYeOCGZK6Phz3c3u7kXCdcgg75XuOT/P5aUhnuDcMOFB\nnWG0wfaEhedBlRnNFoWeyh20dTeE5vvCR3Qil64YZ1BxF96qXP8ItbyhAlSH\nPkCbsLBmVh9Za5uU2xvK9+7aAeeQ4E8dMZw5JYCa4SmojP+m9V6wA8p4nxby\nZFifBwPCIDUCZPeZQbeYGWqr8TyaPynigM9jKJSQm9O89hjZZZvG+ryudLbc\nZFBO\r\n=kQmS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n   <br/>\n   <a href=\"https://next-auth.js.org\" target=\"_blank\"><img height=\"64px\" src=\"https://next-auth.js.org/img/logo/logo-sm.png\" /></a>&nbsp;&nbsp;&nbsp;&nbsp;<img height=\"64px\" src=\"https://raw.githubusercontent.com/nextauthjs/adapters/main/packages/dynamodb/logo.png\" />\n   <h3 align=\"center\"><b>DynamoDB Adapter</b> - NextAuth.js</h3>\n   <p align=\"center\">\n   Open Source. Full Stack. Own Your Data.\n   </p>\n   <p align=\"center\" style=\"align: center;\">\n      <img src=\"https://github.com/nextauthjs/adapters/actions/workflows/release.yml/badge.svg\" alt=\"Build Test\" />\n      <img src=\"https://img.shields.io/bundlephobia/minzip/@next-auth/dynamodb-adapter/latest\" alt=\"Bundle Size\"/>\n      <img src=\"https://img.shields.io/npm/v/@next-auth/dynamodb-adapter\" alt=\"@next-auth/dynamodb-adapter Version\" />\n   </p>\n</p>\n\n## Overview\n\nThis is the AWS DynamoDB Adapter for next-auth. This package can only be used in conjunction with the primary next-auth package. It is not a standalone package.\n\nYou need a table with a partition key `pk` and a sort key `sk`. Your table also needs a global secondary index named `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\nIf you want sessions and verification tokens to get automatically removed from your table you need to [activate TTL](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html) on your table with the TTL attribute name set to `expires`\n\nYou can find the DynamoDB schema in the docs at [next-auth.js.org/adapters/dynamodb](https://next-auth.js.org/adapters/dynamodb).\n\n## Getting Started\n\n1. Install `next-auth` and `@next-auth/dynamodb-adapter`\n\n```js\nnpm install next-auth @next-auth/dynamodb-adapter\n```\n\n2. Add this adapter to your `pages/api/[...nextauth].js` next-auth configuration object.\n\nYou need to pass `DocumentClient` instance from `aws-sdk` to the adapter.\nThe default table name is `next-auth`, but you can customise that by passing `{ tableName: 'your-table-name' }` as the second parameter in the adapter.\n\n```js\nimport { DynamoDB } from \"@aws-sdk/client-dynamodb\"\nimport { DynamoDBDocument } from \"@aws-sdk/lib-dynamodb\"\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nconst config: DynamoDBClientConfig = {\n  credentials: {\n    accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY as string,\n    secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY as string,\n  },\n  region: process.env.NEXT_AUTH_AWS_REGION,\n};\n\nconst client = DynamoDBDocument.from(new DynamoDB(config), {\n  marshallOptions: {\n    convertEmptyValues: true,\n    removeUndefinedValues: true,\n    convertClassInstanceToMap: true,\n  },\n})\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter(\n    client\n  ),\n  ...\n});\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respects the single table design pattern. This has many advantages:\n\n- Only one table to manage, monitor and provision.\n- Querying relations is faster than with multi-table schemas (for eg. retreiving all sessions for a user).\n- Only one table needs to be replicated, if you want to go multi-region.\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"\">\n</p>\n\n## Contributing\n\nWe're open to all community contributions! If you'd like to contribute in any way, please read our [Contributing Guide](https://github.com/nextauthjs/adapters/blob/main/CONTRIBUTING.md).\n\n## License\n\nISC\n","gitHead":"bdcf22801a5102b8c9c4b85d34d50b3ea469241e","private":false,"scripts":{"test":"yarn test:default && yarn test:custom","build":"tsc","test:custom":"CUSTOM_MODEL=1 jest","test:default":"jest"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"16.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@shelf/jest-dynamodb":"^2.1.0","@aws-sdk/lib-dynamodb":"^3.36.1","@aws-sdk/client-dynamodb":"^3.36.1"},"peerDependencies":{"next-auth":">4 || 4.0.0-beta.1 - 4.0.0-beta.x","@aws-sdk/lib-dynamodb":"^3.36.1"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_0.4.2-next.35_1638374586229_0.8341433509091665","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@next-auth/dynamodb-adapter","version":"1.0.0","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@1.0.0","maintainers":[{"name":"balazsorban","email":"info@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"iaincollins","email":"me@iaincollins.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"d405ad18f49ef01877b73e138c3c76c133a81cee","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-1.0.0.tgz","fileCount":6,"integrity":"sha512-CGaF6BAGwoP5PuUlJzz+vOLoa0mP/G3G5vehO1TpJCtYpwUYS6BYKZggwlJkTAI5JryMyh8YZbuegjwHakOZAQ==","signatures":[{"sig":"MEUCIQDHez0mI0aoMDltS8uvn0nt4+oZQGYIdDksw2TzRqqYMAIgKF2D7Bak3nXz55y/PdO/u4YLUHg/XWPfhiYo2kuNNAQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20737,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhp6HBCRA9TVsSAnZWagAAmIYQAI0UH6VP0bkb9UMVPPJ7\nE0hjvg2DMKxnTKWmNYMxYkBaafGZV8zlIK3SDmIHC9+DtDL7TCgqHGK0Eu4c\nJOUQ0A8iLYxEdSSS60VcLECXsZxXZ5SPYaccINhVIDqQAHt5xxnTjCKTrkJ+\nSyPIeNoxWRXOOKjIsQVLniAcvKu16B3Iql6oSjBxOGGMxUzf3lKjc2VEe5Ls\nJmUIsfM5YY0zwRVuIwnVhDRJg2zd13yRYMxzz/aDOJUWDB+P8AE0GVsqT7oj\nBD+OhtY8snTIbYYbu0ayYGiFWi12ZgA0yG+NczAgDF5sjL4ecjoqpMOGwXhm\n3qF4wiT5zmVJabHaJX9a3ClWBEPInjvg1VRIIsLdb7/iXDMRH8W7TLdBpxhO\ntrkYF3FV1ybsv81OBa2G5apEdvVrdKhBx0bHSJmkifKZBTqd1S3YzPlxXsik\np9oer1YfoNIKV1Swub3Ts7f8JVpxYud0ouY+F9SldUIgk2cxfVznhupOvrrp\nr3YNxKTHUSEJFhaaZ2rNCAGS62oZKrdOynZ2Vba4H96uzGNpM0JeD44MCr7P\nY6JDoKatZotkuox9OSf8I+Mh3k1YwtylAV8s+Q6e3TQGnXXty5xtOq24lRq0\nFByDGRQqNjBYQXjRRRvWsVfgL5zxaSLXuTUHg/aoBSIUHZC7Yc8EqiM5gGuj\nVhM7\r\n=XMFq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"50bae0dbb5c85ac88b4c4ce4fb1dc20aef793876","private":false,"scripts":{"test":"yarn test:default && yarn test:custom","build":"tsc","test:custom":"CUSTOM_MODEL=1 jest","test:default":"jest"},"_npmUser":{"name":"balazsorban","email":"info@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"8.1.0","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"16.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@shelf/jest-dynamodb":"^2.1.0","@aws-sdk/lib-dynamodb":"^3.36.1","@aws-sdk/client-dynamodb":"^3.36.1"},"peerDependencies":{"next-auth":"^4.0.1","@aws-sdk/lib-dynamodb":"^3.36.1"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_1.0.0_1638375873853_0.1773183521214925","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@next-auth/dynamodb-adapter","version":"1.0.1","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@1.0.1","maintainers":[{"name":"balazsorban","email":"info@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"iaincollins","email":"me@iaincollins.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"8a99efd82f0710be6163a45dc520febe8be7f581","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-1.0.1.tgz","fileCount":7,"integrity":"sha512-DThpNkV95RdzzsTK2XrvohD450G2bd6he9sZroJNJ5iZqolDKYtyM89Zw3oMD7kNsa4ZasL0gz1d4Y7TVq1tfQ==","signatures":[{"sig":"MEUCIQCpHCgA7wXxSzgdOYoL0g+ubXEKCNMFVaeEJMzBkhA95wIgBYefFbly+HyoLbcC8GxpERnRzQQwXLlNgN7R1yv1lq0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21543,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhrjg8CRA9TVsSAnZWagAA1YEP/i+7PvQ1XAwWA0zDs7b0\n2xtB+LUC8/0HBzNiY8v0nLtssCVRKU3ZaJTiqaNT7GzeENYKNrmxACmWMqba\nBz62+duyOqR81chTX+Zzx1yJu2dRjrrpNaYfgK8wS56lzyi2+AzZUGSXW7+g\nNUtn39Rk0TaGjev4UUZ1O518UHvgjpWiBnvczHtEC+Opibe/YjXGkvPaZj98\no0vdBFvuWtmmsU4Uo6WO/SIBb9UPzrP902zFHRrY3FZAZqqYDJ8F+zWmV/V8\nuKP/TbV7bMYBWTt23TTUjPKDdrXmBEQk9m8+rlyeFQwMfLNa030iSOeXVUC3\n9UZ4Gvfm8K3QPx70p35C268UTq2tt0cOBjVF5jVq6PeFzOnt9iw4yc+dOVdY\nDwXnPK9Qni1kY9KXRa9htyOYoZvNc/AufEKff1RzReFtOvIwo91xBE8qSG//\nsZeV1OE5YqA7jAQtagPP4L32n9KBswlx59hzRJe9wwGWu/N5fmT2xX+M6vHr\n/mk7XfEqAxt7gP/8/aQqI4eQl3/StjW4rPBR4kL3BIehaWXrfVHZJlNfxoiU\nAIyBYDfd3HOhC/bXmHBkC4lCOSP5Sd2NV9kOAOlhm7p/G/qJSBnjEZfDwRwT\nhqd+vIoBsum+dApzPoy6hdasWVAWjtLPkwW2l26oIGODJFdx2J97p6LF5/2f\n3Jkh\r\n=Q4X0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"87c9490f7c8c72ad0ca64718cb480c6720044edb","private":false,"scripts":{"test":"yarn test:default && yarn test:custom","build":"tsc","test:custom":"CUSTOM_MODEL=1 jest","test:default":"jest"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"16.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@shelf/jest-dynamodb":"^2.1.0","@aws-sdk/lib-dynamodb":"^3.36.1","@aws-sdk/client-dynamodb":"^3.36.1"},"peerDependencies":{"next-auth":"^4.0.1","@aws-sdk/lib-dynamodb":"^3.36.1"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_1.0.1_1638807612229_0.17523934204563996","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@next-auth/dynamodb-adapter","version":"1.0.2","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@1.0.2","maintainers":[{"name":"balazsorban","email":"info@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"iaincollins","email":"me@iaincollins.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"f92ca6d76b9c0e6c9ecdb56fee022b307923f8db","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-1.0.2.tgz","fileCount":7,"integrity":"sha512-+wp6TM52vbwJIQNQilvTwDhRL33E5eE+GAz7MsUMHXMeLFU1ZtnRE1rNb/z+xVYOULPBbdBkKJNfTvwrYPBm8w==","signatures":[{"sig":"MEUCIQC6ezQZhukI28u75ANTL+FGJTGydGC8GQMIMN78gT7SkgIgShGqioZWzJLOlKbyMKD/TkCiCmjQSIDU5VFefslozdw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21728,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh3AfoCRA9TVsSAnZWagAAdD0P/j6c2KU0VWzpHFY9/kPT\nvaVROupBHEaTquIg/OR32/FfrQWdeD0YZE2cGrCeLfZ2lE6MQWaARRLzlwbw\namujtaHNXYkchFZO3Zm+7p1r00QjLTYiF83GDB8NHBYicfPOk+2Ak5Vt0h19\n72AUXppVayAGOLn+AqNPGQ4NB9dTrSsSlL4RMZMgDNlyy+q2xXXgaB9gYuqj\n0z5+LIeVYf3jL8wZgHvvrzsF+V0L2teKBqRY8ZFzQFIFPcJho1XJVZ22mjiy\nn4WXzMtW+zvPp4g/2xzxlwQgBIv2dURfOo1CmfQrh5meDaxxBiR1URmX2pkR\nhdhZP8Y+0PtQFuu7aru4XQPQ+3wGVN187A9rRd+yRIfn/Q9WEwo9dpIPQ/e9\n4HKDSnti/tpR14QoLIYtqtLzFvv6iGV7WUKi6OHocq7+Ur8tsXixujEKVA0Q\nhKwgtCcOu2u58ZANzfdZvpyvVhc9xkMQO8mZ6tZFyq1kYA2uMRTwb7Lx/qrI\nqhNZQ3+RJLGz9ZcyQCxvJmDvPAIJysBDUAbWfeF7DNf09CldPSWpTRPzBL/I\nikvWc2FBoGPIcQ5cLljGazpMhvUXwj6KkHcD3pg982SUsUNxcVjjfGJgkU9W\nb6wl2Gbd2HkBus0mEmniBMVKNlLymO0r5P95uQwGNAS59yhh+iqA44e2dzy4\nBicz\r\n=4DZo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"2aabd9d42bd13be4cdd673e40369bce419781a16","private":false,"scripts":{"test":"yarn test:default && yarn test:custom","build":"tsc","test:custom":"CUSTOM_MODEL=1 jest","test:default":"jest"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v16.13.1+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"16.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@shelf/jest-dynamodb":"^2.1.0","@aws-sdk/lib-dynamodb":"^3.36.1","@aws-sdk/client-dynamodb":"^3.36.1"},"peerDependencies":{"next-auth":"^4.0.1","@aws-sdk/lib-dynamodb":"^3.36.1"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_1.0.2_1641809896713_0.5552339926141763","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@next-auth/dynamodb-adapter","version":"1.1.0","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@1.1.0","maintainers":[{"name":"balazsorban","email":"info@balazsorban.com"},{"name":"williamluke4","email":"william@atto-byte.com"},{"name":"nextauth","email":"nextauth@balazsorban.com"},{"name":"iaincollins","email":"me@iaincollins.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"5f5f614f4db8e05b47d39eca7be20ecfb8c56d1b","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-1.1.0.tgz","fileCount":7,"integrity":"sha512-h3GFIPibDnIfECrgDp23z2Ehtq/3XhOGfIRC01Si/iHLKlzugzGru0TRD8mal+eJeZDKf+fQkLhWZ2k2SHECwg==","signatures":[{"sig":"MEYCIQC702+UCDDyuYy65X/rsLyd3B+mwfdjaUXJf3VeJIqSJwIhANEFWl23L0e7Lqo9ATBv1j11US5wME4UFWUE8wfnjdqM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24226,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh+wTwCRA9TVsSAnZWagAA/jAP/0znCgb5X8qfc5Dvh0gq\nDYp/X/fzQvdyvsEy4uG/pHZ5I8ggl+7PARdxF7xij5VDVW4c4OjB7TjkngvO\nym2ZauJxPiHg1+aavwDK1lxKqcQD0DYHjvNtAFIoDl0bAgDd1np/r9YDKFK9\nfkYolL7N7SBYWcLI+jPs6zLAAxeZ7gOAF9JVEKWlE8b4h0d2DVLDvlqlOohI\nsdXYaWLG5p3ZZ3jI3UgmewARcLrvUupzcfDZcqVqLeyzcR3/Ja7u07L1plpk\nRMtnBnYksIljclT8DXDanHjzX2BYaACsscqfCqwgxGbaq6xxFQvcGWVf1YYy\nA1Z8+/U+F6WjsCwU3Zo96E6SxrxkogfATQYSudJwU+IXjux7/536ArZnFWC8\nTw1dpcGCE/bu1fGdZJkJcCqmhCOobTMxjwyTbujOsoi/T2GBX2Nvco8PZEHp\nzL2+jTMj7sjJJ5DpjMNuT1oKujemrFXJlgZFp6zUVJqEcUbOwr/O8CTipBKf\nmQqYkZ0oHpmUc5rwg/1DIUxoO1VYlL0RJk+GlaAwrUVAQRoXBW8i2mDVZHBx\nw0C7Pyx7Rb3h3kvVN8FK6OazoDI3oCyIJ6qdVv2amjXF3ggtwA7XOLNwjuwh\nLQusISqmY+PHq2mJQbMOo+gpTGzkjSsyImUWj56THGlDxfGxwqSmSule0lQe\nAvNH\r\n=CTDB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"a84a6ae10c56f7192cf4a112ee9a8fa2b6f75b12","private":false,"scripts":{"test":"yarn test:default && yarn test:custom","build":"tsc","test:custom":"CUSTOM_MODEL=1 jest","test:default":"jest"},"_npmUser":{"name":"nextauth","email":"nextauth@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"16.13.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@shelf/jest-dynamodb":"^2.1.0","@aws-sdk/lib-dynamodb":"^3.36.1","@aws-sdk/client-dynamodb":"^3.36.1"},"peerDependencies":{"next-auth":"^4.0.1","@aws-sdk/lib-dynamodb":"^3.36.1"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_1.1.0_1643840752636_0.2820918440454754","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@next-auth/dynamodb-adapter","version":"1.0.3","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@1.0.3","maintainers":[{"name":"ndom91","email":"yo@ndo.dev"},{"name":"balazsorban","email":"info@balazsorban.com"},{"name":"iaincollins","email":"me@iaincollins.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"a0a8c227e1cfb3c9a6994b0bf3700d7ca6bc046c","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-1.0.3.tgz","fileCount":6,"integrity":"sha512-GKG9O2xkkTkhQKuOebBJgJ977oOE6a9i6iWhk7dS3OCdQvfCbrsdDIwGoPziLq3Ei3JjMl7+tKV1tBGgbSIIEQ==","signatures":[{"sig":"MEUCIHXaIcp0/+dFSf6/ssSbjtZ6kNzhppM3rCLz6pxvXAn7AiEAniImw85W8dgizlig8KU9LTO4ii03Ko1wo0ylEPs0VWI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20921,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiM3qxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqTEw/+K0A2gOPo10ai+T4c5E7ACAM+xF4JcD7yabwEKJypWNvDt4kW\r\nzXKAzPnemMS2WZtNnvXXofmPPtV6wOLMFBHyjQh/enGAKK2z/6PRiIr45d9E\r\n+Mhd+I3Hosaw/Q8RXeNt7QEj+VC4vrDOhf3eagHxKFGXL3vyxZk3AZOfpouF\r\nRYSFulJZODdv/+YnfuClVPbbyZ3OvzrdqZIvmy+s5znXSWxd3Dqn7mGTSfrG\r\niqFfv7O/Fi0qSP4KgdEbUFDPpznOdDlrgB6xaI9Ogsa+FJNatQwlFFA0Ngo3\r\ny/2FDrZltZi8HOm0dXFybMnex8Cz8IUx+MDIbWF1Cy0XjPpnUfgwhgvMnJ/E\r\nrQBV3lu9J61VkPFii2eilgV3rS096M8HsIq/yrJ20BwWVA++7lrnBTrGoXNt\r\n/mlY3OUH1qM1QF5oGoIsPdK1rAYYmOljfsQ6UADj4H+tQDWl3fjVMgWkXJfi\r\nGfZdUhjGNUr/fXBGzuo7AbI52sJXsIvX7bfnaGsUR/6LlFnv0NZI7mGv7tLD\r\n8Ohzee4mfujqBTqiKHlPfURuL7mzq0qLmgReN1Y5eYJs5P7KwJou5EeV9AhD\r\nmIL3JmYA4OAX9akmGRci0+dqrNBTPs22lmHihV35f0sHjVohBBxkiGyKpxV0\r\n8REOqIgK3m0wn7qKTpHUcWjIU5V3Zk1NF8k=\r\n=sVy1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"5100784d72d2a67eebc4b9af31018b555901ef4d","private":false,"scripts":{"test":"yarn test:default && yarn test:custom","build":"tsc","test:custom":"CUSTOM_MODEL=1 jest","test:default":"jest"},"_npmUser":{"name":"balazsorban","email":"info@balazsorban.com"},"repository":{"url":"git+https://github.com/nextauthjs/adapters.git","type":"git"},"_npmVersion":"8.3.1","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"16.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@shelf/jest-dynamodb":"^2.1.0","@aws-sdk/lib-dynamodb":"^3.36.1","@aws-sdk/client-dynamodb":"^3.36.1"},"peerDependencies":{"next-auth":"^4.0.1","@aws-sdk/lib-dynamodb":"^3.36.1"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_1.0.3_1647540913801_0.24280364955918832","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"@next-auth/dynamodb-adapter","version":"1.0.4","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@1.0.4","maintainers":[{"name":"ndom91","email":"yo@ndo.dev"},{"name":"balazsorban","email":"info@balazsorban.com"},{"name":"iaincollins","email":"me@iaincollins.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"c16b748a8879de750a48c1e8a45c9276a4989a81","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-1.0.4.tgz","fileCount":7,"integrity":"sha512-o/2q5RdKbKwB0+S57US5Z3U8EBStSTvIGgmR+Kx/p4LGltW0NnCFdxqBwmE4KRuyAh5noGHjTT1Z3t2yjDfEoQ==","signatures":[{"sig":"MEYCIQCVEi1NN2B0LcKdsVT99SuBz2oVR+ScILZz8lCyobhfqAIhAKBJ1JyfjKSzGEkRZLtvkD1ZF6KtFtT9odxHflkRYZmO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2WJYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrLOxAAggKJQ1yJMPVcAxXEeRfd5+bSHEm0FAkr9ayDsSL6dgQCfP6Z\r\n4+rmgcnS+Ysgp1YksMrVl7VZ12JFhvLAMxazu6bfrVzKv+LaI+o46ugYgQHI\r\nJe1XCRBhV3z+gAmYylxD7pNNaSSWwzrR2mKQ3pPIg1FiD1fhgXK2IN9fcN67\r\n9f6+ZpXUc+QxX6XelNc13rpLsHqZN1B6+XVcMX7BrEJowC1VElrWu887auAL\r\nn+9eG54wNDMkJdIC6aLQSMUwXTioYlAwUQkXC9vviay2e2b7jl+4QPw4pxbf\r\n5+BjFQ6ma4M1sHkt7M6L6xSyUbuHF8ErWt3sx5J465mkOuT5B2GIzgD12Gxw\r\nubi7MuwXWTUjLHMHIinf+Wf6OXDz0/NK1/tedNdqy4CxuOEem5pi4433FzLP\r\nhna0GBCHJhsWmIQ6djeRVkuLt7sJcxZi8mcYZy/Ya2D3UBSCVGQKkvBEOT4k\r\njGWH0DYsjl1uqwrq4exLRX4Fv1/YiraK9QTwf2L2HzSVnYvqvcEOQJf3CIbM\r\nH7QRHnY025I0tAwb0pwmIDBE3JbUHXO8ynLQbnTEDEQDcjsJmYqSv/WoPuPp\r\nuSAFI9SnCZbUhVMnzm1uxUSX8mVCEAQ19HeU5tinF8kRRTtupaoEODbuXnaq\r\nKmEnyyoMsrj/gUGBZvGHjZl7F9rtxWbOBHg=\r\n=1FZY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:next-auth-dynamodb-adapter-1.0.4.tgz","types":"./dist/index.d.ts","private":false,"scripts":{"test":"pnpm test:default && pnpm test:custom","build":"tsc","test:custom":"CUSTOM_MODEL=1 jest","test:default":"jest"},"_npmUser":{"name":"balazsorban","email":"info@balazsorban.com"},"_resolved":"/tmp/d3d50265e41caaebbbeff67ed9d8e30c/next-auth-dynamodb-adapter-1.0.4.tgz","_integrity":"sha512-o/2q5RdKbKwB0+S57US5Z3U8EBStSTvIGgmR+Kx/p4LGltW0NnCFdxqBwmE4KRuyAh5noGHjTT1Z3t2yjDfEoQ==","repository":{"url":"git+https://github.com/nextauthjs/next-auth.git","type":"git"},"_npmVersion":"8.11.0","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"16.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.3","next-auth":"4.10.2","@next-auth/tsconfig":"^0.0.0","@shelf/jest-dynamodb":"^2.1.0","@aws-sdk/lib-dynamodb":"^3.36.1","@next-auth/adapter-test":"^0.0.0","@aws-sdk/client-dynamodb":"^3.36.1"},"peerDependencies":{"next-auth":"^4","@aws-sdk/lib-dynamodb":"^3.36.1"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_1.0.4_1658413656403_0.44807840432666923","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"@next-auth/dynamodb-adapter","version":"1.0.5","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@1.0.5","maintainers":[{"name":"thvu","email":"hi@thvu.dev"},{"name":"ndom91","email":"yo@ndo.dev"},{"name":"balazsorban","email":"info@balazsorban.com"},{"name":"iaincollins","email":"me@iaincollins.com"}],"homepage":"https://next-auth.js.org","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"cbab13f735da7ff6713bc28a112523b4802f8148","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-1.0.5.tgz","fileCount":7,"integrity":"sha512-OpIXSyj8bpOmcvhPKpdjuPzXghIyr3JuBnfDiyF0tCEmjdk8kR2y5QA5Dty+Wv3RQXXfcQaIo9gU1cHaUfDxog==","signatures":[{"sig":"MEYCIQDB08DkSETJggtvGzlIT35XLRLzNUCRyxtrnbKo0jr9+AIhALxZYO1Ozv4EWkmiIfLQ5dpdu35SSGfuhcbTWh5wyW7L","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21794,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjQuxwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp3Sg//e+elZVR1GGC9XU/RZ3/Irk0rR6KBOY+0+xC/cwk+ZI8c4pQM\r\nPWg0qDqFawosl2vntrxohD45AhCiB1jOsSCxadeWF2ZzJhqCxgm/ezciwnjC\r\nDv13yqGoduJdU5rwWY+lJoDXCGv6BTyvZPDGxrjA89uYzdJpyJezNX+Knzux\r\nB3RNSk96OCgij3PVV7Gp/V9i6622R0YFRDSKx/cc4/IEREG5yBcPukxijPXs\r\nMWhpa446dxxLRzIF1ThMrAPxEVrysUKtFDXjWnD5qRP4btrENgzGHUe4sPba\r\n129ol0FeZqhAIPVrsEhRFoYfXikbrkJfeQkhZIGMA+/PsyPx7llaco7/To3x\r\nJoNWtJKKsxeRq/U2h5R08p121s/H+V6vZS1ZtAAbvXCUwDuktuuFlvZlGO+m\r\nLOMXFk133v4xDrkxZc/MkuiRnay4CJDRoE9bIS+Le/Is58lQF0gko9kWFAyE\r\nkxuaS5GCkngg6l9ynWxp76czgyyPROUlLB79Fn+D+1154F0c5QVI5ai1fdAb\r\nTNqw0+/y7cSBr5uvBWvBm8GG7UdBX6VJm67Yx7BUtgpUlSM07QRstC/zAD93\r\n/1zm0GzNMMtuC4p6zsHMP1foPLfEWhNFS/jwoty4/+s17zZQsOurHWdMuyRj\r\n+1AV0ckDRjRmgCUnnJwZYdLPks8+oHDpaNg=\r\n=1t6U\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:next-auth-dynamodb-adapter-1.0.5.tgz","types":"./dist/index.d.ts","private":false,"scripts":{"test":"pnpm test:default && pnpm test:custom","build":"tsc","test:custom":"CUSTOM_MODEL=1 jest","test:default":"jest"},"_npmUser":{"name":"balazsorban","email":"info@balazsorban.com"},"_resolved":"/tmp/e00fb3e4cfc3fe0a905d4b6bfd98223b/next-auth-dynamodb-adapter-1.0.5.tgz","_integrity":"sha512-OpIXSyj8bpOmcvhPKpdjuPzXghIyr3JuBnfDiyF0tCEmjdk8kR2y5QA5Dty+Wv3RQXXfcQaIo9gU1cHaUfDxog==","repository":{"url":"git+https://github.com/nextauthjs/next-auth.git","type":"git"},"_npmVersion":"8.15.0","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"16.17.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.3","next-auth":"4.12.3","@next-auth/tsconfig":"0.0.0","@shelf/jest-dynamodb":"^2.1.0","@aws-sdk/lib-dynamodb":"^3.36.1","@next-auth/adapter-test":"0.0.0","@aws-sdk/client-dynamodb":"^3.36.1"},"peerDependencies":{"next-auth":"^4","@aws-sdk/lib-dynamodb":"^3.36.1"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_1.0.5_1665330288728_0.6281984769447393","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"@next-auth/dynamodb-adapter","version":"1.0.6","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@1.0.6","maintainers":[{"name":"thvu","email":"hi@thvu.dev"},{"name":"ndom91","email":"yo@ndo.dev"},{"name":"balazsorban","email":"info@balazsorban.com"},{"name":"iaincollins","email":"me@iaincollins.com"}],"homepage":"https://authjs.dev","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"7b6b51723a56a99a6ab03b0a5b9fadfbc4661611","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-1.0.6.tgz","fileCount":7,"integrity":"sha512-DTACG6M3pywQr653pfOFc8vZD3v8rNm+5FfQ6+Ziia09NhTk28+dNsCU4XAXe7Qk0H36P+w2Agk23qIA8thLdg==","signatures":[{"sig":"MEUCIQCuxXVL6cDKogSbT+l4X5l0PmWm5n/MWTJOm4HIKUY+MQIgTzv7oNAKYIzwrhKQCYkf4250AcpBWGp5xcdXnqc5QlY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21828,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtSMEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqZYhAAolhNtzPAGUIaISBcyiYiLw6xS9L7ON2CmnBxubMNcRIxijNX\r\n25mozB6TbwtVR9WgvQ0ULf2FczEmURIDk4ivY4/zP56ov9Zltzb0b2I0VQKP\r\nBOE0E9cCW6khLiHtGZnFBJmeFdioqerpzcNjMmFsKme2J0bruvlHaDvHKbVW\r\n+kDqggO1/fAtA6+YBW5mv4nS+gyluneOZ5ZUTAWzwQl23I+CxD64E5eY3Oa4\r\nTWFZ5I5ewBehWWmCsXeB+6IK6mdqIwMXZm4Yd3oCTHlOyKvVgMfqpVyHnt79\r\n3IWi0PbwaUvGG9t3wKioV1Kzr/wKbbTCMUFALNGZJ0Z040rrQ9n8hGK5C1xb\r\nwC8LwYopjCKcWWx4YMp1Qzmjz8mGki00MSMwCfgBNfVfXHIelbUj4wPyAiiK\r\nlM0ipo0a8sOQzc5+wAeKPxCsOERd9lMT2bLAbs8u5QiCQP5TxekMco6xR7ht\r\ngRFYUX9JCDlZC1zE53GRhmGV6Hu5VTnTR+LVktwIZSmCc5KbSNRfOjrFAzEu\r\nRScKErKzf6hnObDuRmxJccjDUL/1p3SKKFCFjYHZcQSx4sgXcYmk45CAcwMG\r\nO38Gp1W+9g/iC9409Mn2UpJkg+7r9KC7QJAbxVUHq4USsaV6jTW77xjjXKLW\r\nOYw1iz/2U5MJhW+ZSrfRbau/xhS25g2is0c=\r\n=ndqQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:next-auth-dynamodb-adapter-1.0.6.tgz","types":"./dist/index.d.ts","private":false,"scripts":{"test":"pnpm test:default && pnpm test:custom","build":"tsc","test:custom":"CUSTOM_MODEL=1 jest","test:default":"jest"},"_npmUser":{"name":"balazsorban","email":"info@balazsorban.com"},"_resolved":"/tmp/566e3cc91416f68ae571569d06eb64e7/next-auth-dynamodb-adapter-1.0.6.tgz","_integrity":"sha512-DTACG6M3pywQr653pfOFc8vZD3v8rNm+5FfQ6+Ziia09NhTk28+dNsCU4XAXe7Qk0H36P+w2Agk23qIA8thLdg==","repository":{"url":"git+https://github.com/nextauthjs/next-auth.git","type":"git"},"_npmVersion":"8.19.2","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"18.12.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.3","next-auth":"4.18.6","@next-auth/tsconfig":"0.0.0","@shelf/jest-dynamodb":"^2.1.0","@aws-sdk/lib-dynamodb":"^3.36.1","@next-auth/adapter-test":"0.0.0","@aws-sdk/client-dynamodb":"^3.36.1"},"peerDependencies":{"next-auth":"^4","@aws-sdk/lib-dynamodb":"^3.36.1","@aws-sdk/client-dynamodb":"^3.36.1"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_1.0.6_1672815364629_0.2687806986501402","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"@next-auth/dynamodb-adapter","version":"1.2.0","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@1.2.0","maintainers":[{"name":"thvu","email":"hi@thvu.dev"},{"name":"ndom91","email":"yo@ndo.dev"},{"name":"balazsorban","email":"info@balazsorban.com"},{"name":"iaincollins","email":"me@iaincollins.com"}],"homepage":"https://authjs.dev","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"9f1b94478c6f71947d3d8001aae1b9db1521388b","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-1.2.0.tgz","fileCount":7,"integrity":"sha512-KM9N9D7pe/uJUqaSXuN9cLWGuJVnZXhSgaqhoRE5KZ1q6eDrq1VF8r11KfhB3VQjoGf2e2o7O9OqqXatqt9kSg==","signatures":[{"sig":"MEUCIHRpck0hNLqFWrh3R0ZIDZB6AA9vVD7a/2lLA66/svjXAiEAwa5jkESrOjZY3jBRD4EwEtmHUmH4dCOXM05EAg2062g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22708,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjzzwSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpvMw/8DgpfATY7gtqkrkCwukFL0cSoz9djj7bYWn/L226Ke04Qc8Lc\r\nY+AsaZg0Xxp6p0zUDhvTGhx/4hEFtNt9c3Bp3etVxR9juTD8vrUfpbeT0wLc\r\n9xf5ydet0SMY7XhuY6l7aHlIhAwJx4ZFLNx8iDX/ZQ6ZNIgoYnq1Q+E5r1PO\r\npWzX27BbZVWkGsdbxi5WhM4RKLJCZqZKXA94ZdW4h7HIp2pIgjXlq4+UUJTx\r\n5LW6t5Q2jJWTIit3U3yavVEqKou/3wnXQNs4hgEGX2qf8zALiZECHGWv+DWn\r\nPMzigWoLV26yzynCEdU8mOoEaICWygKDjWogqBs1ebczRKvNFWw8l+q1VV0i\r\n0eeGFG8Bs4MZwsRhLiqFtiqaNhEUI38ymiUhrvUQ8s8BUZhFymUmI3htCL31\r\n/NVuXodgXsqdi0dVXJD8biMxwOjb7gUUa4a1CaD1d0oZvYvovOMD5Ccsozbp\r\nYNj0FYzNbXxz4bSqQE86F1qw2uscxqW4L15deFD2DYQbCfKTPQqm0XSvML9B\r\n9Wj4YklXnojAJ8JIokCW0s5YM9NARmSzQpGfuxtvBu6wWhxNF1SzhES3ifJK\r\nhD/CetaE3iDvc8KnDqsVDT7I1APWRIhtD8MB6k45DF5HMNr0VeKKNt/gb20h\r\nHghbH/qSAREYIWqRGulkPDLSXAKQfZWTCtc=\r\n=ynth\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:next-auth-dynamodb-adapter-1.2.0.tgz","types":"./dist/index.d.ts","private":false,"scripts":{"test":"pnpm test:default && pnpm test:custom","build":"tsc","test:custom":"CUSTOM_MODEL=1 jest","test:default":"jest"},"_npmUser":{"name":"balazsorban","email":"info@balazsorban.com"},"_resolved":"/tmp/1c1e1e6474e42a755eced31a4f8bd09b/next-auth-dynamodb-adapter-1.2.0.tgz","_integrity":"sha512-KM9N9D7pe/uJUqaSXuN9cLWGuJVnZXhSgaqhoRE5KZ1q6eDrq1VF8r11KfhB3VQjoGf2e2o7O9OqqXatqt9kSg==","repository":{"url":"git+https://github.com/nextauthjs/next-auth.git","type":"git"},"_npmVersion":"8.19.3","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"18.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.3","next-auth":"4.18.6","@next-auth/tsconfig":"0.0.0","@shelf/jest-dynamodb":"^2.1.0","@aws-sdk/lib-dynamodb":"^3.36.1","@next-auth/adapter-test":"0.0.0","@aws-sdk/client-dynamodb":"^3.36.1"},"peerDependencies":{"next-auth":"^4","@aws-sdk/lib-dynamodb":"^3.36.1","@aws-sdk/client-dynamodb":"^3.36.1"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_1.2.0_1674525714706_0.5534864377217545","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@next-auth/dynamodb-adapter","version":"2.0.0","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@2.0.0","maintainers":[{"name":"thvu","email":"hi@thvu.dev"},{"name":"ndom91","email":"yo@ndo.dev"},{"name":"balazsorban","email":"info@balazsorban.com"},{"name":"iaincollins","email":"me@iaincollins.com"}],"homepage":"https://authjs.dev","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"c3b507dd27056ce8ba7bd0bfe484444c1c0dc4e0","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-2.0.0.tgz","fileCount":10,"integrity":"sha512-9HeW/UsIxOVw2NJYQyKKrEjmqTr3bjQaVepRr3kp+vms0OCcQnmXxzXJLubhHCiUM50jXm2r+E5Jr0/ghPo4Gg==","signatures":[{"sig":"MEYCIQCfDhC9a7zLA7FArlcNuXWx3RqyOkDBhOEfj+tMWJq8LAIhAKUD6OCEylh5EmOrx3QjeAHBiv3WijVzz/dg6+cHluZZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33836,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2+ZNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpUuQ//aJGigTBPGisWMdqGtgspuxOQdMy1SUIDerNqXOsrun2LnlrP\r\nC/+DSW937dJ61Kz34mKSfXbjNjYHKQidM2oeep9IrPa63DFzK7hS9uGJO6df\r\nrEJwSbGgpXbK9YScNVfTlX6CLM23VnbRDzh+K43mAK05A26XSkpM/NSpnrnY\r\nHQ+V017Q6YFFA8ACqnEwBg7yAvuToE2PdmpFnHkQKNpHrNlxGGziVLKDZ8L/\r\n+7Xm17B9AvEdX4tHz2OwA9gCMgQg5XUN4RORCZhykk4A4UFwc1ncwh4zLFBO\r\n/5VRKx9vnIPe8Y75dOAsKxJTW9g4ItGX4cIrDWtoqjTaypZdmajhxQZQfNDu\r\ngX+KjlxzdtYHzGGGjFa1Wae6uUI8Y7RN2dfDnbiq8pM+q8/vjJ50PrPM+/UP\r\nBh7WpJdik2HG2Pbl9QR+cTIRnFivvNkxGx5z9gYyfcnEqZve4GD+73ECMHV8\r\nZV9PO1qcMpmjOu3b/voEIJkhSMRuzJ7pzAfMs57n+x206JTBLgIZKG59vQ7C\r\n/MY5+0DRp3lfjybZWPAmgvUcmu5O5qir0f+1INmjyMb0jy4xZfkDl6aYwbmw\r\nXShaZIP6cOZEu7q+Kg2f1RhMOEH1O3clvl5zDR53tdoNeE8AkQi1Kyw63eSv\r\nB2ZzTwhpvD8Wc5VZMjrFxMUZ/uCFsXiYujQ=\r\n=O5Z8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","type":"module","types":"./index.d.ts","readme":"<p align=\"center\">\n   <br/>\n   <a href=\"https://authjs.dev\" target=\"_blank\"><img height=\"64px\" src=\"https://authjs.dev/img/logo/logo-sm.png\" /></a>&nbsp;&nbsp;&nbsp;&nbsp;<img height=\"64px\" src=\"https://raw.githubusercontent.com/nextauthjs/adapters/main/packages/dynamodb/logo.png\" />\n   <h3 align=\"center\"><b>DynamoDB Adapter</b> - NextAuth.js</h3>\n   <p align=\"center\">\n   Open Source. Full Stack. Own Your Data.\n   </p>\n   <p align=\"center\" style=\"align: center;\">\n      <img src=\"https://github.com/nextauthjs/next-auth/actions/workflows/release.yml/badge.svg?branch=main\" alt=\"Build Test\" />\n      <img src=\"https://img.shields.io/bundlephobia/minzip/@next-auth/dynamodb-adapter/latest\" alt=\"Bundle Size\"/>\n      <img src=\"https://img.shields.io/npm/v/@next-auth/dynamodb-adapter\" alt=\"@next-auth/dynamodb-adapter Version\" />\n   </p>\n</p>\n\n## Overview\n\nThis is the AWS DynamoDB Adapter for next-auth. This package can only be used in conjunction with the primary next-auth package. It is not a standalone package.\n\nYou need a table with a partition key `pk` and a sort key `sk`. Your table also needs a global secondary index named `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\nIf you want sessions and verification tokens to get automatically removed from your table you need to [activate TTL](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html) on your table with the TTL attribute name set to `expires`\n\nYou can find the DynamoDB schema in the docs at [authjs.dev/reference/adapters/dynamodb](https://authjs.dev/reference/adapters/dynamodb).\n\n## Getting Started\n\n1. Install `next-auth` and `@next-auth/dynamodb-adapter`\n\n```js\nnpm install next-auth @next-auth/dynamodb-adapter\n```\n\n2. Add this adapter to your `pages/api/[...nextauth].js` next-auth configuration object.\n\nYou need to pass `DocumentClient` instance from `aws-sdk` to the adapter.\nThe default table name is `next-auth`, but you can customise that by passing `{ tableName: 'your-table-name' }` as the second parameter in the adapter.\n\n```js\nimport { DynamoDB } from \"@aws-sdk/client-dynamodb\"\nimport { DynamoDBDocument } from \"@aws-sdk/lib-dynamodb\"\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nconst config: DynamoDBClientConfig = {\n  credentials: {\n    accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY as string,\n    secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY as string,\n  },\n  region: process.env.NEXT_AUTH_AWS_REGION,\n};\n\nconst client = DynamoDBDocument.from(new DynamoDB(config), {\n  marshallOptions: {\n    convertEmptyValues: true,\n    removeUndefinedValues: true,\n    convertClassInstanceToMap: true,\n  },\n})\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter(\n    client\n  ),\n  ...\n});\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respects the single table design pattern. This has many advantages:\n\n- Only one table to manage, monitor and provision.\n- Querying relations is faster than with multi-table schemas (for eg. retreiving all sessions for a user).\n- Only one table needs to be replicated, if you want to go multi-region.\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"\">\n</p>\n\n## Contributing\n\nWe're open to all community contributions! If you'd like to contribute in any way, please read our [Contributing Guide](https://github.com/nextauthjs/.github/blob/main/CONTRIBUTING.md).\n\n## License\n\nISC\n","gitHead":"7d73819b17e21e654cf4fbee6749343f44e589c8","private":false,"scripts":{"test":"pnpm test:default && pnpm test:custom","build":"tsc","test:custom":"CUSTOM_MODEL=1 jest","test:default":"jest"},"_npmUser":{"name":"thvu","email":"hi@thvu.dev"},"repository":{"url":"git+https://github.com/nextauthjs/next-auth.git","type":"git"},"_npmVersion":"8.15.0","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"16.17.0","dependencies":{"uuid":"^9.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^27.4.3","next-auth":"workspace:*","@types/uuid":"^9.0.0","@next-auth/tsconfig":"workspace:*","@shelf/jest-dynamodb":"^2.1.0","@aws-sdk/lib-dynamodb":"^3.36.1","@next-auth/adapter-test":"workspace:*","@aws-sdk/client-dynamodb":"^3.36.1"},"peerDependencies":{"next-auth":"^4","@aws-sdk/lib-dynamodb":"^3.36.1","@aws-sdk/client-dynamodb":"^3.36.1"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_2.0.0_1675355725651_0.048445478958107024","host":"s3://npm-registry-packages"}},"2.0.0-experimental.0":{"name":"@next-auth/dynamodb-adapter","version":"2.0.0-experimental.0","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@2.0.0-experimental.0","maintainers":[{"name":"thvu","email":"hi@thvu.dev"},{"name":"ndom91","email":"yo@ndo.dev"},{"name":"balazsorban","email":"info@balazsorban.com"},{"name":"iaincollins","email":"me@iaincollins.com"}],"homepage":"https://authjs.dev","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"5efb2b592f74a5136ca1f40523d125e4e4e23a0f","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-2.0.0-experimental.0.tgz","fileCount":10,"integrity":"sha512-fUaR9HkWEPoxHDODxubul4mWeCKVd8WZ0wmFSzxD5xrZJWazEm094JUz1q+Rp1HYsmPDz2b1QnUZ49iOEWMavg==","signatures":[{"sig":"MEUCIQDvQKLbTcXKx7Lv6OYol5f1Hb+JGNAvD4evtdBN5mhsEAIgJOCyKc1V1OahzoIGk80iGUdvyXb4O78rc2aUlFa2iVw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33846,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj3KzwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqlEg//Qny05iKw66vy/eIz9Gpo23Z+igOSnE5K1HrWZcdP5dbbWOuc\r\nwoR8Ja0EWA6OnKFINV/q1DI8i5WX/lGRR9H6BzWeEu+9pvUhVgWzBI4ZrJ+g\r\nU2Upk4cAIuQJmHk6hGTfUaTtOmzAI37ciw372hVG+GRSLie0QaMUtAMVKUT2\r\nwbE7Y0EpWpsm6V+UAdAFH9zFt6Xy0L8JYaSk1muGvqCZKUrWZQw8ZPPYf1xd\r\nJ9Kxd+3Naz6cPpQlbojyDeQrqzNA54I1JASLHJfoQc/ZjoPUFA926BoObID8\r\nu9iJGQ4Nwm8Drtq2aZM3DD2i7Rpg+Hs+1wjCXYK0RsLxLcuJpoLc9md7eXAO\r\nd+DCUmWjGqAmmDsE6o0PqeS4kfkpyTYAzU6dJAxu3waKjT/9qE2Rtq1Z+s0M\r\nTa1ABex5KTqYG0NwB7ShLqSLbVLAxHEYn6C0ACbXDcwGdSGl5vRBSmec0hm4\r\n6Yxha5fcao14GH9lZOx9c+Z1qPxGbHHAjCRouMT8DYgsMaqosbOoIllmDSV6\r\nSh6WLoLt0F4q74xZcuARWOO9wMdEOYNq7zPDeqMguR/o55xtRyjH4SIx21Xn\r\n66cyhD0BQi10P1s6jOTcyc9i1vaa0qqP8ix/DObPMM9cZDSOedDyO80XOzDP\r\nfBFybfylbE2bb7WAtBI6B+py63HLbap0ER8=\r\n=NDx2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","types":"./index.d.ts","readme":"<p align=\"center\">\n   <br/>\n   <a href=\"https://authjs.dev\" target=\"_blank\"><img height=\"64px\" src=\"https://authjs.dev/img/logo/logo-sm.png\" /></a>&nbsp;&nbsp;&nbsp;&nbsp;<img height=\"64px\" src=\"https://raw.githubusercontent.com/nextauthjs/adapters/main/packages/dynamodb/logo.png\" />\n   <h3 align=\"center\"><b>DynamoDB Adapter</b> - NextAuth.js</h3>\n   <p align=\"center\">\n   Open Source. Full Stack. Own Your Data.\n   </p>\n   <p align=\"center\" style=\"align: center;\">\n      <img src=\"https://github.com/nextauthjs/next-auth/actions/workflows/release.yml/badge.svg?branch=main\" alt=\"Build Test\" />\n      <img src=\"https://img.shields.io/bundlephobia/minzip/@next-auth/dynamodb-adapter/latest\" alt=\"Bundle Size\"/>\n      <img src=\"https://img.shields.io/npm/v/@next-auth/dynamodb-adapter\" alt=\"@next-auth/dynamodb-adapter Version\" />\n   </p>\n</p>\n\n## Overview\n\nThis is the AWS DynamoDB Adapter for next-auth. This package can only be used in conjunction with the primary next-auth package. It is not a standalone package.\n\nYou need a table with a partition key `pk` and a sort key `sk`. Your table also needs a global secondary index named `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\nIf you want sessions and verification tokens to get automatically removed from your table you need to [activate TTL](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html) on your table with the TTL attribute name set to `expires`\n\nYou can find the DynamoDB schema in the docs at [authjs.dev/reference/adapters/dynamodb](https://authjs.dev/reference/adapters/dynamodb).\n\n## Getting Started\n\n1. Install `next-auth` and `@next-auth/dynamodb-adapter`\n\n```js\nnpm install next-auth @next-auth/dynamodb-adapter\n```\n\n2. Add this adapter to your `pages/api/[...nextauth].js` next-auth configuration object.\n\nYou need to pass `DocumentClient` instance from `aws-sdk` to the adapter.\nThe default table name is `next-auth`, but you can customise that by passing `{ tableName: 'your-table-name' }` as the second parameter in the adapter.\n\n```js\nimport { DynamoDB } from \"@aws-sdk/client-dynamodb\"\nimport { DynamoDBDocument } from \"@aws-sdk/lib-dynamodb\"\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nconst config: DynamoDBClientConfig = {\n  credentials: {\n    accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY as string,\n    secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY as string,\n  },\n  region: process.env.NEXT_AUTH_AWS_REGION,\n};\n\nconst client = DynamoDBDocument.from(new DynamoDB(config), {\n  marshallOptions: {\n    convertEmptyValues: true,\n    removeUndefinedValues: true,\n    convertClassInstanceToMap: true,\n  },\n})\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter(\n    client\n  ),\n  ...\n});\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respects the single table design pattern. This has many advantages:\n\n- Only one table to manage, monitor and provision.\n- Querying relations is faster than with multi-table schemas (for eg. retreiving all sessions for a user).\n- Only one table needs to be replicated, if you want to go multi-region.\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"\">\n</p>\n\n## Contributing\n\nWe're open to all community contributions! If you'd like to contribute in any way, please read our [Contributing Guide](https://github.com/nextauthjs/.github/blob/main/CONTRIBUTING.md).\n\n## License\n\nISC\n","gitHead":"580f6210df796d0115066f6bb6a97fa8f81bc30d","private":false,"scripts":{"test":"pnpm test:default && pnpm test:custom","build":"tsc","test:custom":"CUSTOM_MODEL=1 jest","test:default":"jest"},"_npmUser":{"name":"thvu","email":"hi@thvu.dev"},"repository":{"url":"git+https://github.com/nextauthjs/next-auth.git","type":"git"},"_npmVersion":"8.15.0","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"16.17.0","dependencies":{"uuid":"^9.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^27.4.3","next-auth":"workspace:*","@types/uuid":"^9.0.0","@next-auth/tsconfig":"workspace:*","@shelf/jest-dynamodb":"^2.1.0","@aws-sdk/lib-dynamodb":"^3.36.1","@next-auth/adapter-test":"workspace:*","@aws-sdk/client-dynamodb":"^3.36.1"},"peerDependencies":{"next-auth":"^4","@aws-sdk/lib-dynamodb":"^3.36.1","@aws-sdk/client-dynamodb":"^3.36.1"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_2.0.0-experimental.0_1675406576486_0.07427005045495005","host":"s3://npm-registry-packages"}},"2.0.0-experimental.1":{"name":"@next-auth/dynamodb-adapter","version":"2.0.0-experimental.1","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@2.0.0-experimental.1","maintainers":[{"name":"thvu","email":"hi@thvu.dev"},{"name":"ndom91","email":"yo@ndo.dev"},{"name":"balazsorban","email":"info@balazsorban.com"},{"name":"iaincollins","email":"me@iaincollins.com"}],"homepage":"https://authjs.dev","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"823af8be3156cad6c9e53b1afb007b12630215cb","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-2.0.0-experimental.1.tgz","fileCount":10,"integrity":"sha512-N140Ul9iK6G5l5L67JSMyMdWBtJGDqWNNWMqdtCGi+HXeseh+lnUF1D+nN60EAsiQjk8zqaXlr8Fv5zTwlQukQ==","signatures":[{"sig":"MEUCIEzet22RoJF4UwiEe4TQww6LoOFvX3gA7bZXmeV71LArAiEAoXjydKqEjf5yYF8qAsAcxXKYFLQfW/basUNhgeVrOmE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34005,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj3LT8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoFPA//bIIiGIIZIXAPM2jPKTRWW3HeZ3kH/fAUET1Z8cydqS7VD21F\r\ndUISSsl/n43bvp+EBKmiQgxs5VGbR8KfCSx71JnnfSLEUvJUVkuPn0qA+xGH\r\nUk3cx09MFjjJ3Oxzq5voNtrC1/fbWtOtp9Lf/Erq2biAqTYCksBdC8wDzp14\r\nWOFAQgbo58fWf5tSiW/CjpTSyu9NcvasYPVbhFIGmFtF2EmqA0zGhl1r3zeG\r\nMUTehLK1UyamMR5p69p4zU5srDOPbE0Slv89+8sByhqE9Q3BkNKdxQInUTj+\r\nfPdr1QN+mP7OXi7Vd4qV4Pp0AD3UK7QGxnH7SWSbA5TYQF59IWSNcIi2jeC4\r\nsIBtr/KgImlA/P7VQnKsbA4j8MJprNPlCBjqJ82XhoypfD69MXT0FZPGSm0I\r\nsAu9rY328s3AvjFnuxq7srKHBfx0+NzEXzX3hUtGzpe884pWtvFh3mgKtrsi\r\nlmLnKZr83NKuHqdZKrA7fJXoG9P5F1A5IgrIN1YQrVcUhSXUw4L6FY8Ms8gr\r\np7kZDeIadnmCsuzFYJgygwRDBv/ZNxyG/leDaxaIDylz07fXvNxy7ZLNEgbd\r\ns1zex+ewIKnv+I/fcA5q8A0Il4krgzMPGDmVwLa44MfOjxO/doKEKDimXet/\r\nuHXIuOQWuEizLGdA9UOXR/Nf40uego1UbMY=\r\n=MS1/\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","types":"./index.d.ts","readme":"<p align=\"center\">\n   <br/>\n   <a href=\"https://authjs.dev\" target=\"_blank\"><img height=\"64px\" src=\"https://authjs.dev/img/logo/logo-sm.png\" /></a>&nbsp;&nbsp;&nbsp;&nbsp;<img height=\"64px\" src=\"https://raw.githubusercontent.com/nextauthjs/adapters/main/packages/dynamodb/logo.png\" />\n   <h3 align=\"center\"><b>DynamoDB Adapter</b> - NextAuth.js</h3>\n   <p align=\"center\">\n   Open Source. Full Stack. Own Your Data.\n   </p>\n   <p align=\"center\" style=\"align: center;\">\n      <img src=\"https://github.com/nextauthjs/next-auth/actions/workflows/release.yml/badge.svg?branch=main\" alt=\"Build Test\" />\n      <img src=\"https://img.shields.io/bundlephobia/minzip/@next-auth/dynamodb-adapter/latest\" alt=\"Bundle Size\"/>\n      <img src=\"https://img.shields.io/npm/v/@next-auth/dynamodb-adapter\" alt=\"@next-auth/dynamodb-adapter Version\" />\n   </p>\n</p>\n\n## Overview\n\nThis is the AWS DynamoDB Adapter for next-auth. This package can only be used in conjunction with the primary next-auth package. It is not a standalone package.\n\nYou need a table with a partition key `pk` and a sort key `sk`. Your table also needs a global secondary index named `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\nIf you want sessions and verification tokens to get automatically removed from your table you need to [activate TTL](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html) on your table with the TTL attribute name set to `expires`\n\nYou can find the DynamoDB schema in the docs at [authjs.dev/reference/adapters/dynamodb](https://authjs.dev/reference/adapters/dynamodb).\n\n## Getting Started\n\n1. Install `next-auth` and `@next-auth/dynamodb-adapter`\n\n```js\nnpm install next-auth @next-auth/dynamodb-adapter\n```\n\n2. Add this adapter to your `pages/api/[...nextauth].js` next-auth configuration object.\n\nYou need to pass `DocumentClient` instance from `aws-sdk` to the adapter.\nThe default table name is `next-auth`, but you can customise that by passing `{ tableName: 'your-table-name' }` as the second parameter in the adapter.\n\n```js\nimport { DynamoDB } from \"@aws-sdk/client-dynamodb\"\nimport { DynamoDBDocument } from \"@aws-sdk/lib-dynamodb\"\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nconst config: DynamoDBClientConfig = {\n  credentials: {\n    accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY as string,\n    secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY as string,\n  },\n  region: process.env.NEXT_AUTH_AWS_REGION,\n};\n\nconst client = DynamoDBDocument.from(new DynamoDB(config), {\n  marshallOptions: {\n    convertEmptyValues: true,\n    removeUndefinedValues: true,\n    convertClassInstanceToMap: true,\n  },\n})\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter(\n    client\n  ),\n  ...\n});\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respects the single table design pattern. This has many advantages:\n\n- Only one table to manage, monitor and provision.\n- Querying relations is faster than with multi-table schemas (for eg. retreiving all sessions for a user).\n- Only one table needs to be replicated, if you want to go multi-region.\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"\">\n</p>\n\n## Contributing\n\nWe're open to all community contributions! If you'd like to contribute in any way, please read our [Contributing Guide](https://github.com/nextauthjs/.github/blob/main/CONTRIBUTING.md).\n\n## License\n\nISC\n","exports":{".":{"types":"./index.d.ts","import":"./index.js"},"./utils":{"types":"./utils.d.ts","import":"./utils.js"}},"gitHead":"e39524f173670a739830add39ea9c40d747b309b","private":false,"scripts":{"test":"pnpm test:default && pnpm test:custom","build":"tsc","test:custom":"CUSTOM_MODEL=1 jest","test:default":"jest"},"_npmUser":{"name":"thvu","email":"hi@thvu.dev"},"repository":{"url":"git+https://github.com/nextauthjs/next-auth.git","type":"git"},"_npmVersion":"8.15.0","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"16.17.0","dependencies":{"uuid":"^9.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^27.4.3","next-auth":"workspace:*","@types/uuid":"^9.0.0","@next-auth/tsconfig":"workspace:*","@shelf/jest-dynamodb":"^2.1.0","@aws-sdk/lib-dynamodb":"^3.36.1","@next-auth/adapter-test":"workspace:*","@aws-sdk/client-dynamodb":"^3.36.1"},"peerDependencies":{"next-auth":"^4","@aws-sdk/lib-dynamodb":"^3.36.1","@aws-sdk/client-dynamodb":"^3.36.1"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_2.0.0-experimental.1_1675408636101_0.3683418483124108","host":"s3://npm-registry-packages"}},"2.0.0-experimental.2":{"name":"@next-auth/dynamodb-adapter","version":"2.0.0-experimental.2","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@2.0.0-experimental.2","maintainers":[{"name":"thvu","email":"hi@thvu.dev"},{"name":"ndom91","email":"yo@ndo.dev"},{"name":"balazsorban","email":"info@balazsorban.com"},{"name":"iaincollins","email":"me@iaincollins.com"}],"homepage":"https://authjs.dev","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"f7941e319858d596662441c23184825d6ecf1e8a","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-2.0.0-experimental.2.tgz","fileCount":3,"integrity":"sha512-Itopc9viWGCm1b3pQiwrNZTLavt7w+2xU22lp9YdSZztjJ2h0ld+4bt0wARGnrr7qx/IOgsy66LrpuhaDAlagA==","signatures":[{"sig":"MEUCIQDGuVa5OuNruSkMLr7hy+8iGTmjwOV2KH0uVZ6QzXcNawIgZel4MX4ixNKI+86lpOwi8qsfSYpCjfY2c1qDZl2QOLE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17782,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj3jmVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrabg//UBv7jHi7OKSv9Idx47/ThzgeFouOBem0UVaIjBcMAnMlw7mR\r\nCkat1w5G/KUHyJO77oNgMosSjeDLmvcMCZY6CoahefkeuJOL8Q/S85FdVNKw\r\nYjA73xVAVHRRxOpMat3N0wkWbjV+nd2h4b6dfl7jYmmk4AgVY4hHDgm9N9f+\r\n/cHdD/iOOkllV682hZMBrx8jqQs2btX7cgTI9O0C5ZOhlvlymbBqrAlk70B3\r\nj6u/lVFUsuU3MzS/H/pxXboqSZi6J8l6ts+XP34tXGMncINbsEGVSMpnxuu1\r\ni9v54GFvQn6wD6qvOVyUHo27Z6A/NUxy9r/Mfxhyqa78aJ2cjims/8/R+urI\r\n7746V80z4nHn3+zFYZgiSD3ZDJmRbObbhNXgDaxihQ+ph8FbwLhjEOyklt0w\r\ndQaOS8naKCpVfP/goKWCgbUSm06YPByF6EKpydaiA8XenT/cVXBc8D3ZzALC\r\nEyCalMy72t8xSKJ+1TVG0xH94eOXxdSYZGwcQVL4Qxl19GOzTi33b0LRY/NG\r\ngPTB6twE8ks3oOwOz7lRoYvOYWOyxSYcJL/X4ZqmGlsKD/PfW8xnJEaxgsjb\r\nFX+aEBOwDuzn2zhnyxiHdb8ooMP5a+YG26T4RoveF5G64dPgqGJ1pW9E9fjR\r\n/2nhHM+IuXK7zATJkBi4kA1emx+INsjGwfs=\r\n=IBTv\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","types":"./index.d.ts","readme":"<p align=\"center\">\n   <br/>\n   <a href=\"https://authjs.dev\" target=\"_blank\"><img height=\"64px\" src=\"https://authjs.dev/img/logo/logo-sm.png\" /></a>&nbsp;&nbsp;&nbsp;&nbsp;<img height=\"64px\" src=\"https://raw.githubusercontent.com/nextauthjs/adapters/main/packages/dynamodb/logo.png\" />\n   <h3 align=\"center\"><b>DynamoDB Adapter</b> - NextAuth.js</h3>\n   <p align=\"center\">\n   Open Source. Full Stack. Own Your Data.\n   </p>\n   <p align=\"center\" style=\"align: center;\">\n      <img src=\"https://github.com/nextauthjs/next-auth/actions/workflows/release.yml/badge.svg?branch=main\" alt=\"Build Test\" />\n      <img src=\"https://img.shields.io/bundlephobia/minzip/@next-auth/dynamodb-adapter/latest\" alt=\"Bundle Size\"/>\n      <img src=\"https://img.shields.io/npm/v/@next-auth/dynamodb-adapter\" alt=\"@next-auth/dynamodb-adapter Version\" />\n   </p>\n</p>\n\n## Overview\n\nThis is the AWS DynamoDB Adapter for next-auth. This package can only be used in conjunction with the primary next-auth package. It is not a standalone package.\n\nYou need a table with a partition key `pk` and a sort key `sk`. Your table also needs a global secondary index named `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\nIf you want sessions and verification tokens to get automatically removed from your table you need to [activate TTL](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html) on your table with the TTL attribute name set to `expires`\n\nYou can find the DynamoDB schema in the docs at [authjs.dev/reference/adapters/dynamodb](https://authjs.dev/reference/adapters/dynamodb).\n\n## Getting Started\n\n1. Install `next-auth` and `@next-auth/dynamodb-adapter`\n\n```js\nnpm install next-auth @next-auth/dynamodb-adapter\n```\n\n2. Add this adapter to your `pages/api/[...nextauth].js` next-auth configuration object.\n\nYou need to pass `DocumentClient` instance from `aws-sdk` to the adapter.\nThe default table name is `next-auth`, but you can customise that by passing `{ tableName: 'your-table-name' }` as the second parameter in the adapter.\n\n```js\nimport { DynamoDB } from \"@aws-sdk/client-dynamodb\"\nimport { DynamoDBDocument } from \"@aws-sdk/lib-dynamodb\"\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nconst config: DynamoDBClientConfig = {\n  credentials: {\n    accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY as string,\n    secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY as string,\n  },\n  region: process.env.NEXT_AUTH_AWS_REGION,\n};\n\nconst client = DynamoDBDocument.from(new DynamoDB(config), {\n  marshallOptions: {\n    convertEmptyValues: true,\n    removeUndefinedValues: true,\n    convertClassInstanceToMap: true,\n  },\n})\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter(\n    client\n  ),\n  ...\n});\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respects the single table design pattern. This has many advantages:\n\n- Only one table to manage, monitor and provision.\n- Querying relations is faster than with multi-table schemas (for eg. retreiving all sessions for a user).\n- Only one table needs to be replicated, if you want to go multi-region.\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"\">\n</p>\n\n## Contributing\n\nWe're open to all community contributions! If you'd like to contribute in any way, please read our [Contributing Guide](https://github.com/nextauthjs/.github/blob/main/CONTRIBUTING.md).\n\n## License\n\nISC\n","exports":{".":{"types":"./index.d.ts","import":"./index.js"}},"gitHead":"f7b79c7b8a25d0acb23af3f136e60708bd038712","private":false,"scripts":{"test":"pnpm test:default && pnpm test:custom","build":"tsc","test:custom":"CUSTOM_MODEL=1 jest","test:default":"jest"},"_npmUser":{"name":"thvu","email":"hi@thvu.dev"},"repository":{"url":"git+https://github.com/nextauthjs/next-auth.git","type":"git"},"_npmVersion":"8.15.0","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"16.17.0","dependencies":{"uuid":"^9.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^27.4.3","next-auth":"workspace:*","@types/uuid":"^9.0.0","@next-auth/tsconfig":"workspace:*","@shelf/jest-dynamodb":"^2.1.0","@aws-sdk/lib-dynamodb":"^3.36.1","@next-auth/adapter-test":"workspace:*","@aws-sdk/client-dynamodb":"^3.36.1"},"peerDependencies":{"next-auth":"^4","@aws-sdk/lib-dynamodb":"^3.36.1","@aws-sdk/client-dynamodb":"^3.36.1"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_2.0.0-experimental.2_1675508116842_0.3711665185625961","host":"s3://npm-registry-packages"}},"2.0.0-experimental.3":{"name":"@next-auth/dynamodb-adapter","version":"2.0.0-experimental.3","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@2.0.0-experimental.3","maintainers":[{"name":"thvu","email":"hi@thvu.dev"},{"name":"ndom91","email":"yo@ndo.dev"},{"name":"balazsorban","email":"info@balazsorban.com"},{"name":"iaincollins","email":"me@iaincollins.com"}],"homepage":"https://authjs.dev","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"615cf239587789892a6efa869a7830ae3beb77e2","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-2.0.0-experimental.3.tgz","fileCount":6,"integrity":"sha512-c1Au4LX2CBTxjLoDhecDCp51G4fccStnUSzUu72UEjTtMesF4QC21osHGxpL+8/8zi57YwyPzafBKaryEYNUqQ==","signatures":[{"sig":"MEQCIESmKk8ENgOBMQfbTHlDHNyMNlbklitho4BByxwb2pcuAiBvnSEWmZ/FBL0u6efvzBNHlepTMfQwSHua8+VvThzCAA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33453,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj3jpxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqZCRAAneO5HRxNjo0f2fPqHxgAiRmWmEmIOWS/aETRiGEfpIlHFA4w\r\ngQEezRfE/YDt1/WiYL0Jg5FCi1hLGMl5suwIuS60ODEgkIqZxa44lUvJ96hY\r\nsxiLV5G5V/rE/6qLRl7+/LmX++bxt3S6wiLcZ/kWOXMgiCpn4UKN5W8Z4gm2\r\nHDtGwiqn7/SYTrNeFQX/tcjd/nqGjAU1T7kxwDFDm6f3cYnmRGfO5/4RtJ63\r\nviUKJmTJlDQt6zqiDPV6MFHQ9TDpmwPuqyvRcyOjoLzvXY+HDAKW9s3rkN5C\r\neOPDaXjhGBaqJ7LdJbPvPiiqQAP0Bvn26U0dR4Zh+OWbcto2agq9r/ixexzM\r\n2DlqmmnV3+KPUi9E+gDP9lvajnoWWuCsI4j9TgZGCYbzvpGqsJlK4WPVykKF\r\n7hgGKDVtP/e6G0YWWmkHr3AO94Z0gnsAX1ZJHKd/lkkhaFWc9MBYFIbrmdo3\r\nJZ2pkGFB+ZVALr1+woM011pCFJm86DElbzUaLpVz7YWPAKJJQycBQWMx7Mcq\r\nopjbY+l4SFbB9kbKPc0LNZ3Eo88K2G0L5ZnyXu2VWuRAMH+4vxTmiRNxThlu\r\nhikUzSrU95bx070xe2LDfDxrMRIo2kJsmDOGL8cy215fFXY3hgtl2XSnNsQL\r\nN7hGqDFdy4h17wbR52PlgFDttffMOJK08oo=\r\n=aCGi\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","types":"./index.d.ts","readme":"<p align=\"center\">\n   <br/>\n   <a href=\"https://authjs.dev\" target=\"_blank\"><img height=\"64px\" src=\"https://authjs.dev/img/logo/logo-sm.png\" /></a>&nbsp;&nbsp;&nbsp;&nbsp;<img height=\"64px\" src=\"https://raw.githubusercontent.com/nextauthjs/adapters/main/packages/dynamodb/logo.png\" />\n   <h3 align=\"center\"><b>DynamoDB Adapter</b> - NextAuth.js</h3>\n   <p align=\"center\">\n   Open Source. Full Stack. Own Your Data.\n   </p>\n   <p align=\"center\" style=\"align: center;\">\n      <img src=\"https://github.com/nextauthjs/next-auth/actions/workflows/release.yml/badge.svg?branch=main\" alt=\"Build Test\" />\n      <img src=\"https://img.shields.io/bundlephobia/minzip/@next-auth/dynamodb-adapter/latest\" alt=\"Bundle Size\"/>\n      <img src=\"https://img.shields.io/npm/v/@next-auth/dynamodb-adapter\" alt=\"@next-auth/dynamodb-adapter Version\" />\n   </p>\n</p>\n\n## Overview\n\nThis is the AWS DynamoDB Adapter for next-auth. This package can only be used in conjunction with the primary next-auth package. It is not a standalone package.\n\nYou need a table with a partition key `pk` and a sort key `sk`. Your table also needs a global secondary index named `GSI1` with `GSI1PK` as partition key and `GSI1SK` as sorting key. You can set whatever you want as the table name and the billing method.\n\nIf you want sessions and verification tokens to get automatically removed from your table you need to [activate TTL](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html) on your table with the TTL attribute name set to `expires`\n\nYou can find the DynamoDB schema in the docs at [authjs.dev/reference/adapters/dynamodb](https://authjs.dev/reference/adapters/dynamodb).\n\n## Getting Started\n\n1. Install `next-auth` and `@next-auth/dynamodb-adapter`\n\n```js\nnpm install next-auth @next-auth/dynamodb-adapter\n```\n\n2. Add this adapter to your `pages/api/[...nextauth].js` next-auth configuration object.\n\nYou need to pass `DocumentClient` instance from `aws-sdk` to the adapter.\nThe default table name is `next-auth`, but you can customise that by passing `{ tableName: 'your-table-name' }` as the second parameter in the adapter.\n\n```js\nimport { DynamoDB } from \"@aws-sdk/client-dynamodb\"\nimport { DynamoDBDocument } from \"@aws-sdk/lib-dynamodb\"\nimport NextAuth from \"next-auth\";\nimport Providers from \"next-auth/providers\";\nimport { DynamoDBAdapter } from \"@next-auth/dynamodb-adapter\"\n\nconst config: DynamoDBClientConfig = {\n  credentials: {\n    accessKeyId: process.env.NEXT_AUTH_AWS_ACCESS_KEY as string,\n    secretAccessKey: process.env.NEXT_AUTH_AWS_SECRET_KEY as string,\n  },\n  region: process.env.NEXT_AUTH_AWS_REGION,\n};\n\nconst client = DynamoDBDocument.from(new DynamoDB(config), {\n  marshallOptions: {\n    convertEmptyValues: true,\n    removeUndefinedValues: true,\n    convertClassInstanceToMap: true,\n  },\n})\n\nexport default NextAuth({\n  // Configure one or more authentication providers\n  providers: [\n    Providers.GitHub({\n      clientId: process.env.GITHUB_ID,\n      clientSecret: process.env.GITHUB_SECRET,\n    }),\n    Providers.Email({\n      server: process.env.EMAIL_SERVER,\n      from: process.env.EMAIL_FROM,\n    }),\n    // ...add more providers here\n  ],\n  adapter: DynamoDBAdapter(\n    client\n  ),\n  ...\n});\n```\n\n(AWS secrets start with `NEXT_AUTH_` in order to not conflict with [Vercel's reserved environment variables](https://vercel.com/docs/environment-variables#reserved-environment-variables).)\n\n## Table structure\n\nThe table respects the single table design pattern. This has many advantages:\n\n- Only one table to manage, monitor and provision.\n- Querying relations is faster than with multi-table schemas (for eg. retreiving all sessions for a user).\n- Only one table needs to be replicated, if you want to go multi-region.\n\nHere is a schema of the table :\n\n<p align=\"center\">\n    <img src=\"https://i.imgur.com/hGZtWDq.png\" alt=\"\">\n</p>\n\n## Contributing\n\nWe're open to all community contributions! If you'd like to contribute in any way, please read our [Contributing Guide](https://github.com/nextauthjs/.github/blob/main/CONTRIBUTING.md).\n\n## License\n\nISC\n","exports":{".":{"types":"./index.d.ts","import":"./index.js"}},"gitHead":"f7b79c7b8a25d0acb23af3f136e60708bd038712","private":false,"scripts":{"test":"pnpm test:default && pnpm test:custom","build":"tsc","test:custom":"CUSTOM_MODEL=1 jest","test:default":"jest"},"_npmUser":{"name":"thvu","email":"hi@thvu.dev"},"repository":{"url":"git+https://github.com/nextauthjs/next-auth.git","type":"git"},"_npmVersion":"8.15.0","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"16.17.0","dependencies":{"uuid":"^9.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^27.4.3","next-auth":"workspace:*","@types/uuid":"^9.0.0","@next-auth/tsconfig":"workspace:*","@shelf/jest-dynamodb":"^2.1.0","@aws-sdk/lib-dynamodb":"^3.36.1","@next-auth/adapter-test":"workspace:*","@aws-sdk/client-dynamodb":"^3.36.1"},"peerDependencies":{"next-auth":"^4","@aws-sdk/lib-dynamodb":"^3.36.1","@aws-sdk/client-dynamodb":"^3.36.1"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_2.0.0-experimental.3_1675508337103_0.8612273945746829","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"@next-auth/dynamodb-adapter","version":"3.0.0","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@3.0.0","maintainers":[{"name":"thvu","email":"hi@thvu.dev"},{"name":"ndom91","email":"yo@ndo.dev"},{"name":"balazsorban","email":"info@balazsorban.com"},{"name":"iaincollins","email":"me@iaincollins.com"}],"homepage":"https://authjs.dev","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"48d32ef2f8310748d759e17659423a4bb975d463","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-3.0.0.tgz","fileCount":7,"integrity":"sha512-NNlZkGEKxVVW9Q0ezU7WUMClTkmenNE4sR8XkpVXmV81nc+bdq+f6KXosFnRXCHM3KKAofDB6OdMxSNBnoDC4w==","signatures":[{"sig":"MEYCIQCCDLy0O/ftKRsTax9gibholVZQTf0VkiPvXuiXlBREYAIhANV/65q6rVCS62iYPYR7PPMW9X6HlDwbQXypZsP1bx5k","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34171,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj37SfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoeQg/8CJ/of/hAs5fY5HU1ppPRh8UhcHcrPd7WvaSLgoFtm42gySUp\r\nVCt8GhXUiSSyzs5nxSbE87j5Mwep1Od3D52YTIktjwiii6fmmg2ZMXkMeyKd\r\nLVYv9O8UtzgC8+IT3PUD0JNuws520TNMrHHHhjS0iQKtArGRk6tCycf65Xny\r\nWJioHycDX8rydhXNAxVLDn0gHZb8uY6ByWLv7CexZ7nxYVabk6GpqXaEFwwY\r\nyuj/YwGTlkdKYr4R4SKbt5yrYteNQn8tp6LFKEab6ceto1Igvm+9a3XuEc20\r\nyw3NtOnRRdoGvitr4rFE/ukkiAExR9fti3S2ogr6fRW4Hj2+FD0MApuEG60Q\r\nCmIC6BHSdF0Oce4jYWNvxj7uMNqBZmQZsfbw7ll5tuDNszQjAiZ2UjdGa26E\r\ngdIvXGqk3/PJ9NQG7yygfOdVA+AJhASn0QP7MYE5UzE/AEkAlX8B2RV47/oF\r\nPXrQ+EpQjirAAwuZFnqpU3FjAxZxVhX88ODN3Zbn31e5sTajYvFZfV+A5D2I\r\nGIvqxlQx2jgGn/DEhDGsYFCB7Wf5lIcryRXLVI33v3d8lJaVNuEL4UHDcvBb\r\nY65Bpzqcz1IfOyfw/PWnCNO1D0dEi14j40wJphdGVAZvtlWMy3SwKg4dqpYQ\r\n8U5WqWlf+udYoogVHDoJXzoXIFazBurF8yk=\r\n=Tr00\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","_from":"file:next-auth-dynamodb-adapter-3.0.0.tgz","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","import":"./index.js"}},"private":false,"scripts":{"test":"pnpm test:default && pnpm test:custom","build":"tsc","test:custom":"CUSTOM_MODEL=1 jest","test:default":"jest"},"_npmUser":{"name":"balazsorban","email":"info@balazsorban.com"},"_resolved":"/tmp/4bbe8f5c34f98d7d7d3890ac9d48b57d/next-auth-dynamodb-adapter-3.0.0.tgz","_integrity":"sha512-NNlZkGEKxVVW9Q0ezU7WUMClTkmenNE4sR8XkpVXmV81nc+bdq+f6KXosFnRXCHM3KKAofDB6OdMxSNBnoDC4w==","repository":{"url":"git+https://github.com/nextauthjs/next-auth.git","type":"git"},"_npmVersion":"8.19.3","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"18.13.0","dependencies":{"uuid":"^9.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.3","next-auth":"4.18.6","@types/uuid":"^9.0.0","@next-auth/tsconfig":"0.0.0","@shelf/jest-dynamodb":"^2.1.0","@aws-sdk/lib-dynamodb":"^3.36.1","@next-auth/adapter-test":"0.0.0","@aws-sdk/client-dynamodb":"^3.36.1"},"peerDependencies":{"next-auth":"^4","@aws-sdk/lib-dynamodb":"^3.36.1","@aws-sdk/client-dynamodb":"^3.36.1"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_3.0.0_1675605151146_0.9871581313732585","host":"s3://npm-registry-packages"}},"3.0.1":{"name":"@next-auth/dynamodb-adapter","version":"3.0.1","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@3.0.1","maintainers":[{"name":"thvu","email":"hi@thvu.dev"},{"name":"ndom91","email":"yo@ndo.dev"},{"name":"balazsorban","email":"info@balazsorban.com"},{"name":"iaincollins","email":"me@iaincollins.com"}],"homepage":"https://authjs.dev","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"ea42e50fe8a7b84f93e6a17684ca135eddc9a532","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-3.0.1.tgz","fileCount":7,"integrity":"sha512-F6QoASFzwYEkT4IOZOxCIXJln5gnCw8QaBtwdeLRY6SMMe6wGBymUVZKYOwgtypyQhlAAm6opmRiXMLnLrPHxQ==","signatures":[{"sig":"MEUCIBgomSacTx4tIHr9muCkoNFR3m9yWQuVAAqxFzjfL2jfAiEAxLI4LhKbWYT2xZBRQw+zU5MLi6foY8fkYmhNOmBZcf8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34177,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj+MesACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqbJw/9G8iyolWUGSNKL8Tk7a33SGUcXPqmByVijsTeSIGGKTcPQaGA\r\nFperKf2wleA9nD1fxaZCQHvtWQW2jSK5sJ1ZonzBBjR+uGXA4xF2mLDaHTU8\r\n0TMw7OGDbs2KZ5idDrEDhZC8eyAqph438KzMxDbfKAH0NBNIfz3wcS92/wNE\r\naqJMBG9P7M6c9dGsjOLi7UT99JgSTAaOkz5NfMp5C0xhrsQHKQEjTVm4Sx48\r\nrCoOpIuYuZpJBjZW/tZKzo0Ttxpit1Cohe5BAtZhhtsTHCqgdZ3+iC3nU1VB\r\nrKWhgr6EJxkmsrCiWv5VdtFHXcpV5txC/8opkBV+jDttvHTKzcCnM+hNB9yT\r\n9cgLQnWu6pMbn2nKIyEQNEPhfaCfcVCa2X+qWLQ49P7PpYQsmWQC9uXOIXru\r\nZZ1UHkKjll6FPPT/M+755d1SqUhG7KRtewhs1zBOSWlcaba4eVm1PrJ1aBRM\r\ni2VBaTIdLDKDHJCk5wdTUFOXjKGNkQ5Gtxl8XC3aPBYLOkkZMmuc/xhOERsz\r\nhxrQU6zM/YQ3KgA3xeObwCsdKhAxEXedQlfDxw7BXftRgxLWErb6HQ7FS4DJ\r\nYaiv/aN5apJm2QZQnNNsz1mIAjMZXtTZutziiTV7kJ2K9G7wyrC5nCkstOT1\r\n0PgrNS6H5ukYGKJ/ovk6vQvk39FDf5hme58=\r\n=klVW\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","_from":"file:next-auth-dynamodb-adapter-3.0.1.tgz","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","import":"./index.js"}},"private":false,"scripts":{"test":"pnpm test:default && pnpm test:custom","build":"tsc","test:custom":"CUSTOM_MODEL=1 jest","test:default":"jest"},"_npmUser":{"name":"balazsorban","email":"info@balazsorban.com"},"_resolved":"/tmp/60b9914b8a38a34419c0d4732430ea0c/next-auth-dynamodb-adapter-3.0.1.tgz","_integrity":"sha512-F6QoASFzwYEkT4IOZOxCIXJln5gnCw8QaBtwdeLRY6SMMe6wGBymUVZKYOwgtypyQhlAAm6opmRiXMLnLrPHxQ==","repository":{"url":"git+https://github.com/nextauthjs/next-auth.git","type":"git"},"_npmVersion":"9.3.1","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"18.14.1","dependencies":{"uuid":"^9.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.3","next-auth":"4.18.6","@types/uuid":"^9.0.0","@next-auth/tsconfig":"0.0.0","@shelf/jest-dynamodb":"^2.1.0","@aws-sdk/lib-dynamodb":"^3.36.1","@next-auth/adapter-test":"0.0.0","@aws-sdk/client-dynamodb":"^3.36.1"},"peerDependencies":{"next-auth":"^4","@aws-sdk/lib-dynamodb":"^3.36.1","@aws-sdk/client-dynamodb":"^3.36.1"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_3.0.1_1677248427877_0.2059324104777709","host":"s3://npm-registry-packages"}},"3.0.2":{"name":"@next-auth/dynamodb-adapter","version":"3.0.2","keywords":["next-auth","next.js","oauth","dynamodb"],"author":{"name":"Pol Marnette"},"license":"ISC","_id":"@next-auth/dynamodb-adapter@3.0.2","maintainers":[{"name":"thvu","email":"hi@thvu.dev"},{"name":"ndom91","email":"yo@ndo.dev"},{"name":"balazsorban","email":"info@balazsorban.com"},{"name":"iaincollins","email":"me@iaincollins.com"}],"homepage":"https://authjs.dev","bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"dist":{"shasum":"0272ea739879d3cc047b8e1878809b2ab5ff3932","tarball":"https://registry.npmjs.org/@next-auth/dynamodb-adapter/-/dynamodb-adapter-3.0.2.tgz","fileCount":7,"integrity":"sha512-hCj8RYyHZc6SwZs7FkOV56/jcok4GLdQ2oIun/no9+0vrpdMhGzRM4qQCoRNq3BnZot/C/6ILWSxMXzsEznlgA==","signatures":[{"sig":"MEUCIQDzLOd8yeOYJArQS9LQKDKNMBsBf97YNPcuSWixqp2nsAIgMXLe2vGOuAS1zImlf75PmAaETn14gvzQv4sU3ZmLllE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48392,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkPtceACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrRqw//YSHQLn6uk/JL7H8msd7fDprn761DABQW6feOUyEncFLOLL0p\r\n7Et5iggHtEGO4hk9HTr8jixv3SAT6o+NdV+QUTjAMQBsS78cMR/zEKKz3qg6\r\nFTx3vQMVhMbIsZ1XlUYPe8xdBeuYq9iV2aGBWkfm/U/F8psmGS+CTZy1pdi8\r\nQiORv2ZannamYoFvT1o2nzDNvOwnc6xE7hAUFcfsYRPaSTU6JDCTEL1lO4M+\r\ni+QTel984/U6eAiWqZBnzXbBjwU+jS6z2xlvtWf/eXK0qWBI+lgdD3vMKN1t\r\nH0Euz2vo9uDUvXsqXRS/9x8sTYHLJY+i+RASsB+8UKoSJctHz2vz6IMo/NAw\r\n+hTQB3A0uQi41EqWx5ZbloLcE3175DbYsxZSOqvKxgt/ChsDOELsXVFPkIy1\r\nvwe7sOkDMtpZIEN23neslLP9MmsNXoGlN1wR07BSQwa8aGXo563thsAiyGFK\r\nHMV3qRW1b6MJa8tGGZT/phuzy6MUDv3NXUAySRZvWDqwBe9OK0fqf8UwVEah\r\nRA4mnitLFNPYKWWsIEaiAxo9lcdqsTOIX8gW31RCjTlKPOy6bflQVtYbnIT6\r\neykkmjpHzjvaCQ7XseKqTgwFPMKW8PKdnh3rjTzTmXlyCSy5XyQlCifNgxNX\r\n1ncbPLWrlKOeJNdFx+pvMHS74Ekq3YK+yeE=\r\n=EMXS\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","_from":"file:next-auth-dynamodb-adapter-3.0.2.tgz","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","import":"./index.js"}},"private":false,"scripts":{"test":"pnpm test:default && pnpm test:custom","build":"pnpm clean && tsc","clean":"rm -rf index.*","test:custom":"CUSTOM_MODEL=1 jest","test:default":"jest"},"_npmUser":{"name":"balazsorban","email":"info@balazsorban.com"},"_resolved":"/tmp/92a55de4e8bb1ab188157679b7a10917/next-auth-dynamodb-adapter-3.0.2.tgz","_integrity":"sha512-hCj8RYyHZc6SwZs7FkOV56/jcok4GLdQ2oIun/no9+0vrpdMhGzRM4qQCoRNq3BnZot/C/6ILWSxMXzsEznlgA==","repository":{"url":"git+https://github.com/nextauthjs/next-auth.git","type":"git"},"_npmVersion":"9.5.0","description":"AWS DynamoDB adapter for next-auth.","directories":{},"_nodeVersion":"18.15.0","dependencies":{"uuid":"^9.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.3","next-auth":"4.22.0","@types/uuid":"^9.0.0","@next-auth/tsconfig":"0.0.0","@shelf/jest-dynamodb":"^2.1.0","@aws-sdk/lib-dynamodb":"^3.36.1","@next-auth/adapter-test":"0.0.0","@aws-sdk/client-dynamodb":"^3.36.1"},"peerDependencies":{"next-auth":"^4","@aws-sdk/lib-dynamodb":"^3.36.1","@aws-sdk/client-dynamodb":"^3.36.1"},"_npmOperationalInternal":{"tmp":"tmp/dynamodb-adapter_3.0.2_1681839902068_0.8111977606198022","host":"s3://npm-registry-packages"}}},"time":{"created":"2021-04-25T22:49:17.138Z","modified":"2026-04-14T19:09:55.079Z","0.3.1-canary.106":"2021-04-25T22:49:17.596Z","0.3.1-canary.122":"2021-04-30T19:34:38.881Z","0.3.1-pr.79.125":"2021-05-02T16:25:02.759Z","0.3.1-pr.90.149":"2021-05-15T23:51:08.862Z","0.3.1-pr.90.151":"2021-05-16T01:17:28.407Z","0.3.1-pr.90.152":"2021-05-16T14:39:54.920Z","0.3.1-pr.90.154":"2021-05-16T21:55:54.068Z","0.3.1-pr.90.156":"2021-05-16T22:45:18.940Z","0.3.1-pr.90.157":"2021-05-16T22:52:16.130Z","0.3.1-pr.90.158":"2021-05-16T22:56:04.426Z","0.3.1-pr.90.159":"2021-05-16T22:59:55.024Z","0.3.1-pr.90.160":"2021-05-17T23:52:56.638Z","0.3.1-pr.90.161":"2021-05-17T23:58:07.227Z","0.3.1-pr.90.162":"2021-05-18T22:25:28.001Z","0.3.1-pr.90.169":"2021-05-20T19:22:08.384Z","0.3.1-pr.97.150":"2021-05-23T19:31:18.086Z","0.3.1-pr.97.151":"2021-05-23T19:35:45.176Z","0.3.1-pr.97.152":"2021-05-23T19:42:18.438Z","0.3.1-pr.97.154":"2021-05-23T19:49:49.543Z","0.3.1-pr.97.155":"2021-05-23T19:56:37.024Z","0.3.1-canary.155":"2021-05-23T19:59:15.744Z","0.3.1-canary.207":"2021-06-07T15:01:48.028Z","0.4.0":"2021-06-26T22:55:54.344Z","0.4.1-pr.147.1":"2021-06-26T23:47:36.518Z","0.4.1-pr.147.3":"2021-06-27T01:25:41.160Z","0.4.1-pr.150.4":"2021-06-27T18:02:19.329Z","0.4.1-experimental-287d61f1a9c8050b98e6562052447ad6a9c5f711.4":"2021-06-27T20:26:52.947Z","0.4.1-pr.152-4decd71c.5":"2021-06-28T00:31:31.764Z","0.4.1-pr.152-8a53cb89.5":"2021-06-28T00:42:42.016Z","0.4.1-pr.152.5":"2021-06-28T00:49:04.893Z","0.4.1":"2021-06-30T21:34:20.054Z","0.4.2-pr.161-a5ac75dd.3":"2021-07-02T11:50:39.389Z","0.4.2-pr.161-5d16ecff.3":"2021-07-02T12:30:19.476Z","0.4.2":"2021-07-02T12:58:01.839Z","0.4.2-next.4":"2021-07-11T15:11:27.094Z","0.4.2-next.34":"2021-11-30T23:23:06.461Z","0.4.2-pr.329-721d4423.35":"2021-12-01T00:10:15.978Z","0.4.2-pr.329-47847f53.35":"2021-12-01T00:11:49.990Z","0.4.2-next.35":"2021-12-01T16:03:06.403Z","1.0.0":"2021-12-01T16:24:33.991Z","1.0.1":"2021-12-06T16:20:12.441Z","1.0.2":"2022-01-10T10:18:16.820Z","1.1.0":"2022-02-02T22:25:52.824Z","1.0.3":"2022-03-17T18:15:13.953Z","1.0.4":"2022-07-21T14:27:36.801Z","1.0.5":"2022-10-09T15:44:48.867Z","1.0.6":"2023-01-04T06:56:04.776Z","1.2.0":"2023-01-24T02:01:54.932Z","2.0.0":"2023-02-02T16:35:25.804Z","2.0.0-experimental.0":"2023-02-03T06:42:56.658Z","2.0.0-experimental.1":"2023-02-03T07:17:16.243Z","2.0.0-experimental.2":"2023-02-04T10:55:17.019Z","2.0.0-experimental.3":"2023-02-04T10:58:57.263Z","3.0.0":"2023-02-05T13:52:31.372Z","3.0.1":"2023-02-24T14:20:28.080Z","3.0.2":"2023-04-18T17:45:02.316Z"},"bugs":{"url":"https://github.com/nextauthjs/next-auth/issues"},"author":{"name":"Pol Marnette"},"license":"ISC","homepage":"https://authjs.dev","keywords":["next-auth","next.js","oauth","dynamodb"],"repository":{"url":"git+https://github.com/nextauthjs/next-auth.git","type":"git"},"description":"AWS DynamoDB adapter for next-auth.","maintainers":[{"email":"gustavo@better-auth.com","name":"better-gustavo"},{"email":"Bekacru@gmail.com","name":"bekacru"}],"readme":"<p align=\"center\">\n  <br/>\n  <a href=\"https://authjs.dev\" target=\"_blank\">\n    <img height=\"64px\" src=\"https://authjs.dev/img/logo/logo-sm.png\" />\n  </a>\n  <a href=\"https://aws.amazon.com/dynamodb\" target=\"_blank\">\n    <img height=\"64px\" src=\"https://authjs.dev/img/adapters/dynamodb.svg\"/>\n  </a>\n  <h3 align=\"center\"><b>DynamoDB Adapter</b> - NextAuth.js / Auth.js</a></h3>\n  <p align=\"center\" style=\"align: center;\">\n    <a href=\"https://npm.im/@next-auth/dynamodb-adapter\">\n      <img src=\"https://img.shields.io/badge/TypeScript-blue?style=flat-square\" alt=\"TypeScript\" />\n    </a>\n    <a href=\"https://npm.im/@next-auth/dynamodb-adapter\">\n      <img alt=\"npm\" src=\"https://img.shields.io/npm/v/@next-auth/dynamodb-adapter?color=green&label=@next-auth/dynamodb-adapter&style=flat-square\">\n    </a>\n    <a href=\"https://www.npmtrends.com/@next-auth/dynamodb-adapter\">\n      <img src=\"https://img.shields.io/npm/dm/@next-auth/dynamodb-adapter?label=%20downloads&style=flat-square\" alt=\"Downloads\" />\n    </a>\n    <a href=\"https://github.com/nextauthjs/next-auth/stargazers\">\n      <img src=\"https://img.shields.io/github/stars/nextauthjs/next-auth?style=flat-square\" alt=\"Github Stars\" />\n    </a>\n  </p>\n</p>\n\n---\n\nCheck out the documentation at [authjs.dev](https://authjs.dev/reference/adapter/dynamodb).","readmeFilename":"README.md"}