{"_id":"@dombestein-data/payload-supabase-auth","_rev":"3-a69e2dad5aa29fbb2467e57f966f2f87","name":"@dombestein-data/payload-supabase-auth","dist-tags":{"latest":"1.2.0"},"versions":{"1.0.0":{"name":"@dombestein-data/payload-supabase-auth","version":"1.0.0","keywords":["payload","payloadcms","supabase","authentication","jwt"],"author":"Dombestein Data","license":"MIT","_id":"@dombestein-data/payload-supabase-auth@1.0.0","maintainers":[{"name":"isak-dombestein","email":"isak@dombesteindata.net"}],"homepage":"https://github.com/dombestein-data/payload-supabase-auth#readme","bugs":{"url":"https://github.com/dombestein-data/payload-supabase-auth/issues"},"dist":{"shasum":"349d42d8005020a5a7ad5305e044e4825c3e6cb2","tarball":"https://registry.npmjs.org/@dombestein-data/payload-supabase-auth/-/payload-supabase-auth-1.0.0.tgz","fileCount":112,"integrity":"sha512-WUamZ8/SVYR2sosHf240/6oR9mrjWmG9CuBkHD0dw5+b0Q1uuDEheYv2Uz8T/tQ8s1x2JFD3B6Z208PvAPS4vQ==","signatures":[{"sig":"MEQCIDa6nzAlPnRp9Vm9VmAuhRY4bs3jgLzK81gsMbeteiywAiAqDdN12ECbJirw4ltRMkxgdSnE6v8FqUliWwu2JREywg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":136600},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.9.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"},"./package.json":"./package.json"},"scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"isak-dombestein","email":"isak@dombesteindata.net"},"repository":{"url":"git+https://github.com/dombestein-data/payload-supabase-auth.git","type":"git","directory":"packages/payload-supabase-auth"},"description":"Supabase Auth integration for Payload CMS.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"jose":"^6.0.0","drizzle-orm":"^0.45.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"19.2.8","vitest":"4.1.10","payload":"3.87.0","typescript":"5.9.3","@types/react":"19.2.18"},"peerDependencies":{"react":"^19.0.0","payload":"^3.87.0"},"_npmOperationalInternal":{"tmp":"tmp/payload-supabase-auth_1.0.0_1785785920683_0.600895883072091","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@dombestein-data/payload-supabase-auth","version":"1.1.0","keywords":["payload","payloadcms","supabase","authentication","jwt"],"author":"Dombestein Data","license":"MIT","_id":"@dombestein-data/payload-supabase-auth@1.1.0","maintainers":[{"name":"isak-dombestein","email":"isak@dombesteindata.net"}],"homepage":"https://github.com/dombestein-data/payload-supabase-auth#readme","bugs":{"url":"https://github.com/dombestein-data/payload-supabase-auth/issues"},"dist":{"shasum":"3b689b7b046d26c70839ded128706467dd2d99fd","tarball":"https://registry.npmjs.org/@dombestein-data/payload-supabase-auth/-/payload-supabase-auth-1.1.0.tgz","fileCount":112,"integrity":"sha512-yAb3/1xSwAwNe3Kb0u/GwiwLFyKw+J0Ihl4cXXqJz4rj/2ymyILg6A/1oTFYMcdNVmFcMzbq8KSY8GpWFnq7Jg==","signatures":[{"sig":"MEUCID0xSr7bWxG8N362xPE2FTkLh4Zj09MoyWZbSn6dhIyuAiEA+9Xhb8wkcD878XtvS+nfZS8zsQWn297jsMpdaHiCnDw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140969},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.9.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"},"./package.json":"./package.json"},"scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"isak-dombestein","email":"isak@dombesteindata.net"},"repository":{"url":"git+https://github.com/dombestein-data/payload-supabase-auth.git","type":"git","directory":"packages/payload-supabase-auth"},"description":"Supabase Auth integration for Payload CMS.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"jose":"^6.0.0","drizzle-orm":"^0.45.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"19.2.8","vitest":"4.1.10","payload":"3.87.0","typescript":"5.9.3","@types/react":"19.2.18"},"peerDependencies":{"react":"^19.0.0","payload":"^3.87.0"},"_npmOperationalInternal":{"tmp":"tmp/payload-supabase-auth_1.1.0_1786572860653_0.8627693044802722","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@dombestein-data/payload-supabase-auth","version":"1.2.0","description":"Supabase Auth integration for Payload CMS.","type":"module","license":"MIT","author":"Dombestein Data","homepage":"https://github.com/dombestein-data/payload-supabase-auth#readme","repository":{"type":"git","url":"git+https://github.com/dombestein-data/payload-supabase-auth.git","directory":"packages/payload-supabase-auth"},"bugs":{"url":"https://github.com/dombestein-data/payload-supabase-auth/issues"},"keywords":["payload","payloadcms","supabase","authentication","jwt"],"sideEffects":false,"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","default":"./dist/client.js"},"./package.json":"./package.json"},"peerDependencies":{"payload":"^3.87.0","react":"^19.0.0"},"dependencies":{"drizzle-orm":"^0.45.2","jose":"^6.0.0"},"devDependencies":{"@types/react":"19.2.18","payload":"3.87.0","react":"19.2.8","typescript":"5.9.3","vitest":"4.1.10"},"publishConfig":{"access":"public"},"engines":{"node":">=20.9.0"},"scripts":{"build":"tsc -p tsconfig.build.json","test":"vitest run","typecheck":"tsc --noEmit","lint":"tsc --noEmit"},"_nodeVersion":"24.18.0","_id":"@dombestein-data/payload-supabase-auth@1.2.0","dist":{"integrity":"sha512-BynhY5uZjK64BL+ldeL9BMi8h6B562MFxUO/LoDNe9vFv93p9Kz/W1EjvAi7xzHDnf3wy5eweGDlzT2cVW0dVw==","shasum":"f5ea93ab2a0bd337bd38035f5f73e5a0f906997a","tarball":"https://registry.npmjs.org/@dombestein-data/payload-supabase-auth/-/payload-supabase-auth-1.2.0.tgz","fileCount":112,"unpackedSize":141612,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCGg8zlwdCPtUtDKYOIbb0mHGstM5ZiSzTdazXpVsWaDgIgQsO564BUn5hS8OE6mrflqE0BbcTD80sU/68CHPJigRs="}]},"_npmUser":{"name":"isak-dombestein","email":"isak@dombesteindata.net"},"directories":{},"maintainers":[{"name":"isak-dombestein","email":"isak@dombesteindata.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/payload-supabase-auth_1.2.0_1787126945595_0.9376274716171391"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-03T19:38:40.564Z","modified":"2026-08-19T08:09:05.960Z","1.0.0":"2026-08-03T19:38:40.837Z","1.1.0":"2026-08-12T22:14:20.799Z","1.2.0":"2026-08-19T08:09:05.741Z"},"bugs":{"url":"https://github.com/dombestein-data/payload-supabase-auth/issues"},"author":"Dombestein Data","license":"MIT","homepage":"https://github.com/dombestein-data/payload-supabase-auth#readme","keywords":["payload","payloadcms","supabase","authentication","jwt"],"repository":{"type":"git","url":"git+https://github.com/dombestein-data/payload-supabase-auth.git","directory":"packages/payload-supabase-auth"},"description":"Supabase Auth integration for Payload CMS.","maintainers":[{"name":"isak-dombestein","email":"isak@dombesteindata.net"}],"readme":"# @dombestein-data/payload-supabase-auth\n\nSupabase Auth integration for Payload CMS 3. It provides verified bearer-token\nauthentication, optional linked-user provisioning and claim synchronization,\nand secure exchange into a normal Payload session cookie.\n\n```bash\npnpm add @dombestein-data/payload-supabase-auth\n```\n\n```ts\nimport { supabaseAuthPlugin } from '@dombestein-data/payload-supabase-auth'\n\nsupabaseAuthPlugin({\n  admin: {\n    accessDeniedMessage: 'You do not have access to this service.',\n    buttonLabel: 'Sign in with Headwaters',\n    publishableKey: process.env.SUPABASE_PUBLISHABLE_KEY,\n  },\n  authCollection: 'users',\n  authorize: ({ claims }) =>\n    Array.isArray(claims.app_metadata?.permissions) &&\n    claims.app_metadata.permissions.includes('cms.access'),\n  provisionUsers: true,\n  supabaseUrl: process.env.SUPABASE_URL,\n  synchronizeUsers: true,\n})\n```\n\nThe optional `admin` block adds a Supabase email/password panel to Payload's\nlogin page. Use only a browser-safe publishable or legacy anon key—never a\nservice-role key. Missing UI configuration is reported at startup and shown on\nthe login page.\n\nSupabase credentials are authoritative by default: Payload-local login and\npassword recovery are disabled while Payload sessions and logout continue to\nwork. Adaptive MFA requires AAL2 only for users with a verified Supabase factor;\nusers without factors are not forced to enroll. Configure an explicit\n`access.admin` policy before enabling provisioning.\n\nThe auth collection must have an indexed, unique `supabaseUserId` text field.\nThe browser session-exchange store requires Payload's PostgreSQL adapter and a\nmigration for the collection added by the plugin. Set\n`enableExchangeCodes: false` for bearer-only use with another adapter.\nSee the [repository README](https://github.com/dombestein-data/payload-supabase-auth#readme)\nfor configuration, browser session exchange, security guidance, and migration\nnotes.\n\nUse the repository's\n[full integration guide](https://github.com/dombestein-data/payload-supabase-auth/blob/main/docs/integration.md)\nfor a production setup checklist.\n","readmeFilename":""}