[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-clerk-clerk-chrome-extension-patterns":3,"mdc-amb9k-key":37,"related-org-clerk-clerk-chrome-extension-patterns":5407,"related-repo-clerk-clerk-chrome-extension-patterns":5591},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":26,"repoUrl":27,"updatedAt":28,"license":29,"forks":30,"topics":31,"repo":32,"sourceUrl":35,"mdContent":36},"clerk-chrome-extension-patterns","implement Clerk auth in Chrome Extensions","Chrome Extension auth with @clerk\u002Fchrome-extension -- popup\u002Fsidepanel setup, syncHost for OAuth\u002FSAML via web app, createClerkClient for service workers and headless extensions, stable CRX ID. Triggers on: Chrome extension auth, Plasmo clerk, popup sign-in, syncHost, background service worker token, createClerkClient, headless extension.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"clerk","Clerk","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fclerk.png",[12,16,17,20,23],{"name":13,"slug":14,"type":15},"Security","security","tag",{"name":9,"slug":8,"type":15},{"name":18,"slug":19,"type":15},"Auth","auth",{"name":21,"slug":22,"type":15},"OAuth","oauth",{"name":24,"slug":25,"type":15},"Frontend","frontend",59,"https:\u002F\u002Fgithub.com\u002Fclerk\u002Fskills","2026-04-07T04:46:08.489328","MIT",4,[],{"repoUrl":27,"stars":26,"forks":30,"topics":33,"description":34},[],"AI Skills to enhance working with Clerk","https:\u002F\u002Fgithub.com\u002Fclerk\u002Fskills\u002Ftree\u002FHEAD\u002Fskills\u002Fframeworks\u002Fclerk-chrome-extension-patterns","---\nname: clerk-chrome-extension-patterns\ndescription: 'Chrome Extension auth with @clerk\u002Fchrome-extension -- popup\u002Fsidepanel\n  setup, syncHost for OAuth\u002FSAML via web app, createClerkClient for service workers\n  and headless extensions, stable CRX ID. Triggers on: Chrome extension auth, Plasmo\n  clerk, popup sign-in, syncHost, background service worker token, createClerkClient,\n  headless extension.'\nlicense: MIT\nallowed-tools: WebFetch\ncompatibility: Requires PLASMO_PUBLIC_CLERK_PUBLISHABLE_KEY (Plasmo prefix for public env vars) and CLERK_FRONTEND_API.\nmetadata:\n  author: clerk\n  version: 2.0.0\n  references:\n  - references\u002Fsync-host.md\n  - references\u002Fcreate-clerk-client.md\n  - references\u002Fcontent-scripts.md\n  - references\u002Fheadless-extension.md\n---\n\n# Chrome Extension Patterns\n\n## CRITICAL RULES\n\n1. OAuth (Google, GitHub, etc.) and SAML are NOT supported in popups or side panels -- use `syncHost` to delegate auth to your web app\n2. Email links (magic links) don't work in popups -- the popup closes when the user clicks outside, resetting sign-in state\n3. Side panels don't auto-refresh auth state -- users must close and reopen the side panel after signing in via the web app\n4. Service workers and content scripts have NO access to Clerk React hooks -- use `createClerkClient()` or message passing\n5. Extension URLs use `chrome-extension:\u002F\u002F` not `http:\u002F\u002F` -- all redirect URLs must use `chrome.runtime.getURL('.')`\n6. Without a stable CRX ID, every rebuild breaks auth -- configure `key` in manifest BEFORE deploying\n7. Content scripts cannot use Clerk directly due to origin restrictions -- Clerk enforces strict allowed origins\n8. Bot protection must be DISABLED in Clerk Dashboard -- Cloudflare bot detection is not supported in extension environments\n\n## Authentication Options\n\n| Method | Popup | Side Panel | syncHost (with web app) |\n|--------|-------|------------|------------------------|\n| Email + OTP | Yes | Yes | Yes |\n| Email + Link | No | No | Yes |\n| Email + Password | Yes | Yes | Yes |\n| Username + Password | Yes | Yes | Yes |\n| SMS + OTP | Yes | Yes | Yes |\n| OAuth (Google, GitHub, etc.) | **NO** | **NO** | **YES** |\n| SAML | **NO** | **NO** | **YES** |\n| Passkeys | Yes | Yes | Yes |\n| Google One Tap | No | No | Yes |\n| Web3 | No | No | Yes |\n\n## Quick Start (Plasmo)\n\n```bash\nnpx create-plasmo --with-tailwindcss --with-src my-extension\ncd my-extension\nnpm install @clerk\u002Fchrome-extension\n```\n\nEnable **Native API** in Clerk Dashboard under Native applications. Required for all extension integrations.\n\n`.env.development`:\n```\nPLASMO_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_...\nCLERK_FRONTEND_API=https:\u002F\u002Fyour-app.clerk.accounts.dev\n```\n\n`src\u002Fpopup.tsx`:\n```tsx\nimport { ClerkProvider, Show, SignInButton, SignUpButton, UserButton } from '@clerk\u002Fchrome-extension'\n\nconst PUBLISHABLE_KEY = process.env.PLASMO_PUBLIC_CLERK_PUBLISHABLE_KEY\nconst EXTENSION_URL = chrome.runtime.getURL('.')\n\nif (!PUBLISHABLE_KEY) {\n  throw new Error('Missing PLASMO_PUBLIC_CLERK_PUBLISHABLE_KEY')\n}\n\nfunction IndexPopup() {\n  return (\n    \u003CClerkProvider\n      publishableKey={PUBLISHABLE_KEY}\n      afterSignOutUrl={`${EXTENSION_URL}\u002Fpopup.html`}\n      signInFallbackRedirectUrl={`${EXTENSION_URL}\u002Fpopup.html`}\n      signUpFallbackRedirectUrl={`${EXTENSION_URL}\u002Fpopup.html`}\n    >\n      \u003CShow when=\"signed-out\">\n        \u003CSignInButton mode=\"modal\" \u002F>\n        \u003CSignUpButton mode=\"modal\" \u002F>\n      \u003C\u002FShow>\n      \u003CShow when=\"signed-in\">\n        \u003CUserButton \u002F>\n      \u003C\u002FShow>\n    \u003C\u002FClerkProvider>\n  )\n}\n\nexport default IndexPopup\n```\n\nUse `mode=\"modal\"` for `SignInButton` -- navigating to a separate page breaks the popup flow.\n\n## syncHost -- Sync Auth with Web App\n\nUse this when you need OAuth, SAML, or want the extension to reflect sign-in from your web app.\n\n**How it works**: The extension reads the Clerk session cookie from your web app's domain via `host_permissions`.\n\n**Step 1 -- Environment variables:**\n\n`.env.development`:\n```\nPLASMO_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_...\nCLERK_FRONTEND_API=https:\u002F\u002Fyour-app.clerk.accounts.dev\nPLASMO_PUBLIC_CLERK_SYNC_HOST=http:\u002F\u002Flocalhost\n```\n\n`.env.production`:\n```\nPLASMO_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_live_...\nCLERK_FRONTEND_API=https:\u002F\u002Fclerk.your-domain.com\nPLASMO_PUBLIC_CLERK_SYNC_HOST=https:\u002F\u002Fclerk.your-domain.com\n```\n\n**Step 2 -- Add `syncHost` prop:**\n\n```tsx\nconst SYNC_HOST = process.env.PLASMO_PUBLIC_CLERK_SYNC_HOST\n\n\u003CClerkProvider\n  publishableKey={PUBLISHABLE_KEY}\n  syncHost={SYNC_HOST}\n  afterSignOutUrl=\"\u002F\"\n  routerPush={(to) => navigate(to)}\n  routerReplace={(to) => navigate(to, { replace: true })}\n>\n```\n\n**Step 3 -- Configure `host_permissions` in `package.json`:**\n\n```json\n{\n  \"manifest\": {\n    \"key\": \"$CRX_PUBLIC_KEY\",\n    \"permissions\": [\"cookies\", \"storage\"],\n    \"host_permissions\": [\n      \"$PLASMO_PUBLIC_CLERK_SYNC_HOST\u002F*\",\n      \"$CLERK_FRONTEND_API\u002F*\"\n    ]\n  }\n}\n```\n\n**Step 4 -- Add extension ID to web app's allowed origins via Clerk API:**\n\n```bash\ncurl -X PATCH https:\u002F\u002Fapi.clerk.com\u002Fv1\u002Finstance \\\n  -H \"Authorization: Bearer YOUR_SECRET_KEY\" \\\n  -H \"Content-type: application\u002Fjson\" \\\n  -d '{\"allowed_origins\": [\"chrome-extension:\u002F\u002FYOUR_EXTENSION_ID\"]}'\n```\n\n**Hide unsupported auth methods in popup when using syncHost:**\n\n```tsx\n\u003CSignIn\n  appearance={{\n    elements: {\n      socialButtonsRoot: 'plasmo-hidden',\n      dividerRow: 'plasmo-hidden',\n    },\n  }}\n\u002F>\n```\n\nFull guide: `references\u002Fsync-host.md`\n\n## createClerkClient() for Vanilla JS \u002F Service Workers\n\nImport from `@clerk\u002Fchrome-extension\u002Fclient` (not `@clerk\u002Fchrome-extension`).\n\n**Background service worker** (`src\u002Fbackground\u002Findex.ts`):\n\n```typescript\nimport { createClerkClient } from '@clerk\u002Fchrome-extension\u002Fclient'\n\nconst publishableKey = process.env.PLASMO_PUBLIC_CLERK_PUBLISHABLE_KEY\n\nasync function getToken(): Promise\u003Cstring | null> {\n  const clerk = await createClerkClient({\n    publishableKey,\n    background: true,\n  })\n  if (!clerk.session) return null\n  return await clerk.session.getToken()\n}\n\nchrome.runtime.onMessage.addListener((request, sender, sendResponse) => {\n  getToken()\n    .then((token) => sendResponse({ token }))\n    .catch((error) => {\n      console.error('[Background] Error:', JSON.stringify(error))\n      sendResponse({ token: null })\n    })\n  return true\n})\n```\n\nThe `background: true` flag keeps sessions fresh even when popup\u002Fsidepanel is closed. Without it, tokens expire after 60 seconds.\n\n**Popup with vanilla JS** (`src\u002Fpopup.ts`):\n\n```typescript\nimport { createClerkClient } from '@clerk\u002Fchrome-extension\u002Fclient'\n\nconst EXTENSION_URL = chrome.runtime.getURL('.')\nconst POPUP_URL = `${EXTENSION_URL}popup.html`\n\nconst clerk = createClerkClient({ publishableKey })\n\nclerk.load({\n  afterSignOutUrl: POPUP_URL,\n  signInForceRedirectUrl: POPUP_URL,\n  signUpForceRedirectUrl: POPUP_URL,\n  allowedRedirectProtocols: ['chrome-extension:'],\n}).then(() => {\n  clerk.addListener(render)\n  render()\n})\n```\n\nFull guide: `references\u002Fcreate-clerk-client.md`\n\n## Headless Extension (no popup, no side panel)\n\nFor extensions that run entirely in the background and sync with a web app.\n\nUses `syncHost` + `createClerkClient` with `background: true` to read auth state from the web app's cookies.\n\n```typescript\nimport { createClerkClient } from '@clerk\u002Fchrome-extension\u002Fclient'\n\nconst publishableKey = process.env.PLASMO_PUBLIC_CLERK_PUBLISHABLE_KEY\nconst syncHost = process.env.PLASMO_PUBLIC_CLERK_SYNC_HOST\n\nasync function getAuthenticatedUser() {\n  const clerk = await createClerkClient({\n    publishableKey,\n    syncHost,\n    background: true,\n  })\n  return clerk.user\n}\n```\n\nRequires `host_permissions` for the sync host domain in `package.json`.\n\nFull guide: `references\u002Fheadless-extension.md`\n\n## Content Scripts\n\nContent scripts run in an isolated JavaScript world injected into web pages. **Clerk cannot be used directly** -- origin restrictions prevent it.\n\nUse message passing to request auth state from the background service worker:\n\n```typescript\n\u002F\u002F content.ts\nasync function getToken(): Promise\u003Cstring | null> {\n  return new Promise((resolve) => {\n    chrome.runtime.sendMessage({ type: 'GET_TOKEN' }, (response) => {\n      resolve(response?.token ?? null)\n    })\n  })\n}\n\nasync function main() {\n  const token = await getToken()\n  if (!token) return\n  \u002F\u002F use token for authenticated API calls\n}\n\nmain()\n```\n\nFull guide: `references\u002Fcontent-scripts.md`\n\n## Stable CRX ID\n\nWithout a pinned key, Chrome derives the CRX ID from a random key at build time. This rotates every rebuild, breaking allowed origins.\n\n**Option A -- Plasmo Itero (recommended):**\n1. Visit [Plasmo Itero Generate Keypairs](https:\u002F\u002Fitero.plasmo.com\u002Fext\u002Fgenerate-keypairs)\n2. Click \"Generate KeyPairs\" -- save Private Key securely, copy Public Key and CRX ID\n\n**Option B -- OpenSSL:**\n```bash\nopenssl genrsa -out key.pem 2048\n# Use Plasmo Itero to convert or extract the public key in correct format\n```\n\n**`.env.chrome`:**\n```\nCRX_PUBLIC_KEY=\"\u003CPUBLIC KEY from Itero>\"\n```\n\n**`package.json`:**\n```json\n{\n  \"manifest\": {\n    \"key\": \"$CRX_PUBLIC_KEY\",\n    \"permissions\": [\"cookies\", \"storage\"],\n    \"host_permissions\": [\n      \"http:\u002F\u002Flocalhost\u002F*\",\n      \"$CLERK_FRONTEND_API\u002F*\"\n    ]\n  }\n}\n```\n\nAdd `chrome-extension:\u002F\u002FYOUR_STABLE_CRX_ID` to Clerk Dashboard > Allowed Origins.\n\n## Token Cache (persist across popup closes)\n\n```tsx\nconst tokenCache = {\n  async getToken(key: string) {\n    const result = await chrome.storage.local.get(key)\n    return result[key] ?? null\n  },\n  async saveToken(key: string, token: string) {\n    await chrome.storage.local.set({ [key]: token })\n  },\n  async clearToken(key: string) {\n    await chrome.storage.local.remove(key)\n  },\n}\n\n\u003CClerkProvider publishableKey={PUBLISHABLE_KEY} tokenCache={tokenCache}>\n```\n\n| Storage type | Scope | Clears on |\n|---|---|---|\n| `chrome.storage.local` | Device | Uninstall or manual clear |\n| `chrome.storage.session` | Session | Browser close |\n| `chrome.storage.sync` | All devices | Uninstall (size-limited, 8KB) |\n| `localStorage` | Popup only | Popup close -- do not use for auth |\n\n## Common Pitfalls\n\n| Symptom | Cause | Fix |\n|---------|-------|-----|\n| Redirect loop on sign-in | Missing CRX URL in ClerkProvider props | Set `afterSignOutUrl`, `signInFallbackRedirectUrl` |\n| OAuth button not working | OAuth not supported in popup | Use `syncHost` to delegate to web app |\n| Auth state stale after web app sign-in | `syncHost` not configured | Add `syncHost` prop + `host_permissions` |\n| Side panel shows signed-out after web sign-in | Known limitation | User must close and reopen the side panel |\n| Background can't get token after 60s | Session expired, no background refresh | Use `createClerkClient({ background: true })` |\n| Content script can't access Clerk | Isolated world + origin restrictions | Use message passing to background service worker |\n| Auth breaks after rebuild | CRX ID rotated | Configure stable key via `.env.chrome` |\n| `PLASMO_PUBLIC_` var undefined | Wrong env file | Use `.env.development`, not `.env` |\n| Bot protection errors | Cloudflare not supported in extensions | Disable bot protection in Clerk Dashboard |\n| Token cache not persisting | Using `localStorage` in popup | Use `chrome.storage.local` or pass `tokenCache` prop |\n\n## Plan Requirements\n\n| Feature | Plan |\n|---------|------|\n| Basic popup auth (email\u002Fpassword, OTP) | Free |\n| Passkeys | Free |\n| syncHost | Requires Pro (custom domain) |\n| OAuth through syncHost | Pro + OAuth configured on web app |\n| SAML through syncHost | Enterprise |\n| Bot protection | N\u002FA -- must be disabled for extensions |\n\n## See Also\n\n- `clerk-setup` - Initial Clerk install\n- `clerk-custom-ui` - Custom flows & appearance\n",{"data":38,"body":48},{"name":4,"description":6,"license":29,"allowed-tools":39,"compatibility":40,"metadata":41},"WebFetch","Requires PLASMO_PUBLIC_CLERK_PUBLISHABLE_KEY (Plasmo prefix for public env vars) and CLERK_FRONTEND_API.",{"author":8,"version":42,"references":43},"2.0.0",[44,45,46,47],"references\u002Fsync-host.md","references\u002Fcreate-clerk-client.md","references\u002Fcontent-scripts.md","references\u002Fheadless-extension.md",{"type":49,"children":50},"root",[51,60,67,159,165,426,432,509,522,533,543,553,1323,1343,1349,1354,1371,1379,1388,1397,1407,1416,1431,1679,1701,1925,1933,2038,2046,2175,2185,2191,2211,2228,2874,2887,2903,3309,3318,3324,3329,3356,3618,3636,3645,3651,3663,3668,4039,4048,4054,4059,4067,4089,4097,4141,4154,4163,4175,4381,4394,4400,4854,4969,4975,5266,5272,5369,5375,5401],{"type":52,"tag":53,"props":54,"children":56},"element","h1",{"id":55},"chrome-extension-patterns",[57],{"type":58,"value":59},"text","Chrome Extension Patterns",{"type":52,"tag":61,"props":62,"children":64},"h2",{"id":63},"critical-rules",[65],{"type":58,"value":66},"CRITICAL RULES",{"type":52,"tag":68,"props":69,"children":70},"ol",{},[71,86,91,96,109,136,149,154],{"type":52,"tag":72,"props":73,"children":74},"li",{},[75,77,84],{"type":58,"value":76},"OAuth (Google, GitHub, etc.) and SAML are NOT supported in popups or side panels -- use ",{"type":52,"tag":78,"props":79,"children":81},"code",{"className":80},[],[82],{"type":58,"value":83},"syncHost",{"type":58,"value":85}," to delegate auth to your web app",{"type":52,"tag":72,"props":87,"children":88},{},[89],{"type":58,"value":90},"Email links (magic links) don't work in popups -- the popup closes when the user clicks outside, resetting sign-in state",{"type":52,"tag":72,"props":92,"children":93},{},[94],{"type":58,"value":95},"Side panels don't auto-refresh auth state -- users must close and reopen the side panel after signing in via the web app",{"type":52,"tag":72,"props":97,"children":98},{},[99,101,107],{"type":58,"value":100},"Service workers and content scripts have NO access to Clerk React hooks -- use ",{"type":52,"tag":78,"props":102,"children":104},{"className":103},[],[105],{"type":58,"value":106},"createClerkClient()",{"type":58,"value":108}," or message passing",{"type":52,"tag":72,"props":110,"children":111},{},[112,114,120,122,128,130],{"type":58,"value":113},"Extension URLs use ",{"type":52,"tag":78,"props":115,"children":117},{"className":116},[],[118],{"type":58,"value":119},"chrome-extension:\u002F\u002F",{"type":58,"value":121}," not ",{"type":52,"tag":78,"props":123,"children":125},{"className":124},[],[126],{"type":58,"value":127},"http:\u002F\u002F",{"type":58,"value":129}," -- all redirect URLs must use ",{"type":52,"tag":78,"props":131,"children":133},{"className":132},[],[134],{"type":58,"value":135},"chrome.runtime.getURL('.')",{"type":52,"tag":72,"props":137,"children":138},{},[139,141,147],{"type":58,"value":140},"Without a stable CRX ID, every rebuild breaks auth -- configure ",{"type":52,"tag":78,"props":142,"children":144},{"className":143},[],[145],{"type":58,"value":146},"key",{"type":58,"value":148}," in manifest BEFORE deploying",{"type":52,"tag":72,"props":150,"children":151},{},[152],{"type":58,"value":153},"Content scripts cannot use Clerk directly due to origin restrictions -- Clerk enforces strict allowed origins",{"type":52,"tag":72,"props":155,"children":156},{},[157],{"type":58,"value":158},"Bot protection must be DISABLED in Clerk Dashboard -- Cloudflare bot detection is not supported in extension environments",{"type":52,"tag":61,"props":160,"children":162},{"id":161},"authentication-options",[163],{"type":58,"value":164},"Authentication Options",{"type":52,"tag":166,"props":167,"children":168},"table",{},[169,198],{"type":52,"tag":170,"props":171,"children":172},"thead",{},[173],{"type":52,"tag":174,"props":175,"children":176},"tr",{},[177,183,188,193],{"type":52,"tag":178,"props":179,"children":180},"th",{},[181],{"type":58,"value":182},"Method",{"type":52,"tag":178,"props":184,"children":185},{},[186],{"type":58,"value":187},"Popup",{"type":52,"tag":178,"props":189,"children":190},{},[191],{"type":58,"value":192},"Side Panel",{"type":52,"tag":178,"props":194,"children":195},{},[196],{"type":58,"value":197},"syncHost (with web app)",{"type":52,"tag":199,"props":200,"children":201},"tbody",{},[202,224,245,265,285,305,337,366,386,406],{"type":52,"tag":174,"props":203,"children":204},{},[205,211,216,220],{"type":52,"tag":206,"props":207,"children":208},"td",{},[209],{"type":58,"value":210},"Email + OTP",{"type":52,"tag":206,"props":212,"children":213},{},[214],{"type":58,"value":215},"Yes",{"type":52,"tag":206,"props":217,"children":218},{},[219],{"type":58,"value":215},{"type":52,"tag":206,"props":221,"children":222},{},[223],{"type":58,"value":215},{"type":52,"tag":174,"props":225,"children":226},{},[227,232,237,241],{"type":52,"tag":206,"props":228,"children":229},{},[230],{"type":58,"value":231},"Email + Link",{"type":52,"tag":206,"props":233,"children":234},{},[235],{"type":58,"value":236},"No",{"type":52,"tag":206,"props":238,"children":239},{},[240],{"type":58,"value":236},{"type":52,"tag":206,"props":242,"children":243},{},[244],{"type":58,"value":215},{"type":52,"tag":174,"props":246,"children":247},{},[248,253,257,261],{"type":52,"tag":206,"props":249,"children":250},{},[251],{"type":58,"value":252},"Email + Password",{"type":52,"tag":206,"props":254,"children":255},{},[256],{"type":58,"value":215},{"type":52,"tag":206,"props":258,"children":259},{},[260],{"type":58,"value":215},{"type":52,"tag":206,"props":262,"children":263},{},[264],{"type":58,"value":215},{"type":52,"tag":174,"props":266,"children":267},{},[268,273,277,281],{"type":52,"tag":206,"props":269,"children":270},{},[271],{"type":58,"value":272},"Username + Password",{"type":52,"tag":206,"props":274,"children":275},{},[276],{"type":58,"value":215},{"type":52,"tag":206,"props":278,"children":279},{},[280],{"type":58,"value":215},{"type":52,"tag":206,"props":282,"children":283},{},[284],{"type":58,"value":215},{"type":52,"tag":174,"props":286,"children":287},{},[288,293,297,301],{"type":52,"tag":206,"props":289,"children":290},{},[291],{"type":58,"value":292},"SMS + OTP",{"type":52,"tag":206,"props":294,"children":295},{},[296],{"type":58,"value":215},{"type":52,"tag":206,"props":298,"children":299},{},[300],{"type":58,"value":215},{"type":52,"tag":206,"props":302,"children":303},{},[304],{"type":58,"value":215},{"type":52,"tag":174,"props":306,"children":307},{},[308,313,322,329],{"type":52,"tag":206,"props":309,"children":310},{},[311],{"type":58,"value":312},"OAuth (Google, GitHub, etc.)",{"type":52,"tag":206,"props":314,"children":315},{},[316],{"type":52,"tag":317,"props":318,"children":319},"strong",{},[320],{"type":58,"value":321},"NO",{"type":52,"tag":206,"props":323,"children":324},{},[325],{"type":52,"tag":317,"props":326,"children":327},{},[328],{"type":58,"value":321},{"type":52,"tag":206,"props":330,"children":331},{},[332],{"type":52,"tag":317,"props":333,"children":334},{},[335],{"type":58,"value":336},"YES",{"type":52,"tag":174,"props":338,"children":339},{},[340,345,352,359],{"type":52,"tag":206,"props":341,"children":342},{},[343],{"type":58,"value":344},"SAML",{"type":52,"tag":206,"props":346,"children":347},{},[348],{"type":52,"tag":317,"props":349,"children":350},{},[351],{"type":58,"value":321},{"type":52,"tag":206,"props":353,"children":354},{},[355],{"type":52,"tag":317,"props":356,"children":357},{},[358],{"type":58,"value":321},{"type":52,"tag":206,"props":360,"children":361},{},[362],{"type":52,"tag":317,"props":363,"children":364},{},[365],{"type":58,"value":336},{"type":52,"tag":174,"props":367,"children":368},{},[369,374,378,382],{"type":52,"tag":206,"props":370,"children":371},{},[372],{"type":58,"value":373},"Passkeys",{"type":52,"tag":206,"props":375,"children":376},{},[377],{"type":58,"value":215},{"type":52,"tag":206,"props":379,"children":380},{},[381],{"type":58,"value":215},{"type":52,"tag":206,"props":383,"children":384},{},[385],{"type":58,"value":215},{"type":52,"tag":174,"props":387,"children":388},{},[389,394,398,402],{"type":52,"tag":206,"props":390,"children":391},{},[392],{"type":58,"value":393},"Google One Tap",{"type":52,"tag":206,"props":395,"children":396},{},[397],{"type":58,"value":236},{"type":52,"tag":206,"props":399,"children":400},{},[401],{"type":58,"value":236},{"type":52,"tag":206,"props":403,"children":404},{},[405],{"type":58,"value":215},{"type":52,"tag":174,"props":407,"children":408},{},[409,414,418,422],{"type":52,"tag":206,"props":410,"children":411},{},[412],{"type":58,"value":413},"Web3",{"type":52,"tag":206,"props":415,"children":416},{},[417],{"type":58,"value":236},{"type":52,"tag":206,"props":419,"children":420},{},[421],{"type":58,"value":236},{"type":52,"tag":206,"props":423,"children":424},{},[425],{"type":58,"value":215},{"type":52,"tag":61,"props":427,"children":429},{"id":428},"quick-start-plasmo",[430],{"type":58,"value":431},"Quick Start (Plasmo)",{"type":52,"tag":433,"props":434,"children":439},"pre",{"className":435,"code":436,"language":437,"meta":438,"style":438},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npx create-plasmo --with-tailwindcss --with-src my-extension\ncd my-extension\nnpm install @clerk\u002Fchrome-extension\n","bash","",[440],{"type":52,"tag":78,"props":441,"children":442},{"__ignoreMap":438},[443,476,490],{"type":52,"tag":444,"props":445,"children":448},"span",{"class":446,"line":447},"line",1,[449,455,461,466,471],{"type":52,"tag":444,"props":450,"children":452},{"style":451},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[453],{"type":58,"value":454},"npx",{"type":52,"tag":444,"props":456,"children":458},{"style":457},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[459],{"type":58,"value":460}," create-plasmo",{"type":52,"tag":444,"props":462,"children":463},{"style":457},[464],{"type":58,"value":465}," --with-tailwindcss",{"type":52,"tag":444,"props":467,"children":468},{"style":457},[469],{"type":58,"value":470}," --with-src",{"type":52,"tag":444,"props":472,"children":473},{"style":457},[474],{"type":58,"value":475}," my-extension\n",{"type":52,"tag":444,"props":477,"children":479},{"class":446,"line":478},2,[480,486],{"type":52,"tag":444,"props":481,"children":483},{"style":482},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[484],{"type":58,"value":485},"cd",{"type":52,"tag":444,"props":487,"children":488},{"style":457},[489],{"type":58,"value":475},{"type":52,"tag":444,"props":491,"children":493},{"class":446,"line":492},3,[494,499,504],{"type":52,"tag":444,"props":495,"children":496},{"style":451},[497],{"type":58,"value":498},"npm",{"type":52,"tag":444,"props":500,"children":501},{"style":457},[502],{"type":58,"value":503}," install",{"type":52,"tag":444,"props":505,"children":506},{"style":457},[507],{"type":58,"value":508}," @clerk\u002Fchrome-extension\n",{"type":52,"tag":510,"props":511,"children":512},"p",{},[513,515,520],{"type":58,"value":514},"Enable ",{"type":52,"tag":317,"props":516,"children":517},{},[518],{"type":58,"value":519},"Native API",{"type":58,"value":521}," in Clerk Dashboard under Native applications. Required for all extension integrations.",{"type":52,"tag":510,"props":523,"children":524},{},[525,531],{"type":52,"tag":78,"props":526,"children":528},{"className":527},[],[529],{"type":58,"value":530},".env.development",{"type":58,"value":532},":",{"type":52,"tag":433,"props":534,"children":538},{"className":535,"code":537,"language":58},[536],"language-text","PLASMO_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_...\nCLERK_FRONTEND_API=https:\u002F\u002Fyour-app.clerk.accounts.dev\n",[539],{"type":52,"tag":78,"props":540,"children":541},{"__ignoreMap":438},[542],{"type":58,"value":537},{"type":52,"tag":510,"props":544,"children":545},{},[546,552],{"type":52,"tag":78,"props":547,"children":549},{"className":548},[],[550],{"type":58,"value":551},"src\u002Fpopup.tsx",{"type":58,"value":532},{"type":52,"tag":433,"props":554,"children":558},{"className":555,"code":556,"language":557,"meta":438,"style":438},"language-tsx shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { ClerkProvider, Show, SignInButton, SignUpButton, UserButton } from '@clerk\u002Fchrome-extension'\n\nconst PUBLISHABLE_KEY = process.env.PLASMO_PUBLIC_CLERK_PUBLISHABLE_KEY\nconst EXTENSION_URL = chrome.runtime.getURL('.')\n\nif (!PUBLISHABLE_KEY) {\n  throw new Error('Missing PLASMO_PUBLIC_CLERK_PUBLISHABLE_KEY')\n}\n\nfunction IndexPopup() {\n  return (\n    \u003CClerkProvider\n      publishableKey={PUBLISHABLE_KEY}\n      afterSignOutUrl={`${EXTENSION_URL}\u002Fpopup.html`}\n      signInFallbackRedirectUrl={`${EXTENSION_URL}\u002Fpopup.html`}\n      signUpFallbackRedirectUrl={`${EXTENSION_URL}\u002Fpopup.html`}\n    >\n      \u003CShow when=\"signed-out\">\n        \u003CSignInButton mode=\"modal\" \u002F>\n        \u003CSignUpButton mode=\"modal\" \u002F>\n      \u003C\u002FShow>\n      \u003CShow when=\"signed-in\">\n        \u003CUserButton \u002F>\n      \u003C\u002FShow>\n    \u003C\u002FClerkProvider>\n  )\n}\n\nexport default IndexPopup\n","tsx",[559],{"type":52,"tag":78,"props":560,"children":561},{"__ignoreMap":438},[562,645,654,697,759,767,796,837,846,854,878,892,906,929,971,1008,1045,1054,1096,1137,1174,1191,1228,1245,1261,1279,1288,1296,1304],{"type":52,"tag":444,"props":563,"children":564},{"class":446,"line":447},[565,571,577,583,588,593,597,602,606,611,615,620,625,630,635,640],{"type":52,"tag":444,"props":566,"children":568},{"style":567},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[569],{"type":58,"value":570},"import",{"type":52,"tag":444,"props":572,"children":574},{"style":573},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[575],{"type":58,"value":576}," {",{"type":52,"tag":444,"props":578,"children":580},{"style":579},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[581],{"type":58,"value":582}," ClerkProvider",{"type":52,"tag":444,"props":584,"children":585},{"style":573},[586],{"type":58,"value":587},",",{"type":52,"tag":444,"props":589,"children":590},{"style":579},[591],{"type":58,"value":592}," Show",{"type":52,"tag":444,"props":594,"children":595},{"style":573},[596],{"type":58,"value":587},{"type":52,"tag":444,"props":598,"children":599},{"style":579},[600],{"type":58,"value":601}," SignInButton",{"type":52,"tag":444,"props":603,"children":604},{"style":573},[605],{"type":58,"value":587},{"type":52,"tag":444,"props":607,"children":608},{"style":579},[609],{"type":58,"value":610}," SignUpButton",{"type":52,"tag":444,"props":612,"children":613},{"style":573},[614],{"type":58,"value":587},{"type":52,"tag":444,"props":616,"children":617},{"style":579},[618],{"type":58,"value":619}," UserButton",{"type":52,"tag":444,"props":621,"children":622},{"style":573},[623],{"type":58,"value":624}," }",{"type":52,"tag":444,"props":626,"children":627},{"style":567},[628],{"type":58,"value":629}," from",{"type":52,"tag":444,"props":631,"children":632},{"style":573},[633],{"type":58,"value":634}," '",{"type":52,"tag":444,"props":636,"children":637},{"style":457},[638],{"type":58,"value":639},"@clerk\u002Fchrome-extension",{"type":52,"tag":444,"props":641,"children":642},{"style":573},[643],{"type":58,"value":644},"'\n",{"type":52,"tag":444,"props":646,"children":647},{"class":446,"line":478},[648],{"type":52,"tag":444,"props":649,"children":651},{"emptyLinePlaceholder":650},true,[652],{"type":58,"value":653},"\n",{"type":52,"tag":444,"props":655,"children":656},{"class":446,"line":492},[657,663,668,673,678,683,688,692],{"type":52,"tag":444,"props":658,"children":660},{"style":659},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[661],{"type":58,"value":662},"const",{"type":52,"tag":444,"props":664,"children":665},{"style":579},[666],{"type":58,"value":667}," PUBLISHABLE_KEY ",{"type":52,"tag":444,"props":669,"children":670},{"style":573},[671],{"type":58,"value":672},"=",{"type":52,"tag":444,"props":674,"children":675},{"style":579},[676],{"type":58,"value":677}," process",{"type":52,"tag":444,"props":679,"children":680},{"style":573},[681],{"type":58,"value":682},".",{"type":52,"tag":444,"props":684,"children":685},{"style":579},[686],{"type":58,"value":687},"env",{"type":52,"tag":444,"props":689,"children":690},{"style":573},[691],{"type":58,"value":682},{"type":52,"tag":444,"props":693,"children":694},{"style":579},[695],{"type":58,"value":696},"PLASMO_PUBLIC_CLERK_PUBLISHABLE_KEY\n",{"type":52,"tag":444,"props":698,"children":699},{"class":446,"line":30},[700,704,709,713,718,722,727,731,736,741,746,750,754],{"type":52,"tag":444,"props":701,"children":702},{"style":659},[703],{"type":58,"value":662},{"type":52,"tag":444,"props":705,"children":706},{"style":579},[707],{"type":58,"value":708}," EXTENSION_URL ",{"type":52,"tag":444,"props":710,"children":711},{"style":573},[712],{"type":58,"value":672},{"type":52,"tag":444,"props":714,"children":715},{"style":579},[716],{"type":58,"value":717}," chrome",{"type":52,"tag":444,"props":719,"children":720},{"style":573},[721],{"type":58,"value":682},{"type":52,"tag":444,"props":723,"children":724},{"style":579},[725],{"type":58,"value":726},"runtime",{"type":52,"tag":444,"props":728,"children":729},{"style":573},[730],{"type":58,"value":682},{"type":52,"tag":444,"props":732,"children":733},{"style":482},[734],{"type":58,"value":735},"getURL",{"type":52,"tag":444,"props":737,"children":738},{"style":579},[739],{"type":58,"value":740},"(",{"type":52,"tag":444,"props":742,"children":743},{"style":573},[744],{"type":58,"value":745},"'",{"type":52,"tag":444,"props":747,"children":748},{"style":457},[749],{"type":58,"value":682},{"type":52,"tag":444,"props":751,"children":752},{"style":573},[753],{"type":58,"value":745},{"type":52,"tag":444,"props":755,"children":756},{"style":579},[757],{"type":58,"value":758},")\n",{"type":52,"tag":444,"props":760,"children":762},{"class":446,"line":761},5,[763],{"type":52,"tag":444,"props":764,"children":765},{"emptyLinePlaceholder":650},[766],{"type":58,"value":653},{"type":52,"tag":444,"props":768,"children":770},{"class":446,"line":769},6,[771,776,781,786,791],{"type":52,"tag":444,"props":772,"children":773},{"style":567},[774],{"type":58,"value":775},"if",{"type":52,"tag":444,"props":777,"children":778},{"style":579},[779],{"type":58,"value":780}," (",{"type":52,"tag":444,"props":782,"children":783},{"style":573},[784],{"type":58,"value":785},"!",{"type":52,"tag":444,"props":787,"children":788},{"style":579},[789],{"type":58,"value":790},"PUBLISHABLE_KEY) ",{"type":52,"tag":444,"props":792,"children":793},{"style":573},[794],{"type":58,"value":795},"{\n",{"type":52,"tag":444,"props":797,"children":799},{"class":446,"line":798},7,[800,805,810,815,820,824,829,833],{"type":52,"tag":444,"props":801,"children":802},{"style":567},[803],{"type":58,"value":804},"  throw",{"type":52,"tag":444,"props":806,"children":807},{"style":573},[808],{"type":58,"value":809}," new",{"type":52,"tag":444,"props":811,"children":812},{"style":482},[813],{"type":58,"value":814}," Error",{"type":52,"tag":444,"props":816,"children":818},{"style":817},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[819],{"type":58,"value":740},{"type":52,"tag":444,"props":821,"children":822},{"style":573},[823],{"type":58,"value":745},{"type":52,"tag":444,"props":825,"children":826},{"style":457},[827],{"type":58,"value":828},"Missing PLASMO_PUBLIC_CLERK_PUBLISHABLE_KEY",{"type":52,"tag":444,"props":830,"children":831},{"style":573},[832],{"type":58,"value":745},{"type":52,"tag":444,"props":834,"children":835},{"style":817},[836],{"type":58,"value":758},{"type":52,"tag":444,"props":838,"children":840},{"class":446,"line":839},8,[841],{"type":52,"tag":444,"props":842,"children":843},{"style":573},[844],{"type":58,"value":845},"}\n",{"type":52,"tag":444,"props":847,"children":849},{"class":446,"line":848},9,[850],{"type":52,"tag":444,"props":851,"children":852},{"emptyLinePlaceholder":650},[853],{"type":58,"value":653},{"type":52,"tag":444,"props":855,"children":857},{"class":446,"line":856},10,[858,863,868,873],{"type":52,"tag":444,"props":859,"children":860},{"style":659},[861],{"type":58,"value":862},"function",{"type":52,"tag":444,"props":864,"children":865},{"style":482},[866],{"type":58,"value":867}," IndexPopup",{"type":52,"tag":444,"props":869,"children":870},{"style":573},[871],{"type":58,"value":872},"()",{"type":52,"tag":444,"props":874,"children":875},{"style":573},[876],{"type":58,"value":877}," {\n",{"type":52,"tag":444,"props":879,"children":881},{"class":446,"line":880},11,[882,887],{"type":52,"tag":444,"props":883,"children":884},{"style":567},[885],{"type":58,"value":886},"  return",{"type":52,"tag":444,"props":888,"children":889},{"style":817},[890],{"type":58,"value":891}," (\n",{"type":52,"tag":444,"props":893,"children":895},{"class":446,"line":894},12,[896,901],{"type":52,"tag":444,"props":897,"children":898},{"style":573},[899],{"type":58,"value":900},"    \u003C",{"type":52,"tag":444,"props":902,"children":903},{"style":451},[904],{"type":58,"value":905},"ClerkProvider\n",{"type":52,"tag":444,"props":907,"children":909},{"class":446,"line":908},13,[910,915,920,925],{"type":52,"tag":444,"props":911,"children":912},{"style":659},[913],{"type":58,"value":914},"      publishableKey",{"type":52,"tag":444,"props":916,"children":917},{"style":573},[918],{"type":58,"value":919},"={",{"type":52,"tag":444,"props":921,"children":922},{"style":579},[923],{"type":58,"value":924},"PUBLISHABLE_KEY",{"type":52,"tag":444,"props":926,"children":927},{"style":573},[928],{"type":58,"value":845},{"type":52,"tag":444,"props":930,"children":932},{"class":446,"line":931},14,[933,938,942,947,952,957,962,967],{"type":52,"tag":444,"props":934,"children":935},{"style":659},[936],{"type":58,"value":937},"      afterSignOutUrl",{"type":52,"tag":444,"props":939,"children":940},{"style":573},[941],{"type":58,"value":919},{"type":52,"tag":444,"props":943,"children":944},{"style":573},[945],{"type":58,"value":946},"`${",{"type":52,"tag":444,"props":948,"children":949},{"style":579},[950],{"type":58,"value":951},"EXTENSION_URL",{"type":52,"tag":444,"props":953,"children":954},{"style":573},[955],{"type":58,"value":956},"}",{"type":52,"tag":444,"props":958,"children":959},{"style":457},[960],{"type":58,"value":961},"\u002Fpopup.html",{"type":52,"tag":444,"props":963,"children":964},{"style":573},[965],{"type":58,"value":966},"`",{"type":52,"tag":444,"props":968,"children":969},{"style":573},[970],{"type":58,"value":845},{"type":52,"tag":444,"props":972,"children":974},{"class":446,"line":973},15,[975,980,984,988,992,996,1000,1004],{"type":52,"tag":444,"props":976,"children":977},{"style":659},[978],{"type":58,"value":979},"      signInFallbackRedirectUrl",{"type":52,"tag":444,"props":981,"children":982},{"style":573},[983],{"type":58,"value":919},{"type":52,"tag":444,"props":985,"children":986},{"style":573},[987],{"type":58,"value":946},{"type":52,"tag":444,"props":989,"children":990},{"style":579},[991],{"type":58,"value":951},{"type":52,"tag":444,"props":993,"children":994},{"style":573},[995],{"type":58,"value":956},{"type":52,"tag":444,"props":997,"children":998},{"style":457},[999],{"type":58,"value":961},{"type":52,"tag":444,"props":1001,"children":1002},{"style":573},[1003],{"type":58,"value":966},{"type":52,"tag":444,"props":1005,"children":1006},{"style":573},[1007],{"type":58,"value":845},{"type":52,"tag":444,"props":1009,"children":1011},{"class":446,"line":1010},16,[1012,1017,1021,1025,1029,1033,1037,1041],{"type":52,"tag":444,"props":1013,"children":1014},{"style":659},[1015],{"type":58,"value":1016},"      signUpFallbackRedirectUrl",{"type":52,"tag":444,"props":1018,"children":1019},{"style":573},[1020],{"type":58,"value":919},{"type":52,"tag":444,"props":1022,"children":1023},{"style":573},[1024],{"type":58,"value":946},{"type":52,"tag":444,"props":1026,"children":1027},{"style":579},[1028],{"type":58,"value":951},{"type":52,"tag":444,"props":1030,"children":1031},{"style":573},[1032],{"type":58,"value":956},{"type":52,"tag":444,"props":1034,"children":1035},{"style":457},[1036],{"type":58,"value":961},{"type":52,"tag":444,"props":1038,"children":1039},{"style":573},[1040],{"type":58,"value":966},{"type":52,"tag":444,"props":1042,"children":1043},{"style":573},[1044],{"type":58,"value":845},{"type":52,"tag":444,"props":1046,"children":1048},{"class":446,"line":1047},17,[1049],{"type":52,"tag":444,"props":1050,"children":1051},{"style":573},[1052],{"type":58,"value":1053},"    >\n",{"type":52,"tag":444,"props":1055,"children":1057},{"class":446,"line":1056},18,[1058,1063,1068,1073,1077,1082,1087,1091],{"type":52,"tag":444,"props":1059,"children":1060},{"style":573},[1061],{"type":58,"value":1062},"      \u003C",{"type":52,"tag":444,"props":1064,"children":1065},{"style":451},[1066],{"type":58,"value":1067},"Show",{"type":52,"tag":444,"props":1069,"children":1070},{"style":659},[1071],{"type":58,"value":1072}," when",{"type":52,"tag":444,"props":1074,"children":1075},{"style":573},[1076],{"type":58,"value":672},{"type":52,"tag":444,"props":1078,"children":1079},{"style":573},[1080],{"type":58,"value":1081},"\"",{"type":52,"tag":444,"props":1083,"children":1084},{"style":457},[1085],{"type":58,"value":1086},"signed-out",{"type":52,"tag":444,"props":1088,"children":1089},{"style":573},[1090],{"type":58,"value":1081},{"type":52,"tag":444,"props":1092,"children":1093},{"style":573},[1094],{"type":58,"value":1095},">\n",{"type":52,"tag":444,"props":1097,"children":1099},{"class":446,"line":1098},19,[1100,1105,1110,1115,1119,1123,1128,1132],{"type":52,"tag":444,"props":1101,"children":1102},{"style":573},[1103],{"type":58,"value":1104},"        \u003C",{"type":52,"tag":444,"props":1106,"children":1107},{"style":451},[1108],{"type":58,"value":1109},"SignInButton",{"type":52,"tag":444,"props":1111,"children":1112},{"style":659},[1113],{"type":58,"value":1114}," mode",{"type":52,"tag":444,"props":1116,"children":1117},{"style":573},[1118],{"type":58,"value":672},{"type":52,"tag":444,"props":1120,"children":1121},{"style":573},[1122],{"type":58,"value":1081},{"type":52,"tag":444,"props":1124,"children":1125},{"style":457},[1126],{"type":58,"value":1127},"modal",{"type":52,"tag":444,"props":1129,"children":1130},{"style":573},[1131],{"type":58,"value":1081},{"type":52,"tag":444,"props":1133,"children":1134},{"style":573},[1135],{"type":58,"value":1136}," \u002F>\n",{"type":52,"tag":444,"props":1138,"children":1140},{"class":446,"line":1139},20,[1141,1145,1150,1154,1158,1162,1166,1170],{"type":52,"tag":444,"props":1142,"children":1143},{"style":573},[1144],{"type":58,"value":1104},{"type":52,"tag":444,"props":1146,"children":1147},{"style":451},[1148],{"type":58,"value":1149},"SignUpButton",{"type":52,"tag":444,"props":1151,"children":1152},{"style":659},[1153],{"type":58,"value":1114},{"type":52,"tag":444,"props":1155,"children":1156},{"style":573},[1157],{"type":58,"value":672},{"type":52,"tag":444,"props":1159,"children":1160},{"style":573},[1161],{"type":58,"value":1081},{"type":52,"tag":444,"props":1163,"children":1164},{"style":457},[1165],{"type":58,"value":1127},{"type":52,"tag":444,"props":1167,"children":1168},{"style":573},[1169],{"type":58,"value":1081},{"type":52,"tag":444,"props":1171,"children":1172},{"style":573},[1173],{"type":58,"value":1136},{"type":52,"tag":444,"props":1175,"children":1177},{"class":446,"line":1176},21,[1178,1183,1187],{"type":52,"tag":444,"props":1179,"children":1180},{"style":573},[1181],{"type":58,"value":1182},"      \u003C\u002F",{"type":52,"tag":444,"props":1184,"children":1185},{"style":451},[1186],{"type":58,"value":1067},{"type":52,"tag":444,"props":1188,"children":1189},{"style":573},[1190],{"type":58,"value":1095},{"type":52,"tag":444,"props":1192,"children":1194},{"class":446,"line":1193},22,[1195,1199,1203,1207,1211,1215,1220,1224],{"type":52,"tag":444,"props":1196,"children":1197},{"style":573},[1198],{"type":58,"value":1062},{"type":52,"tag":444,"props":1200,"children":1201},{"style":451},[1202],{"type":58,"value":1067},{"type":52,"tag":444,"props":1204,"children":1205},{"style":659},[1206],{"type":58,"value":1072},{"type":52,"tag":444,"props":1208,"children":1209},{"style":573},[1210],{"type":58,"value":672},{"type":52,"tag":444,"props":1212,"children":1213},{"style":573},[1214],{"type":58,"value":1081},{"type":52,"tag":444,"props":1216,"children":1217},{"style":457},[1218],{"type":58,"value":1219},"signed-in",{"type":52,"tag":444,"props":1221,"children":1222},{"style":573},[1223],{"type":58,"value":1081},{"type":52,"tag":444,"props":1225,"children":1226},{"style":573},[1227],{"type":58,"value":1095},{"type":52,"tag":444,"props":1229,"children":1231},{"class":446,"line":1230},23,[1232,1236,1241],{"type":52,"tag":444,"props":1233,"children":1234},{"style":573},[1235],{"type":58,"value":1104},{"type":52,"tag":444,"props":1237,"children":1238},{"style":451},[1239],{"type":58,"value":1240},"UserButton",{"type":52,"tag":444,"props":1242,"children":1243},{"style":573},[1244],{"type":58,"value":1136},{"type":52,"tag":444,"props":1246,"children":1248},{"class":446,"line":1247},24,[1249,1253,1257],{"type":52,"tag":444,"props":1250,"children":1251},{"style":573},[1252],{"type":58,"value":1182},{"type":52,"tag":444,"props":1254,"children":1255},{"style":451},[1256],{"type":58,"value":1067},{"type":52,"tag":444,"props":1258,"children":1259},{"style":573},[1260],{"type":58,"value":1095},{"type":52,"tag":444,"props":1262,"children":1264},{"class":446,"line":1263},25,[1265,1270,1275],{"type":52,"tag":444,"props":1266,"children":1267},{"style":573},[1268],{"type":58,"value":1269},"    \u003C\u002F",{"type":52,"tag":444,"props":1271,"children":1272},{"style":451},[1273],{"type":58,"value":1274},"ClerkProvider",{"type":52,"tag":444,"props":1276,"children":1277},{"style":573},[1278],{"type":58,"value":1095},{"type":52,"tag":444,"props":1280,"children":1282},{"class":446,"line":1281},26,[1283],{"type":52,"tag":444,"props":1284,"children":1285},{"style":817},[1286],{"type":58,"value":1287},"  )\n",{"type":52,"tag":444,"props":1289,"children":1291},{"class":446,"line":1290},27,[1292],{"type":52,"tag":444,"props":1293,"children":1294},{"style":573},[1295],{"type":58,"value":845},{"type":52,"tag":444,"props":1297,"children":1299},{"class":446,"line":1298},28,[1300],{"type":52,"tag":444,"props":1301,"children":1302},{"emptyLinePlaceholder":650},[1303],{"type":58,"value":653},{"type":52,"tag":444,"props":1305,"children":1307},{"class":446,"line":1306},29,[1308,1313,1318],{"type":52,"tag":444,"props":1309,"children":1310},{"style":567},[1311],{"type":58,"value":1312},"export",{"type":52,"tag":444,"props":1314,"children":1315},{"style":567},[1316],{"type":58,"value":1317}," default",{"type":52,"tag":444,"props":1319,"children":1320},{"style":579},[1321],{"type":58,"value":1322}," IndexPopup\n",{"type":52,"tag":510,"props":1324,"children":1325},{},[1326,1328,1334,1336,1341],{"type":58,"value":1327},"Use ",{"type":52,"tag":78,"props":1329,"children":1331},{"className":1330},[],[1332],{"type":58,"value":1333},"mode=\"modal\"",{"type":58,"value":1335}," for ",{"type":52,"tag":78,"props":1337,"children":1339},{"className":1338},[],[1340],{"type":58,"value":1109},{"type":58,"value":1342}," -- navigating to a separate page breaks the popup flow.",{"type":52,"tag":61,"props":1344,"children":1346},{"id":1345},"synchost-sync-auth-with-web-app",[1347],{"type":58,"value":1348},"syncHost -- Sync Auth with Web App",{"type":52,"tag":510,"props":1350,"children":1351},{},[1352],{"type":58,"value":1353},"Use this when you need OAuth, SAML, or want the extension to reflect sign-in from your web app.",{"type":52,"tag":510,"props":1355,"children":1356},{},[1357,1362,1364,1370],{"type":52,"tag":317,"props":1358,"children":1359},{},[1360],{"type":58,"value":1361},"How it works",{"type":58,"value":1363},": The extension reads the Clerk session cookie from your web app's domain via ",{"type":52,"tag":78,"props":1365,"children":1367},{"className":1366},[],[1368],{"type":58,"value":1369},"host_permissions",{"type":58,"value":682},{"type":52,"tag":510,"props":1372,"children":1373},{},[1374],{"type":52,"tag":317,"props":1375,"children":1376},{},[1377],{"type":58,"value":1378},"Step 1 -- Environment variables:",{"type":52,"tag":510,"props":1380,"children":1381},{},[1382,1387],{"type":52,"tag":78,"props":1383,"children":1385},{"className":1384},[],[1386],{"type":58,"value":530},{"type":58,"value":532},{"type":52,"tag":433,"props":1389,"children":1392},{"className":1390,"code":1391,"language":58},[536],"PLASMO_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_...\nCLERK_FRONTEND_API=https:\u002F\u002Fyour-app.clerk.accounts.dev\nPLASMO_PUBLIC_CLERK_SYNC_HOST=http:\u002F\u002Flocalhost\n",[1393],{"type":52,"tag":78,"props":1394,"children":1395},{"__ignoreMap":438},[1396],{"type":58,"value":1391},{"type":52,"tag":510,"props":1398,"children":1399},{},[1400,1406],{"type":52,"tag":78,"props":1401,"children":1403},{"className":1402},[],[1404],{"type":58,"value":1405},".env.production",{"type":58,"value":532},{"type":52,"tag":433,"props":1408,"children":1411},{"className":1409,"code":1410,"language":58},[536],"PLASMO_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_live_...\nCLERK_FRONTEND_API=https:\u002F\u002Fclerk.your-domain.com\nPLASMO_PUBLIC_CLERK_SYNC_HOST=https:\u002F\u002Fclerk.your-domain.com\n",[1412],{"type":52,"tag":78,"props":1413,"children":1414},{"__ignoreMap":438},[1415],{"type":58,"value":1410},{"type":52,"tag":510,"props":1417,"children":1418},{},[1419],{"type":52,"tag":317,"props":1420,"children":1421},{},[1422,1424,1429],{"type":58,"value":1423},"Step 2 -- Add ",{"type":52,"tag":78,"props":1425,"children":1427},{"className":1426},[],[1428],{"type":58,"value":83},{"type":58,"value":1430}," prop:",{"type":52,"tag":433,"props":1432,"children":1434},{"className":555,"code":1433,"language":557,"meta":438,"style":438},"const SYNC_HOST = process.env.PLASMO_PUBLIC_CLERK_SYNC_HOST\n\n\u003CClerkProvider\n  publishableKey={PUBLISHABLE_KEY}\n  syncHost={SYNC_HOST}\n  afterSignOutUrl=\"\u002F\"\n  routerPush={(to) => navigate(to)}\n  routerReplace={(to) => navigate(to, { replace: true })}\n>\n",[1435],{"type":52,"tag":78,"props":1436,"children":1437},{"__ignoreMap":438},[1438,1475,1482,1494,1514,1535,1561,1604,1672],{"type":52,"tag":444,"props":1439,"children":1440},{"class":446,"line":447},[1441,1445,1450,1454,1458,1462,1466,1470],{"type":52,"tag":444,"props":1442,"children":1443},{"style":659},[1444],{"type":58,"value":662},{"type":52,"tag":444,"props":1446,"children":1447},{"style":579},[1448],{"type":58,"value":1449}," SYNC_HOST ",{"type":52,"tag":444,"props":1451,"children":1452},{"style":573},[1453],{"type":58,"value":672},{"type":52,"tag":444,"props":1455,"children":1456},{"style":579},[1457],{"type":58,"value":677},{"type":52,"tag":444,"props":1459,"children":1460},{"style":573},[1461],{"type":58,"value":682},{"type":52,"tag":444,"props":1463,"children":1464},{"style":579},[1465],{"type":58,"value":687},{"type":52,"tag":444,"props":1467,"children":1468},{"style":573},[1469],{"type":58,"value":682},{"type":52,"tag":444,"props":1471,"children":1472},{"style":579},[1473],{"type":58,"value":1474},"PLASMO_PUBLIC_CLERK_SYNC_HOST\n",{"type":52,"tag":444,"props":1476,"children":1477},{"class":446,"line":478},[1478],{"type":52,"tag":444,"props":1479,"children":1480},{"emptyLinePlaceholder":650},[1481],{"type":58,"value":653},{"type":52,"tag":444,"props":1483,"children":1484},{"class":446,"line":492},[1485,1490],{"type":52,"tag":444,"props":1486,"children":1487},{"style":573},[1488],{"type":58,"value":1489},"\u003C",{"type":52,"tag":444,"props":1491,"children":1492},{"style":451},[1493],{"type":58,"value":905},{"type":52,"tag":444,"props":1495,"children":1496},{"class":446,"line":30},[1497,1502,1506,1510],{"type":52,"tag":444,"props":1498,"children":1499},{"style":659},[1500],{"type":58,"value":1501},"  publishableKey",{"type":52,"tag":444,"props":1503,"children":1504},{"style":573},[1505],{"type":58,"value":919},{"type":52,"tag":444,"props":1507,"children":1508},{"style":579},[1509],{"type":58,"value":924},{"type":52,"tag":444,"props":1511,"children":1512},{"style":573},[1513],{"type":58,"value":845},{"type":52,"tag":444,"props":1515,"children":1516},{"class":446,"line":761},[1517,1522,1526,1531],{"type":52,"tag":444,"props":1518,"children":1519},{"style":659},[1520],{"type":58,"value":1521},"  syncHost",{"type":52,"tag":444,"props":1523,"children":1524},{"style":573},[1525],{"type":58,"value":919},{"type":52,"tag":444,"props":1527,"children":1528},{"style":579},[1529],{"type":58,"value":1530},"SYNC_HOST",{"type":52,"tag":444,"props":1532,"children":1533},{"style":573},[1534],{"type":58,"value":845},{"type":52,"tag":444,"props":1536,"children":1537},{"class":446,"line":769},[1538,1543,1547,1551,1556],{"type":52,"tag":444,"props":1539,"children":1540},{"style":659},[1541],{"type":58,"value":1542},"  afterSignOutUrl",{"type":52,"tag":444,"props":1544,"children":1545},{"style":573},[1546],{"type":58,"value":672},{"type":52,"tag":444,"props":1548,"children":1549},{"style":573},[1550],{"type":58,"value":1081},{"type":52,"tag":444,"props":1552,"children":1553},{"style":457},[1554],{"type":58,"value":1555},"\u002F",{"type":52,"tag":444,"props":1557,"children":1558},{"style":573},[1559],{"type":58,"value":1560},"\"\n",{"type":52,"tag":444,"props":1562,"children":1563},{"class":446,"line":798},[1564,1569,1574,1580,1585,1590,1595,1600],{"type":52,"tag":444,"props":1565,"children":1566},{"style":659},[1567],{"type":58,"value":1568},"  routerPush",{"type":52,"tag":444,"props":1570,"children":1571},{"style":573},[1572],{"type":58,"value":1573},"={(",{"type":52,"tag":444,"props":1575,"children":1577},{"style":1576},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[1578],{"type":58,"value":1579},"to",{"type":52,"tag":444,"props":1581,"children":1582},{"style":573},[1583],{"type":58,"value":1584},")",{"type":52,"tag":444,"props":1586,"children":1587},{"style":659},[1588],{"type":58,"value":1589}," =>",{"type":52,"tag":444,"props":1591,"children":1592},{"style":482},[1593],{"type":58,"value":1594}," navigate",{"type":52,"tag":444,"props":1596,"children":1597},{"style":579},[1598],{"type":58,"value":1599},"(to)",{"type":52,"tag":444,"props":1601,"children":1602},{"style":573},[1603],{"type":58,"value":845},{"type":52,"tag":444,"props":1605,"children":1606},{"class":446,"line":839},[1607,1612,1616,1620,1624,1628,1632,1637,1641,1645,1650,1654,1660,1664,1668],{"type":52,"tag":444,"props":1608,"children":1609},{"style":659},[1610],{"type":58,"value":1611},"  routerReplace",{"type":52,"tag":444,"props":1613,"children":1614},{"style":573},[1615],{"type":58,"value":1573},{"type":52,"tag":444,"props":1617,"children":1618},{"style":1576},[1619],{"type":58,"value":1579},{"type":52,"tag":444,"props":1621,"children":1622},{"style":573},[1623],{"type":58,"value":1584},{"type":52,"tag":444,"props":1625,"children":1626},{"style":659},[1627],{"type":58,"value":1589},{"type":52,"tag":444,"props":1629,"children":1630},{"style":482},[1631],{"type":58,"value":1594},{"type":52,"tag":444,"props":1633,"children":1634},{"style":579},[1635],{"type":58,"value":1636},"(to",{"type":52,"tag":444,"props":1638,"children":1639},{"style":573},[1640],{"type":58,"value":587},{"type":52,"tag":444,"props":1642,"children":1643},{"style":573},[1644],{"type":58,"value":576},{"type":52,"tag":444,"props":1646,"children":1647},{"style":817},[1648],{"type":58,"value":1649}," replace",{"type":52,"tag":444,"props":1651,"children":1652},{"style":573},[1653],{"type":58,"value":532},{"type":52,"tag":444,"props":1655,"children":1657},{"style":1656},"--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC",[1658],{"type":58,"value":1659}," true",{"type":52,"tag":444,"props":1661,"children":1662},{"style":573},[1663],{"type":58,"value":624},{"type":52,"tag":444,"props":1665,"children":1666},{"style":579},[1667],{"type":58,"value":1584},{"type":52,"tag":444,"props":1669,"children":1670},{"style":573},[1671],{"type":58,"value":845},{"type":52,"tag":444,"props":1673,"children":1674},{"class":446,"line":848},[1675],{"type":52,"tag":444,"props":1676,"children":1677},{"style":573},[1678],{"type":58,"value":1095},{"type":52,"tag":510,"props":1680,"children":1681},{},[1682],{"type":52,"tag":317,"props":1683,"children":1684},{},[1685,1687,1692,1694,1700],{"type":58,"value":1686},"Step 3 -- Configure ",{"type":52,"tag":78,"props":1688,"children":1690},{"className":1689},[],[1691],{"type":58,"value":1369},{"type":58,"value":1693}," in ",{"type":52,"tag":78,"props":1695,"children":1697},{"className":1696},[],[1698],{"type":58,"value":1699},"package.json",{"type":58,"value":532},{"type":52,"tag":433,"props":1702,"children":1706},{"className":1703,"code":1704,"language":1705,"meta":438,"style":438},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"manifest\": {\n    \"key\": \"$CRX_PUBLIC_KEY\",\n    \"permissions\": [\"cookies\", \"storage\"],\n    \"host_permissions\": [\n      \"$PLASMO_PUBLIC_CLERK_SYNC_HOST\u002F*\",\n      \"$CLERK_FRONTEND_API\u002F*\"\n    ]\n  }\n}\n","json",[1707],{"type":52,"tag":78,"props":1708,"children":1709},{"__ignoreMap":438},[1710,1717,1742,1781,1841,1865,1886,1902,1910,1918],{"type":52,"tag":444,"props":1711,"children":1712},{"class":446,"line":447},[1713],{"type":52,"tag":444,"props":1714,"children":1715},{"style":573},[1716],{"type":58,"value":795},{"type":52,"tag":444,"props":1718,"children":1719},{"class":446,"line":478},[1720,1725,1730,1734,1738],{"type":52,"tag":444,"props":1721,"children":1722},{"style":573},[1723],{"type":58,"value":1724},"  \"",{"type":52,"tag":444,"props":1726,"children":1727},{"style":659},[1728],{"type":58,"value":1729},"manifest",{"type":52,"tag":444,"props":1731,"children":1732},{"style":573},[1733],{"type":58,"value":1081},{"type":52,"tag":444,"props":1735,"children":1736},{"style":573},[1737],{"type":58,"value":532},{"type":52,"tag":444,"props":1739,"children":1740},{"style":573},[1741],{"type":58,"value":877},{"type":52,"tag":444,"props":1743,"children":1744},{"class":446,"line":492},[1745,1750,1754,1758,1762,1767,1772,1776],{"type":52,"tag":444,"props":1746,"children":1747},{"style":573},[1748],{"type":58,"value":1749},"    \"",{"type":52,"tag":444,"props":1751,"children":1752},{"style":451},[1753],{"type":58,"value":146},{"type":52,"tag":444,"props":1755,"children":1756},{"style":573},[1757],{"type":58,"value":1081},{"type":52,"tag":444,"props":1759,"children":1760},{"style":573},[1761],{"type":58,"value":532},{"type":52,"tag":444,"props":1763,"children":1764},{"style":573},[1765],{"type":58,"value":1766}," \"",{"type":52,"tag":444,"props":1768,"children":1769},{"style":457},[1770],{"type":58,"value":1771},"$CRX_PUBLIC_KEY",{"type":52,"tag":444,"props":1773,"children":1774},{"style":573},[1775],{"type":58,"value":1081},{"type":52,"tag":444,"props":1777,"children":1778},{"style":573},[1779],{"type":58,"value":1780},",\n",{"type":52,"tag":444,"props":1782,"children":1783},{"class":446,"line":30},[1784,1788,1793,1797,1801,1806,1810,1815,1819,1823,1827,1832,1836],{"type":52,"tag":444,"props":1785,"children":1786},{"style":573},[1787],{"type":58,"value":1749},{"type":52,"tag":444,"props":1789,"children":1790},{"style":451},[1791],{"type":58,"value":1792},"permissions",{"type":52,"tag":444,"props":1794,"children":1795},{"style":573},[1796],{"type":58,"value":1081},{"type":52,"tag":444,"props":1798,"children":1799},{"style":573},[1800],{"type":58,"value":532},{"type":52,"tag":444,"props":1802,"children":1803},{"style":573},[1804],{"type":58,"value":1805}," [",{"type":52,"tag":444,"props":1807,"children":1808},{"style":573},[1809],{"type":58,"value":1081},{"type":52,"tag":444,"props":1811,"children":1812},{"style":457},[1813],{"type":58,"value":1814},"cookies",{"type":52,"tag":444,"props":1816,"children":1817},{"style":573},[1818],{"type":58,"value":1081},{"type":52,"tag":444,"props":1820,"children":1821},{"style":573},[1822],{"type":58,"value":587},{"type":52,"tag":444,"props":1824,"children":1825},{"style":573},[1826],{"type":58,"value":1766},{"type":52,"tag":444,"props":1828,"children":1829},{"style":457},[1830],{"type":58,"value":1831},"storage",{"type":52,"tag":444,"props":1833,"children":1834},{"style":573},[1835],{"type":58,"value":1081},{"type":52,"tag":444,"props":1837,"children":1838},{"style":573},[1839],{"type":58,"value":1840},"],\n",{"type":52,"tag":444,"props":1842,"children":1843},{"class":446,"line":761},[1844,1848,1852,1856,1860],{"type":52,"tag":444,"props":1845,"children":1846},{"style":573},[1847],{"type":58,"value":1749},{"type":52,"tag":444,"props":1849,"children":1850},{"style":451},[1851],{"type":58,"value":1369},{"type":52,"tag":444,"props":1853,"children":1854},{"style":573},[1855],{"type":58,"value":1081},{"type":52,"tag":444,"props":1857,"children":1858},{"style":573},[1859],{"type":58,"value":532},{"type":52,"tag":444,"props":1861,"children":1862},{"style":573},[1863],{"type":58,"value":1864}," [\n",{"type":52,"tag":444,"props":1866,"children":1867},{"class":446,"line":769},[1868,1873,1878,1882],{"type":52,"tag":444,"props":1869,"children":1870},{"style":573},[1871],{"type":58,"value":1872},"      \"",{"type":52,"tag":444,"props":1874,"children":1875},{"style":457},[1876],{"type":58,"value":1877},"$PLASMO_PUBLIC_CLERK_SYNC_HOST\u002F*",{"type":52,"tag":444,"props":1879,"children":1880},{"style":573},[1881],{"type":58,"value":1081},{"type":52,"tag":444,"props":1883,"children":1884},{"style":573},[1885],{"type":58,"value":1780},{"type":52,"tag":444,"props":1887,"children":1888},{"class":446,"line":798},[1889,1893,1898],{"type":52,"tag":444,"props":1890,"children":1891},{"style":573},[1892],{"type":58,"value":1872},{"type":52,"tag":444,"props":1894,"children":1895},{"style":457},[1896],{"type":58,"value":1897},"$CLERK_FRONTEND_API\u002F*",{"type":52,"tag":444,"props":1899,"children":1900},{"style":573},[1901],{"type":58,"value":1560},{"type":52,"tag":444,"props":1903,"children":1904},{"class":446,"line":839},[1905],{"type":52,"tag":444,"props":1906,"children":1907},{"style":573},[1908],{"type":58,"value":1909},"    ]\n",{"type":52,"tag":444,"props":1911,"children":1912},{"class":446,"line":848},[1913],{"type":52,"tag":444,"props":1914,"children":1915},{"style":573},[1916],{"type":58,"value":1917},"  }\n",{"type":52,"tag":444,"props":1919,"children":1920},{"class":446,"line":856},[1921],{"type":52,"tag":444,"props":1922,"children":1923},{"style":573},[1924],{"type":58,"value":845},{"type":52,"tag":510,"props":1926,"children":1927},{},[1928],{"type":52,"tag":317,"props":1929,"children":1930},{},[1931],{"type":58,"value":1932},"Step 4 -- Add extension ID to web app's allowed origins via Clerk API:",{"type":52,"tag":433,"props":1934,"children":1936},{"className":435,"code":1935,"language":437,"meta":438,"style":438},"curl -X PATCH https:\u002F\u002Fapi.clerk.com\u002Fv1\u002Finstance \\\n  -H \"Authorization: Bearer YOUR_SECRET_KEY\" \\\n  -H \"Content-type: application\u002Fjson\" \\\n  -d '{\"allowed_origins\": [\"chrome-extension:\u002F\u002FYOUR_EXTENSION_ID\"]}'\n",[1937],{"type":52,"tag":78,"props":1938,"children":1939},{"__ignoreMap":438},[1940,1968,1993,2017],{"type":52,"tag":444,"props":1941,"children":1942},{"class":446,"line":447},[1943,1948,1953,1958,1963],{"type":52,"tag":444,"props":1944,"children":1945},{"style":451},[1946],{"type":58,"value":1947},"curl",{"type":52,"tag":444,"props":1949,"children":1950},{"style":457},[1951],{"type":58,"value":1952}," -X",{"type":52,"tag":444,"props":1954,"children":1955},{"style":457},[1956],{"type":58,"value":1957}," PATCH",{"type":52,"tag":444,"props":1959,"children":1960},{"style":457},[1961],{"type":58,"value":1962}," https:\u002F\u002Fapi.clerk.com\u002Fv1\u002Finstance",{"type":52,"tag":444,"props":1964,"children":1965},{"style":579},[1966],{"type":58,"value":1967}," \\\n",{"type":52,"tag":444,"props":1969,"children":1970},{"class":446,"line":478},[1971,1976,1980,1985,1989],{"type":52,"tag":444,"props":1972,"children":1973},{"style":457},[1974],{"type":58,"value":1975},"  -H",{"type":52,"tag":444,"props":1977,"children":1978},{"style":573},[1979],{"type":58,"value":1766},{"type":52,"tag":444,"props":1981,"children":1982},{"style":457},[1983],{"type":58,"value":1984},"Authorization: Bearer YOUR_SECRET_KEY",{"type":52,"tag":444,"props":1986,"children":1987},{"style":573},[1988],{"type":58,"value":1081},{"type":52,"tag":444,"props":1990,"children":1991},{"style":579},[1992],{"type":58,"value":1967},{"type":52,"tag":444,"props":1994,"children":1995},{"class":446,"line":492},[1996,2000,2004,2009,2013],{"type":52,"tag":444,"props":1997,"children":1998},{"style":457},[1999],{"type":58,"value":1975},{"type":52,"tag":444,"props":2001,"children":2002},{"style":573},[2003],{"type":58,"value":1766},{"type":52,"tag":444,"props":2005,"children":2006},{"style":457},[2007],{"type":58,"value":2008},"Content-type: application\u002Fjson",{"type":52,"tag":444,"props":2010,"children":2011},{"style":573},[2012],{"type":58,"value":1081},{"type":52,"tag":444,"props":2014,"children":2015},{"style":579},[2016],{"type":58,"value":1967},{"type":52,"tag":444,"props":2018,"children":2019},{"class":446,"line":30},[2020,2025,2029,2034],{"type":52,"tag":444,"props":2021,"children":2022},{"style":457},[2023],{"type":58,"value":2024},"  -d",{"type":52,"tag":444,"props":2026,"children":2027},{"style":573},[2028],{"type":58,"value":634},{"type":52,"tag":444,"props":2030,"children":2031},{"style":457},[2032],{"type":58,"value":2033},"{\"allowed_origins\": [\"chrome-extension:\u002F\u002FYOUR_EXTENSION_ID\"]}",{"type":52,"tag":444,"props":2035,"children":2036},{"style":573},[2037],{"type":58,"value":644},{"type":52,"tag":510,"props":2039,"children":2040},{},[2041],{"type":52,"tag":317,"props":2042,"children":2043},{},[2044],{"type":58,"value":2045},"Hide unsupported auth methods in popup when using syncHost:",{"type":52,"tag":433,"props":2047,"children":2049},{"className":555,"code":2048,"language":557,"meta":438,"style":438},"\u003CSignIn\n  appearance={{\n    elements: {\n      socialButtonsRoot: 'plasmo-hidden',\n      dividerRow: 'plasmo-hidden',\n    },\n  }}\n\u002F>\n",[2050],{"type":52,"tag":78,"props":2051,"children":2052},{"__ignoreMap":438},[2053,2065,2078,2094,2123,2151,2159,2167],{"type":52,"tag":444,"props":2054,"children":2055},{"class":446,"line":447},[2056,2060],{"type":52,"tag":444,"props":2057,"children":2058},{"style":573},[2059],{"type":58,"value":1489},{"type":52,"tag":444,"props":2061,"children":2062},{"style":451},[2063],{"type":58,"value":2064},"SignIn\n",{"type":52,"tag":444,"props":2066,"children":2067},{"class":446,"line":478},[2068,2073],{"type":52,"tag":444,"props":2069,"children":2070},{"style":659},[2071],{"type":58,"value":2072},"  appearance",{"type":52,"tag":444,"props":2074,"children":2075},{"style":573},[2076],{"type":58,"value":2077},"={{\n",{"type":52,"tag":444,"props":2079,"children":2080},{"class":446,"line":492},[2081,2086,2090],{"type":52,"tag":444,"props":2082,"children":2083},{"style":817},[2084],{"type":58,"value":2085},"    elements",{"type":52,"tag":444,"props":2087,"children":2088},{"style":573},[2089],{"type":58,"value":532},{"type":52,"tag":444,"props":2091,"children":2092},{"style":573},[2093],{"type":58,"value":877},{"type":52,"tag":444,"props":2095,"children":2096},{"class":446,"line":30},[2097,2102,2106,2110,2115,2119],{"type":52,"tag":444,"props":2098,"children":2099},{"style":817},[2100],{"type":58,"value":2101},"      socialButtonsRoot",{"type":52,"tag":444,"props":2103,"children":2104},{"style":573},[2105],{"type":58,"value":532},{"type":52,"tag":444,"props":2107,"children":2108},{"style":573},[2109],{"type":58,"value":634},{"type":52,"tag":444,"props":2111,"children":2112},{"style":457},[2113],{"type":58,"value":2114},"plasmo-hidden",{"type":52,"tag":444,"props":2116,"children":2117},{"style":573},[2118],{"type":58,"value":745},{"type":52,"tag":444,"props":2120,"children":2121},{"style":573},[2122],{"type":58,"value":1780},{"type":52,"tag":444,"props":2124,"children":2125},{"class":446,"line":761},[2126,2131,2135,2139,2143,2147],{"type":52,"tag":444,"props":2127,"children":2128},{"style":817},[2129],{"type":58,"value":2130},"      dividerRow",{"type":52,"tag":444,"props":2132,"children":2133},{"style":573},[2134],{"type":58,"value":532},{"type":52,"tag":444,"props":2136,"children":2137},{"style":573},[2138],{"type":58,"value":634},{"type":52,"tag":444,"props":2140,"children":2141},{"style":457},[2142],{"type":58,"value":2114},{"type":52,"tag":444,"props":2144,"children":2145},{"style":573},[2146],{"type":58,"value":745},{"type":52,"tag":444,"props":2148,"children":2149},{"style":573},[2150],{"type":58,"value":1780},{"type":52,"tag":444,"props":2152,"children":2153},{"class":446,"line":769},[2154],{"type":52,"tag":444,"props":2155,"children":2156},{"style":573},[2157],{"type":58,"value":2158},"    },\n",{"type":52,"tag":444,"props":2160,"children":2161},{"class":446,"line":798},[2162],{"type":52,"tag":444,"props":2163,"children":2164},{"style":573},[2165],{"type":58,"value":2166},"  }}\n",{"type":52,"tag":444,"props":2168,"children":2169},{"class":446,"line":839},[2170],{"type":52,"tag":444,"props":2171,"children":2172},{"style":573},[2173],{"type":58,"value":2174},"\u002F>\n",{"type":52,"tag":510,"props":2176,"children":2177},{},[2178,2180],{"type":58,"value":2179},"Full guide: ",{"type":52,"tag":78,"props":2181,"children":2183},{"className":2182},[],[2184],{"type":58,"value":44},{"type":52,"tag":61,"props":2186,"children":2188},{"id":2187},"createclerkclient-for-vanilla-js-service-workers",[2189],{"type":58,"value":2190},"createClerkClient() for Vanilla JS \u002F Service Workers",{"type":52,"tag":510,"props":2192,"children":2193},{},[2194,2196,2202,2204,2209],{"type":58,"value":2195},"Import from ",{"type":52,"tag":78,"props":2197,"children":2199},{"className":2198},[],[2200],{"type":58,"value":2201},"@clerk\u002Fchrome-extension\u002Fclient",{"type":58,"value":2203}," (not ",{"type":52,"tag":78,"props":2205,"children":2207},{"className":2206},[],[2208],{"type":58,"value":639},{"type":58,"value":2210},").",{"type":52,"tag":510,"props":2212,"children":2213},{},[2214,2219,2220,2226],{"type":52,"tag":317,"props":2215,"children":2216},{},[2217],{"type":58,"value":2218},"Background service worker",{"type":58,"value":780},{"type":52,"tag":78,"props":2221,"children":2223},{"className":2222},[],[2224],{"type":58,"value":2225},"src\u002Fbackground\u002Findex.ts",{"type":58,"value":2227},"):",{"type":52,"tag":433,"props":2229,"children":2233},{"className":2230,"code":2231,"language":2232,"meta":438,"style":438},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { createClerkClient } from '@clerk\u002Fchrome-extension\u002Fclient'\n\nconst publishableKey = process.env.PLASMO_PUBLIC_CLERK_PUBLISHABLE_KEY\n\nasync function getToken(): Promise\u003Cstring | null> {\n  const clerk = await createClerkClient({\n    publishableKey,\n    background: true,\n  })\n  if (!clerk.session) return null\n  return await clerk.session.getToken()\n}\n\nchrome.runtime.onMessage.addListener((request, sender, sendResponse) => {\n  getToken()\n    .then((token) => sendResponse({ token }))\n    .catch((error) => {\n      console.error('[Background] Error:', JSON.stringify(error))\n      sendResponse({ token: null })\n    })\n  return true\n})\n","typescript",[2234],{"type":52,"tag":78,"props":2235,"children":2236},{"__ignoreMap":438},[2237,2273,2280,2316,2323,2379,2414,2426,2446,2458,2502,2539,2546,2553,2630,2642,2703,2740,2803,2839,2851,2863],{"type":52,"tag":444,"props":2238,"children":2239},{"class":446,"line":447},[2240,2244,2248,2253,2257,2261,2265,2269],{"type":52,"tag":444,"props":2241,"children":2242},{"style":567},[2243],{"type":58,"value":570},{"type":52,"tag":444,"props":2245,"children":2246},{"style":573},[2247],{"type":58,"value":576},{"type":52,"tag":444,"props":2249,"children":2250},{"style":579},[2251],{"type":58,"value":2252}," createClerkClient",{"type":52,"tag":444,"props":2254,"children":2255},{"style":573},[2256],{"type":58,"value":624},{"type":52,"tag":444,"props":2258,"children":2259},{"style":567},[2260],{"type":58,"value":629},{"type":52,"tag":444,"props":2262,"children":2263},{"style":573},[2264],{"type":58,"value":634},{"type":52,"tag":444,"props":2266,"children":2267},{"style":457},[2268],{"type":58,"value":2201},{"type":52,"tag":444,"props":2270,"children":2271},{"style":573},[2272],{"type":58,"value":644},{"type":52,"tag":444,"props":2274,"children":2275},{"class":446,"line":478},[2276],{"type":52,"tag":444,"props":2277,"children":2278},{"emptyLinePlaceholder":650},[2279],{"type":58,"value":653},{"type":52,"tag":444,"props":2281,"children":2282},{"class":446,"line":492},[2283,2287,2292,2296,2300,2304,2308,2312],{"type":52,"tag":444,"props":2284,"children":2285},{"style":659},[2286],{"type":58,"value":662},{"type":52,"tag":444,"props":2288,"children":2289},{"style":579},[2290],{"type":58,"value":2291}," publishableKey ",{"type":52,"tag":444,"props":2293,"children":2294},{"style":573},[2295],{"type":58,"value":672},{"type":52,"tag":444,"props":2297,"children":2298},{"style":579},[2299],{"type":58,"value":677},{"type":52,"tag":444,"props":2301,"children":2302},{"style":573},[2303],{"type":58,"value":682},{"type":52,"tag":444,"props":2305,"children":2306},{"style":579},[2307],{"type":58,"value":687},{"type":52,"tag":444,"props":2309,"children":2310},{"style":573},[2311],{"type":58,"value":682},{"type":52,"tag":444,"props":2313,"children":2314},{"style":579},[2315],{"type":58,"value":696},{"type":52,"tag":444,"props":2317,"children":2318},{"class":446,"line":30},[2319],{"type":52,"tag":444,"props":2320,"children":2321},{"emptyLinePlaceholder":650},[2322],{"type":58,"value":653},{"type":52,"tag":444,"props":2324,"children":2325},{"class":446,"line":761},[2326,2331,2336,2341,2346,2351,2355,2360,2365,2370,2375],{"type":52,"tag":444,"props":2327,"children":2328},{"style":659},[2329],{"type":58,"value":2330},"async",{"type":52,"tag":444,"props":2332,"children":2333},{"style":659},[2334],{"type":58,"value":2335}," function",{"type":52,"tag":444,"props":2337,"children":2338},{"style":482},[2339],{"type":58,"value":2340}," getToken",{"type":52,"tag":444,"props":2342,"children":2343},{"style":573},[2344],{"type":58,"value":2345},"():",{"type":52,"tag":444,"props":2347,"children":2348},{"style":451},[2349],{"type":58,"value":2350}," Promise",{"type":52,"tag":444,"props":2352,"children":2353},{"style":573},[2354],{"type":58,"value":1489},{"type":52,"tag":444,"props":2356,"children":2357},{"style":451},[2358],{"type":58,"value":2359},"string",{"type":52,"tag":444,"props":2361,"children":2362},{"style":573},[2363],{"type":58,"value":2364}," |",{"type":52,"tag":444,"props":2366,"children":2367},{"style":451},[2368],{"type":58,"value":2369}," null",{"type":52,"tag":444,"props":2371,"children":2372},{"style":573},[2373],{"type":58,"value":2374},">",{"type":52,"tag":444,"props":2376,"children":2377},{"style":573},[2378],{"type":58,"value":877},{"type":52,"tag":444,"props":2380,"children":2381},{"class":446,"line":769},[2382,2387,2392,2397,2402,2406,2410],{"type":52,"tag":444,"props":2383,"children":2384},{"style":659},[2385],{"type":58,"value":2386},"  const",{"type":52,"tag":444,"props":2388,"children":2389},{"style":579},[2390],{"type":58,"value":2391}," clerk",{"type":52,"tag":444,"props":2393,"children":2394},{"style":573},[2395],{"type":58,"value":2396}," =",{"type":52,"tag":444,"props":2398,"children":2399},{"style":567},[2400],{"type":58,"value":2401}," await",{"type":52,"tag":444,"props":2403,"children":2404},{"style":482},[2405],{"type":58,"value":2252},{"type":52,"tag":444,"props":2407,"children":2408},{"style":817},[2409],{"type":58,"value":740},{"type":52,"tag":444,"props":2411,"children":2412},{"style":573},[2413],{"type":58,"value":795},{"type":52,"tag":444,"props":2415,"children":2416},{"class":446,"line":798},[2417,2422],{"type":52,"tag":444,"props":2418,"children":2419},{"style":579},[2420],{"type":58,"value":2421},"    publishableKey",{"type":52,"tag":444,"props":2423,"children":2424},{"style":573},[2425],{"type":58,"value":1780},{"type":52,"tag":444,"props":2427,"children":2428},{"class":446,"line":839},[2429,2434,2438,2442],{"type":52,"tag":444,"props":2430,"children":2431},{"style":817},[2432],{"type":58,"value":2433},"    background",{"type":52,"tag":444,"props":2435,"children":2436},{"style":573},[2437],{"type":58,"value":532},{"type":52,"tag":444,"props":2439,"children":2440},{"style":1656},[2441],{"type":58,"value":1659},{"type":52,"tag":444,"props":2443,"children":2444},{"style":573},[2445],{"type":58,"value":1780},{"type":52,"tag":444,"props":2447,"children":2448},{"class":446,"line":848},[2449,2454],{"type":52,"tag":444,"props":2450,"children":2451},{"style":573},[2452],{"type":58,"value":2453},"  }",{"type":52,"tag":444,"props":2455,"children":2456},{"style":817},[2457],{"type":58,"value":758},{"type":52,"tag":444,"props":2459,"children":2460},{"class":446,"line":856},[2461,2466,2470,2474,2478,2482,2487,2492,2497],{"type":52,"tag":444,"props":2462,"children":2463},{"style":567},[2464],{"type":58,"value":2465},"  if",{"type":52,"tag":444,"props":2467,"children":2468},{"style":817},[2469],{"type":58,"value":780},{"type":52,"tag":444,"props":2471,"children":2472},{"style":573},[2473],{"type":58,"value":785},{"type":52,"tag":444,"props":2475,"children":2476},{"style":579},[2477],{"type":58,"value":8},{"type":52,"tag":444,"props":2479,"children":2480},{"style":573},[2481],{"type":58,"value":682},{"type":52,"tag":444,"props":2483,"children":2484},{"style":579},[2485],{"type":58,"value":2486},"session",{"type":52,"tag":444,"props":2488,"children":2489},{"style":817},[2490],{"type":58,"value":2491},") ",{"type":52,"tag":444,"props":2493,"children":2494},{"style":567},[2495],{"type":58,"value":2496},"return",{"type":52,"tag":444,"props":2498,"children":2499},{"style":573},[2500],{"type":58,"value":2501}," null\n",{"type":52,"tag":444,"props":2503,"children":2504},{"class":446,"line":880},[2505,2509,2513,2517,2521,2525,2529,2534],{"type":52,"tag":444,"props":2506,"children":2507},{"style":567},[2508],{"type":58,"value":886},{"type":52,"tag":444,"props":2510,"children":2511},{"style":567},[2512],{"type":58,"value":2401},{"type":52,"tag":444,"props":2514,"children":2515},{"style":579},[2516],{"type":58,"value":2391},{"type":52,"tag":444,"props":2518,"children":2519},{"style":573},[2520],{"type":58,"value":682},{"type":52,"tag":444,"props":2522,"children":2523},{"style":579},[2524],{"type":58,"value":2486},{"type":52,"tag":444,"props":2526,"children":2527},{"style":573},[2528],{"type":58,"value":682},{"type":52,"tag":444,"props":2530,"children":2531},{"style":482},[2532],{"type":58,"value":2533},"getToken",{"type":52,"tag":444,"props":2535,"children":2536},{"style":817},[2537],{"type":58,"value":2538},"()\n",{"type":52,"tag":444,"props":2540,"children":2541},{"class":446,"line":894},[2542],{"type":52,"tag":444,"props":2543,"children":2544},{"style":573},[2545],{"type":58,"value":845},{"type":52,"tag":444,"props":2547,"children":2548},{"class":446,"line":908},[2549],{"type":52,"tag":444,"props":2550,"children":2551},{"emptyLinePlaceholder":650},[2552],{"type":58,"value":653},{"type":52,"tag":444,"props":2554,"children":2555},{"class":446,"line":931},[2556,2561,2565,2569,2573,2578,2582,2587,2591,2595,2600,2604,2609,2613,2618,2622,2626],{"type":52,"tag":444,"props":2557,"children":2558},{"style":579},[2559],{"type":58,"value":2560},"chrome",{"type":52,"tag":444,"props":2562,"children":2563},{"style":573},[2564],{"type":58,"value":682},{"type":52,"tag":444,"props":2566,"children":2567},{"style":579},[2568],{"type":58,"value":726},{"type":52,"tag":444,"props":2570,"children":2571},{"style":573},[2572],{"type":58,"value":682},{"type":52,"tag":444,"props":2574,"children":2575},{"style":579},[2576],{"type":58,"value":2577},"onMessage",{"type":52,"tag":444,"props":2579,"children":2580},{"style":573},[2581],{"type":58,"value":682},{"type":52,"tag":444,"props":2583,"children":2584},{"style":482},[2585],{"type":58,"value":2586},"addListener",{"type":52,"tag":444,"props":2588,"children":2589},{"style":579},[2590],{"type":58,"value":740},{"type":52,"tag":444,"props":2592,"children":2593},{"style":573},[2594],{"type":58,"value":740},{"type":52,"tag":444,"props":2596,"children":2597},{"style":1576},[2598],{"type":58,"value":2599},"request",{"type":52,"tag":444,"props":2601,"children":2602},{"style":573},[2603],{"type":58,"value":587},{"type":52,"tag":444,"props":2605,"children":2606},{"style":1576},[2607],{"type":58,"value":2608}," sender",{"type":52,"tag":444,"props":2610,"children":2611},{"style":573},[2612],{"type":58,"value":587},{"type":52,"tag":444,"props":2614,"children":2615},{"style":1576},[2616],{"type":58,"value":2617}," sendResponse",{"type":52,"tag":444,"props":2619,"children":2620},{"style":573},[2621],{"type":58,"value":1584},{"type":52,"tag":444,"props":2623,"children":2624},{"style":659},[2625],{"type":58,"value":1589},{"type":52,"tag":444,"props":2627,"children":2628},{"style":573},[2629],{"type":58,"value":877},{"type":52,"tag":444,"props":2631,"children":2632},{"class":446,"line":973},[2633,2638],{"type":52,"tag":444,"props":2634,"children":2635},{"style":482},[2636],{"type":58,"value":2637},"  getToken",{"type":52,"tag":444,"props":2639,"children":2640},{"style":817},[2641],{"type":58,"value":2538},{"type":52,"tag":444,"props":2643,"children":2644},{"class":446,"line":1010},[2645,2650,2655,2659,2663,2668,2672,2676,2680,2684,2689,2694,2698],{"type":52,"tag":444,"props":2646,"children":2647},{"style":573},[2648],{"type":58,"value":2649},"    .",{"type":52,"tag":444,"props":2651,"children":2652},{"style":482},[2653],{"type":58,"value":2654},"then",{"type":52,"tag":444,"props":2656,"children":2657},{"style":817},[2658],{"type":58,"value":740},{"type":52,"tag":444,"props":2660,"children":2661},{"style":573},[2662],{"type":58,"value":740},{"type":52,"tag":444,"props":2664,"children":2665},{"style":1576},[2666],{"type":58,"value":2667},"token",{"type":52,"tag":444,"props":2669,"children":2670},{"style":573},[2671],{"type":58,"value":1584},{"type":52,"tag":444,"props":2673,"children":2674},{"style":659},[2675],{"type":58,"value":1589},{"type":52,"tag":444,"props":2677,"children":2678},{"style":482},[2679],{"type":58,"value":2617},{"type":52,"tag":444,"props":2681,"children":2682},{"style":817},[2683],{"type":58,"value":740},{"type":52,"tag":444,"props":2685,"children":2686},{"style":573},[2687],{"type":58,"value":2688},"{",{"type":52,"tag":444,"props":2690,"children":2691},{"style":579},[2692],{"type":58,"value":2693}," token",{"type":52,"tag":444,"props":2695,"children":2696},{"style":573},[2697],{"type":58,"value":624},{"type":52,"tag":444,"props":2699,"children":2700},{"style":817},[2701],{"type":58,"value":2702},"))\n",{"type":52,"tag":444,"props":2704,"children":2705},{"class":446,"line":1047},[2706,2710,2715,2719,2723,2728,2732,2736],{"type":52,"tag":444,"props":2707,"children":2708},{"style":573},[2709],{"type":58,"value":2649},{"type":52,"tag":444,"props":2711,"children":2712},{"style":482},[2713],{"type":58,"value":2714},"catch",{"type":52,"tag":444,"props":2716,"children":2717},{"style":817},[2718],{"type":58,"value":740},{"type":52,"tag":444,"props":2720,"children":2721},{"style":573},[2722],{"type":58,"value":740},{"type":52,"tag":444,"props":2724,"children":2725},{"style":1576},[2726],{"type":58,"value":2727},"error",{"type":52,"tag":444,"props":2729,"children":2730},{"style":573},[2731],{"type":58,"value":1584},{"type":52,"tag":444,"props":2733,"children":2734},{"style":659},[2735],{"type":58,"value":1589},{"type":52,"tag":444,"props":2737,"children":2738},{"style":573},[2739],{"type":58,"value":877},{"type":52,"tag":444,"props":2741,"children":2742},{"class":446,"line":1056},[2743,2748,2752,2756,2760,2764,2769,2773,2777,2782,2786,2791,2795,2799],{"type":52,"tag":444,"props":2744,"children":2745},{"style":579},[2746],{"type":58,"value":2747},"      console",{"type":52,"tag":444,"props":2749,"children":2750},{"style":573},[2751],{"type":58,"value":682},{"type":52,"tag":444,"props":2753,"children":2754},{"style":482},[2755],{"type":58,"value":2727},{"type":52,"tag":444,"props":2757,"children":2758},{"style":817},[2759],{"type":58,"value":740},{"type":52,"tag":444,"props":2761,"children":2762},{"style":573},[2763],{"type":58,"value":745},{"type":52,"tag":444,"props":2765,"children":2766},{"style":457},[2767],{"type":58,"value":2768},"[Background] Error:",{"type":52,"tag":444,"props":2770,"children":2771},{"style":573},[2772],{"type":58,"value":745},{"type":52,"tag":444,"props":2774,"children":2775},{"style":573},[2776],{"type":58,"value":587},{"type":52,"tag":444,"props":2778,"children":2779},{"style":579},[2780],{"type":58,"value":2781}," JSON",{"type":52,"tag":444,"props":2783,"children":2784},{"style":573},[2785],{"type":58,"value":682},{"type":52,"tag":444,"props":2787,"children":2788},{"style":482},[2789],{"type":58,"value":2790},"stringify",{"type":52,"tag":444,"props":2792,"children":2793},{"style":817},[2794],{"type":58,"value":740},{"type":52,"tag":444,"props":2796,"children":2797},{"style":579},[2798],{"type":58,"value":2727},{"type":52,"tag":444,"props":2800,"children":2801},{"style":817},[2802],{"type":58,"value":2702},{"type":52,"tag":444,"props":2804,"children":2805},{"class":446,"line":1098},[2806,2811,2815,2819,2823,2827,2831,2835],{"type":52,"tag":444,"props":2807,"children":2808},{"style":482},[2809],{"type":58,"value":2810},"      sendResponse",{"type":52,"tag":444,"props":2812,"children":2813},{"style":817},[2814],{"type":58,"value":740},{"type":52,"tag":444,"props":2816,"children":2817},{"style":573},[2818],{"type":58,"value":2688},{"type":52,"tag":444,"props":2820,"children":2821},{"style":817},[2822],{"type":58,"value":2693},{"type":52,"tag":444,"props":2824,"children":2825},{"style":573},[2826],{"type":58,"value":532},{"type":52,"tag":444,"props":2828,"children":2829},{"style":573},[2830],{"type":58,"value":2369},{"type":52,"tag":444,"props":2832,"children":2833},{"style":573},[2834],{"type":58,"value":624},{"type":52,"tag":444,"props":2836,"children":2837},{"style":817},[2838],{"type":58,"value":758},{"type":52,"tag":444,"props":2840,"children":2841},{"class":446,"line":1139},[2842,2847],{"type":52,"tag":444,"props":2843,"children":2844},{"style":573},[2845],{"type":58,"value":2846},"    }",{"type":52,"tag":444,"props":2848,"children":2849},{"style":817},[2850],{"type":58,"value":758},{"type":52,"tag":444,"props":2852,"children":2853},{"class":446,"line":1176},[2854,2858],{"type":52,"tag":444,"props":2855,"children":2856},{"style":567},[2857],{"type":58,"value":886},{"type":52,"tag":444,"props":2859,"children":2860},{"style":1656},[2861],{"type":58,"value":2862}," true\n",{"type":52,"tag":444,"props":2864,"children":2865},{"class":446,"line":1193},[2866,2870],{"type":52,"tag":444,"props":2867,"children":2868},{"style":573},[2869],{"type":58,"value":956},{"type":52,"tag":444,"props":2871,"children":2872},{"style":579},[2873],{"type":58,"value":758},{"type":52,"tag":510,"props":2875,"children":2876},{},[2877,2879,2885],{"type":58,"value":2878},"The ",{"type":52,"tag":78,"props":2880,"children":2882},{"className":2881},[],[2883],{"type":58,"value":2884},"background: true",{"type":58,"value":2886}," flag keeps sessions fresh even when popup\u002Fsidepanel is closed. Without it, tokens expire after 60 seconds.",{"type":52,"tag":510,"props":2888,"children":2889},{},[2890,2895,2896,2902],{"type":52,"tag":317,"props":2891,"children":2892},{},[2893],{"type":58,"value":2894},"Popup with vanilla JS",{"type":58,"value":780},{"type":52,"tag":78,"props":2897,"children":2899},{"className":2898},[],[2900],{"type":58,"value":2901},"src\u002Fpopup.ts",{"type":58,"value":2227},{"type":52,"tag":433,"props":2904,"children":2906},{"className":2230,"code":2905,"language":2232,"meta":438,"style":438},"import { createClerkClient } from '@clerk\u002Fchrome-extension\u002Fclient'\n\nconst EXTENSION_URL = chrome.runtime.getURL('.')\nconst POPUP_URL = `${EXTENSION_URL}popup.html`\n\nconst clerk = createClerkClient({ publishableKey })\n\nclerk.load({\n  afterSignOutUrl: POPUP_URL,\n  signInForceRedirectUrl: POPUP_URL,\n  signUpForceRedirectUrl: POPUP_URL,\n  allowedRedirectProtocols: ['chrome-extension:'],\n}).then(() => {\n  clerk.addListener(render)\n  render()\n})\n",[2907],{"type":52,"tag":78,"props":2908,"children":2909},{"__ignoreMap":438},[2910,2945,2952,3007,3046,3053,3093,3100,3124,3144,3164,3184,3222,3257,3286,3298],{"type":52,"tag":444,"props":2911,"children":2912},{"class":446,"line":447},[2913,2917,2921,2925,2929,2933,2937,2941],{"type":52,"tag":444,"props":2914,"children":2915},{"style":567},[2916],{"type":58,"value":570},{"type":52,"tag":444,"props":2918,"children":2919},{"style":573},[2920],{"type":58,"value":576},{"type":52,"tag":444,"props":2922,"children":2923},{"style":579},[2924],{"type":58,"value":2252},{"type":52,"tag":444,"props":2926,"children":2927},{"style":573},[2928],{"type":58,"value":624},{"type":52,"tag":444,"props":2930,"children":2931},{"style":567},[2932],{"type":58,"value":629},{"type":52,"tag":444,"props":2934,"children":2935},{"style":573},[2936],{"type":58,"value":634},{"type":52,"tag":444,"props":2938,"children":2939},{"style":457},[2940],{"type":58,"value":2201},{"type":52,"tag":444,"props":2942,"children":2943},{"style":573},[2944],{"type":58,"value":644},{"type":52,"tag":444,"props":2946,"children":2947},{"class":446,"line":478},[2948],{"type":52,"tag":444,"props":2949,"children":2950},{"emptyLinePlaceholder":650},[2951],{"type":58,"value":653},{"type":52,"tag":444,"props":2953,"children":2954},{"class":446,"line":492},[2955,2959,2963,2967,2971,2975,2979,2983,2987,2991,2995,2999,3003],{"type":52,"tag":444,"props":2956,"children":2957},{"style":659},[2958],{"type":58,"value":662},{"type":52,"tag":444,"props":2960,"children":2961},{"style":579},[2962],{"type":58,"value":708},{"type":52,"tag":444,"props":2964,"children":2965},{"style":573},[2966],{"type":58,"value":672},{"type":52,"tag":444,"props":2968,"children":2969},{"style":579},[2970],{"type":58,"value":717},{"type":52,"tag":444,"props":2972,"children":2973},{"style":573},[2974],{"type":58,"value":682},{"type":52,"tag":444,"props":2976,"children":2977},{"style":579},[2978],{"type":58,"value":726},{"type":52,"tag":444,"props":2980,"children":2981},{"style":573},[2982],{"type":58,"value":682},{"type":52,"tag":444,"props":2984,"children":2985},{"style":482},[2986],{"type":58,"value":735},{"type":52,"tag":444,"props":2988,"children":2989},{"style":579},[2990],{"type":58,"value":740},{"type":52,"tag":444,"props":2992,"children":2993},{"style":573},[2994],{"type":58,"value":745},{"type":52,"tag":444,"props":2996,"children":2997},{"style":457},[2998],{"type":58,"value":682},{"type":52,"tag":444,"props":3000,"children":3001},{"style":573},[3002],{"type":58,"value":745},{"type":52,"tag":444,"props":3004,"children":3005},{"style":579},[3006],{"type":58,"value":758},{"type":52,"tag":444,"props":3008,"children":3009},{"class":446,"line":30},[3010,3014,3019,3023,3028,3032,3036,3041],{"type":52,"tag":444,"props":3011,"children":3012},{"style":659},[3013],{"type":58,"value":662},{"type":52,"tag":444,"props":3015,"children":3016},{"style":579},[3017],{"type":58,"value":3018}," POPUP_URL ",{"type":52,"tag":444,"props":3020,"children":3021},{"style":573},[3022],{"type":58,"value":672},{"type":52,"tag":444,"props":3024,"children":3025},{"style":573},[3026],{"type":58,"value":3027}," `${",{"type":52,"tag":444,"props":3029,"children":3030},{"style":579},[3031],{"type":58,"value":951},{"type":52,"tag":444,"props":3033,"children":3034},{"style":573},[3035],{"type":58,"value":956},{"type":52,"tag":444,"props":3037,"children":3038},{"style":457},[3039],{"type":58,"value":3040},"popup.html",{"type":52,"tag":444,"props":3042,"children":3043},{"style":573},[3044],{"type":58,"value":3045},"`\n",{"type":52,"tag":444,"props":3047,"children":3048},{"class":446,"line":761},[3049],{"type":52,"tag":444,"props":3050,"children":3051},{"emptyLinePlaceholder":650},[3052],{"type":58,"value":653},{"type":52,"tag":444,"props":3054,"children":3055},{"class":446,"line":769},[3056,3060,3065,3069,3073,3077,3081,3085,3089],{"type":52,"tag":444,"props":3057,"children":3058},{"style":659},[3059],{"type":58,"value":662},{"type":52,"tag":444,"props":3061,"children":3062},{"style":579},[3063],{"type":58,"value":3064}," clerk ",{"type":52,"tag":444,"props":3066,"children":3067},{"style":573},[3068],{"type":58,"value":672},{"type":52,"tag":444,"props":3070,"children":3071},{"style":482},[3072],{"type":58,"value":2252},{"type":52,"tag":444,"props":3074,"children":3075},{"style":579},[3076],{"type":58,"value":740},{"type":52,"tag":444,"props":3078,"children":3079},{"style":573},[3080],{"type":58,"value":2688},{"type":52,"tag":444,"props":3082,"children":3083},{"style":579},[3084],{"type":58,"value":2291},{"type":52,"tag":444,"props":3086,"children":3087},{"style":573},[3088],{"type":58,"value":956},{"type":52,"tag":444,"props":3090,"children":3091},{"style":579},[3092],{"type":58,"value":758},{"type":52,"tag":444,"props":3094,"children":3095},{"class":446,"line":798},[3096],{"type":52,"tag":444,"props":3097,"children":3098},{"emptyLinePlaceholder":650},[3099],{"type":58,"value":653},{"type":52,"tag":444,"props":3101,"children":3102},{"class":446,"line":839},[3103,3107,3111,3116,3120],{"type":52,"tag":444,"props":3104,"children":3105},{"style":579},[3106],{"type":58,"value":8},{"type":52,"tag":444,"props":3108,"children":3109},{"style":573},[3110],{"type":58,"value":682},{"type":52,"tag":444,"props":3112,"children":3113},{"style":482},[3114],{"type":58,"value":3115},"load",{"type":52,"tag":444,"props":3117,"children":3118},{"style":579},[3119],{"type":58,"value":740},{"type":52,"tag":444,"props":3121,"children":3122},{"style":573},[3123],{"type":58,"value":795},{"type":52,"tag":444,"props":3125,"children":3126},{"class":446,"line":848},[3127,3131,3135,3140],{"type":52,"tag":444,"props":3128,"children":3129},{"style":817},[3130],{"type":58,"value":1542},{"type":52,"tag":444,"props":3132,"children":3133},{"style":573},[3134],{"type":58,"value":532},{"type":52,"tag":444,"props":3136,"children":3137},{"style":579},[3138],{"type":58,"value":3139}," POPUP_URL",{"type":52,"tag":444,"props":3141,"children":3142},{"style":573},[3143],{"type":58,"value":1780},{"type":52,"tag":444,"props":3145,"children":3146},{"class":446,"line":856},[3147,3152,3156,3160],{"type":52,"tag":444,"props":3148,"children":3149},{"style":817},[3150],{"type":58,"value":3151},"  signInForceRedirectUrl",{"type":52,"tag":444,"props":3153,"children":3154},{"style":573},[3155],{"type":58,"value":532},{"type":52,"tag":444,"props":3157,"children":3158},{"style":579},[3159],{"type":58,"value":3139},{"type":52,"tag":444,"props":3161,"children":3162},{"style":573},[3163],{"type":58,"value":1780},{"type":52,"tag":444,"props":3165,"children":3166},{"class":446,"line":880},[3167,3172,3176,3180],{"type":52,"tag":444,"props":3168,"children":3169},{"style":817},[3170],{"type":58,"value":3171},"  signUpForceRedirectUrl",{"type":52,"tag":444,"props":3173,"children":3174},{"style":573},[3175],{"type":58,"value":532},{"type":52,"tag":444,"props":3177,"children":3178},{"style":579},[3179],{"type":58,"value":3139},{"type":52,"tag":444,"props":3181,"children":3182},{"style":573},[3183],{"type":58,"value":1780},{"type":52,"tag":444,"props":3185,"children":3186},{"class":446,"line":894},[3187,3192,3196,3200,3204,3209,3213,3218],{"type":52,"tag":444,"props":3188,"children":3189},{"style":817},[3190],{"type":58,"value":3191},"  allowedRedirectProtocols",{"type":52,"tag":444,"props":3193,"children":3194},{"style":573},[3195],{"type":58,"value":532},{"type":52,"tag":444,"props":3197,"children":3198},{"style":579},[3199],{"type":58,"value":1805},{"type":52,"tag":444,"props":3201,"children":3202},{"style":573},[3203],{"type":58,"value":745},{"type":52,"tag":444,"props":3205,"children":3206},{"style":457},[3207],{"type":58,"value":3208},"chrome-extension:",{"type":52,"tag":444,"props":3210,"children":3211},{"style":573},[3212],{"type":58,"value":745},{"type":52,"tag":444,"props":3214,"children":3215},{"style":579},[3216],{"type":58,"value":3217},"]",{"type":52,"tag":444,"props":3219,"children":3220},{"style":573},[3221],{"type":58,"value":1780},{"type":52,"tag":444,"props":3223,"children":3224},{"class":446,"line":908},[3225,3229,3233,3237,3241,3245,3249,3253],{"type":52,"tag":444,"props":3226,"children":3227},{"style":573},[3228],{"type":58,"value":956},{"type":52,"tag":444,"props":3230,"children":3231},{"style":579},[3232],{"type":58,"value":1584},{"type":52,"tag":444,"props":3234,"children":3235},{"style":573},[3236],{"type":58,"value":682},{"type":52,"tag":444,"props":3238,"children":3239},{"style":482},[3240],{"type":58,"value":2654},{"type":52,"tag":444,"props":3242,"children":3243},{"style":579},[3244],{"type":58,"value":740},{"type":52,"tag":444,"props":3246,"children":3247},{"style":573},[3248],{"type":58,"value":872},{"type":52,"tag":444,"props":3250,"children":3251},{"style":659},[3252],{"type":58,"value":1589},{"type":52,"tag":444,"props":3254,"children":3255},{"style":573},[3256],{"type":58,"value":877},{"type":52,"tag":444,"props":3258,"children":3259},{"class":446,"line":931},[3260,3265,3269,3273,3277,3282],{"type":52,"tag":444,"props":3261,"children":3262},{"style":579},[3263],{"type":58,"value":3264},"  clerk",{"type":52,"tag":444,"props":3266,"children":3267},{"style":573},[3268],{"type":58,"value":682},{"type":52,"tag":444,"props":3270,"children":3271},{"style":482},[3272],{"type":58,"value":2586},{"type":52,"tag":444,"props":3274,"children":3275},{"style":817},[3276],{"type":58,"value":740},{"type":52,"tag":444,"props":3278,"children":3279},{"style":579},[3280],{"type":58,"value":3281},"render",{"type":52,"tag":444,"props":3283,"children":3284},{"style":817},[3285],{"type":58,"value":758},{"type":52,"tag":444,"props":3287,"children":3288},{"class":446,"line":973},[3289,3294],{"type":52,"tag":444,"props":3290,"children":3291},{"style":482},[3292],{"type":58,"value":3293},"  render",{"type":52,"tag":444,"props":3295,"children":3296},{"style":817},[3297],{"type":58,"value":2538},{"type":52,"tag":444,"props":3299,"children":3300},{"class":446,"line":1010},[3301,3305],{"type":52,"tag":444,"props":3302,"children":3303},{"style":573},[3304],{"type":58,"value":956},{"type":52,"tag":444,"props":3306,"children":3307},{"style":579},[3308],{"type":58,"value":758},{"type":52,"tag":510,"props":3310,"children":3311},{},[3312,3313],{"type":58,"value":2179},{"type":52,"tag":78,"props":3314,"children":3316},{"className":3315},[],[3317],{"type":58,"value":45},{"type":52,"tag":61,"props":3319,"children":3321},{"id":3320},"headless-extension-no-popup-no-side-panel",[3322],{"type":58,"value":3323},"Headless Extension (no popup, no side panel)",{"type":52,"tag":510,"props":3325,"children":3326},{},[3327],{"type":58,"value":3328},"For extensions that run entirely in the background and sync with a web app.",{"type":52,"tag":510,"props":3330,"children":3331},{},[3332,3334,3339,3341,3347,3349,3354],{"type":58,"value":3333},"Uses ",{"type":52,"tag":78,"props":3335,"children":3337},{"className":3336},[],[3338],{"type":58,"value":83},{"type":58,"value":3340}," + ",{"type":52,"tag":78,"props":3342,"children":3344},{"className":3343},[],[3345],{"type":58,"value":3346},"createClerkClient",{"type":58,"value":3348}," with ",{"type":52,"tag":78,"props":3350,"children":3352},{"className":3351},[],[3353],{"type":58,"value":2884},{"type":58,"value":3355}," to read auth state from the web app's cookies.",{"type":52,"tag":433,"props":3357,"children":3359},{"className":2230,"code":3358,"language":2232,"meta":438,"style":438},"import { createClerkClient } from '@clerk\u002Fchrome-extension\u002Fclient'\n\nconst publishableKey = process.env.PLASMO_PUBLIC_CLERK_PUBLISHABLE_KEY\nconst syncHost = process.env.PLASMO_PUBLIC_CLERK_SYNC_HOST\n\nasync function getAuthenticatedUser() {\n  const clerk = await createClerkClient({\n    publishableKey,\n    syncHost,\n    background: true,\n  })\n  return clerk.user\n}\n",[3360],{"type":52,"tag":78,"props":3361,"children":3362},{"__ignoreMap":438},[3363,3398,3405,3440,3476,3483,3507,3538,3549,3561,3580,3591,3611],{"type":52,"tag":444,"props":3364,"children":3365},{"class":446,"line":447},[3366,3370,3374,3378,3382,3386,3390,3394],{"type":52,"tag":444,"props":3367,"children":3368},{"style":567},[3369],{"type":58,"value":570},{"type":52,"tag":444,"props":3371,"children":3372},{"style":573},[3373],{"type":58,"value":576},{"type":52,"tag":444,"props":3375,"children":3376},{"style":579},[3377],{"type":58,"value":2252},{"type":52,"tag":444,"props":3379,"children":3380},{"style":573},[3381],{"type":58,"value":624},{"type":52,"tag":444,"props":3383,"children":3384},{"style":567},[3385],{"type":58,"value":629},{"type":52,"tag":444,"props":3387,"children":3388},{"style":573},[3389],{"type":58,"value":634},{"type":52,"tag":444,"props":3391,"children":3392},{"style":457},[3393],{"type":58,"value":2201},{"type":52,"tag":444,"props":3395,"children":3396},{"style":573},[3397],{"type":58,"value":644},{"type":52,"tag":444,"props":3399,"children":3400},{"class":446,"line":478},[3401],{"type":52,"tag":444,"props":3402,"children":3403},{"emptyLinePlaceholder":650},[3404],{"type":58,"value":653},{"type":52,"tag":444,"props":3406,"children":3407},{"class":446,"line":492},[3408,3412,3416,3420,3424,3428,3432,3436],{"type":52,"tag":444,"props":3409,"children":3410},{"style":659},[3411],{"type":58,"value":662},{"type":52,"tag":444,"props":3413,"children":3414},{"style":579},[3415],{"type":58,"value":2291},{"type":52,"tag":444,"props":3417,"children":3418},{"style":573},[3419],{"type":58,"value":672},{"type":52,"tag":444,"props":3421,"children":3422},{"style":579},[3423],{"type":58,"value":677},{"type":52,"tag":444,"props":3425,"children":3426},{"style":573},[3427],{"type":58,"value":682},{"type":52,"tag":444,"props":3429,"children":3430},{"style":579},[3431],{"type":58,"value":687},{"type":52,"tag":444,"props":3433,"children":3434},{"style":573},[3435],{"type":58,"value":682},{"type":52,"tag":444,"props":3437,"children":3438},{"style":579},[3439],{"type":58,"value":696},{"type":52,"tag":444,"props":3441,"children":3442},{"class":446,"line":30},[3443,3447,3452,3456,3460,3464,3468,3472],{"type":52,"tag":444,"props":3444,"children":3445},{"style":659},[3446],{"type":58,"value":662},{"type":52,"tag":444,"props":3448,"children":3449},{"style":579},[3450],{"type":58,"value":3451}," syncHost ",{"type":52,"tag":444,"props":3453,"children":3454},{"style":573},[3455],{"type":58,"value":672},{"type":52,"tag":444,"props":3457,"children":3458},{"style":579},[3459],{"type":58,"value":677},{"type":52,"tag":444,"props":3461,"children":3462},{"style":573},[3463],{"type":58,"value":682},{"type":52,"tag":444,"props":3465,"children":3466},{"style":579},[3467],{"type":58,"value":687},{"type":52,"tag":444,"props":3469,"children":3470},{"style":573},[3471],{"type":58,"value":682},{"type":52,"tag":444,"props":3473,"children":3474},{"style":579},[3475],{"type":58,"value":1474},{"type":52,"tag":444,"props":3477,"children":3478},{"class":446,"line":761},[3479],{"type":52,"tag":444,"props":3480,"children":3481},{"emptyLinePlaceholder":650},[3482],{"type":58,"value":653},{"type":52,"tag":444,"props":3484,"children":3485},{"class":446,"line":769},[3486,3490,3494,3499,3503],{"type":52,"tag":444,"props":3487,"children":3488},{"style":659},[3489],{"type":58,"value":2330},{"type":52,"tag":444,"props":3491,"children":3492},{"style":659},[3493],{"type":58,"value":2335},{"type":52,"tag":444,"props":3495,"children":3496},{"style":482},[3497],{"type":58,"value":3498}," getAuthenticatedUser",{"type":52,"tag":444,"props":3500,"children":3501},{"style":573},[3502],{"type":58,"value":872},{"type":52,"tag":444,"props":3504,"children":3505},{"style":573},[3506],{"type":58,"value":877},{"type":52,"tag":444,"props":3508,"children":3509},{"class":446,"line":798},[3510,3514,3518,3522,3526,3530,3534],{"type":52,"tag":444,"props":3511,"children":3512},{"style":659},[3513],{"type":58,"value":2386},{"type":52,"tag":444,"props":3515,"children":3516},{"style":579},[3517],{"type":58,"value":2391},{"type":52,"tag":444,"props":3519,"children":3520},{"style":573},[3521],{"type":58,"value":2396},{"type":52,"tag":444,"props":3523,"children":3524},{"style":567},[3525],{"type":58,"value":2401},{"type":52,"tag":444,"props":3527,"children":3528},{"style":482},[3529],{"type":58,"value":2252},{"type":52,"tag":444,"props":3531,"children":3532},{"style":817},[3533],{"type":58,"value":740},{"type":52,"tag":444,"props":3535,"children":3536},{"style":573},[3537],{"type":58,"value":795},{"type":52,"tag":444,"props":3539,"children":3540},{"class":446,"line":839},[3541,3545],{"type":52,"tag":444,"props":3542,"children":3543},{"style":579},[3544],{"type":58,"value":2421},{"type":52,"tag":444,"props":3546,"children":3547},{"style":573},[3548],{"type":58,"value":1780},{"type":52,"tag":444,"props":3550,"children":3551},{"class":446,"line":848},[3552,3557],{"type":52,"tag":444,"props":3553,"children":3554},{"style":579},[3555],{"type":58,"value":3556},"    syncHost",{"type":52,"tag":444,"props":3558,"children":3559},{"style":573},[3560],{"type":58,"value":1780},{"type":52,"tag":444,"props":3562,"children":3563},{"class":446,"line":856},[3564,3568,3572,3576],{"type":52,"tag":444,"props":3565,"children":3566},{"style":817},[3567],{"type":58,"value":2433},{"type":52,"tag":444,"props":3569,"children":3570},{"style":573},[3571],{"type":58,"value":532},{"type":52,"tag":444,"props":3573,"children":3574},{"style":1656},[3575],{"type":58,"value":1659},{"type":52,"tag":444,"props":3577,"children":3578},{"style":573},[3579],{"type":58,"value":1780},{"type":52,"tag":444,"props":3581,"children":3582},{"class":446,"line":880},[3583,3587],{"type":52,"tag":444,"props":3584,"children":3585},{"style":573},[3586],{"type":58,"value":2453},{"type":52,"tag":444,"props":3588,"children":3589},{"style":817},[3590],{"type":58,"value":758},{"type":52,"tag":444,"props":3592,"children":3593},{"class":446,"line":894},[3594,3598,3602,3606],{"type":52,"tag":444,"props":3595,"children":3596},{"style":567},[3597],{"type":58,"value":886},{"type":52,"tag":444,"props":3599,"children":3600},{"style":579},[3601],{"type":58,"value":2391},{"type":52,"tag":444,"props":3603,"children":3604},{"style":573},[3605],{"type":58,"value":682},{"type":52,"tag":444,"props":3607,"children":3608},{"style":579},[3609],{"type":58,"value":3610},"user\n",{"type":52,"tag":444,"props":3612,"children":3613},{"class":446,"line":908},[3614],{"type":52,"tag":444,"props":3615,"children":3616},{"style":573},[3617],{"type":58,"value":845},{"type":52,"tag":510,"props":3619,"children":3620},{},[3621,3623,3628,3630,3635],{"type":58,"value":3622},"Requires ",{"type":52,"tag":78,"props":3624,"children":3626},{"className":3625},[],[3627],{"type":58,"value":1369},{"type":58,"value":3629}," for the sync host domain in ",{"type":52,"tag":78,"props":3631,"children":3633},{"className":3632},[],[3634],{"type":58,"value":1699},{"type":58,"value":682},{"type":52,"tag":510,"props":3637,"children":3638},{},[3639,3640],{"type":58,"value":2179},{"type":52,"tag":78,"props":3641,"children":3643},{"className":3642},[],[3644],{"type":58,"value":47},{"type":52,"tag":61,"props":3646,"children":3648},{"id":3647},"content-scripts",[3649],{"type":58,"value":3650},"Content Scripts",{"type":52,"tag":510,"props":3652,"children":3653},{},[3654,3656,3661],{"type":58,"value":3655},"Content scripts run in an isolated JavaScript world injected into web pages. ",{"type":52,"tag":317,"props":3657,"children":3658},{},[3659],{"type":58,"value":3660},"Clerk cannot be used directly",{"type":58,"value":3662}," -- origin restrictions prevent it.",{"type":52,"tag":510,"props":3664,"children":3665},{},[3666],{"type":58,"value":3667},"Use message passing to request auth state from the background service worker:",{"type":52,"tag":433,"props":3669,"children":3671},{"className":2230,"code":3670,"language":2232,"meta":438,"style":438},"\u002F\u002F content.ts\nasync function getToken(): Promise\u003Cstring | null> {\n  return new Promise((resolve) => {\n    chrome.runtime.sendMessage({ type: 'GET_TOKEN' }, (response) => {\n      resolve(response?.token ?? null)\n    })\n  })\n}\n\nasync function main() {\n  const token = await getToken()\n  if (!token) return\n  \u002F\u002F use token for authenticated API calls\n}\n\nmain()\n",[3672],{"type":52,"tag":78,"props":3673,"children":3674},{"__ignoreMap":438},[3675,3684,3731,3771,3852,3890,3901,3912,3919,3926,3950,3977,4005,4013,4020,4027],{"type":52,"tag":444,"props":3676,"children":3677},{"class":446,"line":447},[3678],{"type":52,"tag":444,"props":3679,"children":3681},{"style":3680},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[3682],{"type":58,"value":3683},"\u002F\u002F content.ts\n",{"type":52,"tag":444,"props":3685,"children":3686},{"class":446,"line":478},[3687,3691,3695,3699,3703,3707,3711,3715,3719,3723,3727],{"type":52,"tag":444,"props":3688,"children":3689},{"style":659},[3690],{"type":58,"value":2330},{"type":52,"tag":444,"props":3692,"children":3693},{"style":659},[3694],{"type":58,"value":2335},{"type":52,"tag":444,"props":3696,"children":3697},{"style":482},[3698],{"type":58,"value":2340},{"type":52,"tag":444,"props":3700,"children":3701},{"style":573},[3702],{"type":58,"value":2345},{"type":52,"tag":444,"props":3704,"children":3705},{"style":451},[3706],{"type":58,"value":2350},{"type":52,"tag":444,"props":3708,"children":3709},{"style":573},[3710],{"type":58,"value":1489},{"type":52,"tag":444,"props":3712,"children":3713},{"style":451},[3714],{"type":58,"value":2359},{"type":52,"tag":444,"props":3716,"children":3717},{"style":573},[3718],{"type":58,"value":2364},{"type":52,"tag":444,"props":3720,"children":3721},{"style":451},[3722],{"type":58,"value":2369},{"type":52,"tag":444,"props":3724,"children":3725},{"style":573},[3726],{"type":58,"value":2374},{"type":52,"tag":444,"props":3728,"children":3729},{"style":573},[3730],{"type":58,"value":877},{"type":52,"tag":444,"props":3732,"children":3733},{"class":446,"line":492},[3734,3738,3742,3746,3750,3754,3759,3763,3767],{"type":52,"tag":444,"props":3735,"children":3736},{"style":567},[3737],{"type":58,"value":886},{"type":52,"tag":444,"props":3739,"children":3740},{"style":573},[3741],{"type":58,"value":809},{"type":52,"tag":444,"props":3743,"children":3744},{"style":451},[3745],{"type":58,"value":2350},{"type":52,"tag":444,"props":3747,"children":3748},{"style":817},[3749],{"type":58,"value":740},{"type":52,"tag":444,"props":3751,"children":3752},{"style":573},[3753],{"type":58,"value":740},{"type":52,"tag":444,"props":3755,"children":3756},{"style":1576},[3757],{"type":58,"value":3758},"resolve",{"type":52,"tag":444,"props":3760,"children":3761},{"style":573},[3762],{"type":58,"value":1584},{"type":52,"tag":444,"props":3764,"children":3765},{"style":659},[3766],{"type":58,"value":1589},{"type":52,"tag":444,"props":3768,"children":3769},{"style":573},[3770],{"type":58,"value":877},{"type":52,"tag":444,"props":3772,"children":3773},{"class":446,"line":30},[3774,3779,3783,3787,3791,3796,3800,3804,3809,3813,3817,3822,3826,3831,3835,3840,3844,3848],{"type":52,"tag":444,"props":3775,"children":3776},{"style":579},[3777],{"type":58,"value":3778},"    chrome",{"type":52,"tag":444,"props":3780,"children":3781},{"style":573},[3782],{"type":58,"value":682},{"type":52,"tag":444,"props":3784,"children":3785},{"style":579},[3786],{"type":58,"value":726},{"type":52,"tag":444,"props":3788,"children":3789},{"style":573},[3790],{"type":58,"value":682},{"type":52,"tag":444,"props":3792,"children":3793},{"style":482},[3794],{"type":58,"value":3795},"sendMessage",{"type":52,"tag":444,"props":3797,"children":3798},{"style":817},[3799],{"type":58,"value":740},{"type":52,"tag":444,"props":3801,"children":3802},{"style":573},[3803],{"type":58,"value":2688},{"type":52,"tag":444,"props":3805,"children":3806},{"style":817},[3807],{"type":58,"value":3808}," type",{"type":52,"tag":444,"props":3810,"children":3811},{"style":573},[3812],{"type":58,"value":532},{"type":52,"tag":444,"props":3814,"children":3815},{"style":573},[3816],{"type":58,"value":634},{"type":52,"tag":444,"props":3818,"children":3819},{"style":457},[3820],{"type":58,"value":3821},"GET_TOKEN",{"type":52,"tag":444,"props":3823,"children":3824},{"style":573},[3825],{"type":58,"value":745},{"type":52,"tag":444,"props":3827,"children":3828},{"style":573},[3829],{"type":58,"value":3830}," },",{"type":52,"tag":444,"props":3832,"children":3833},{"style":573},[3834],{"type":58,"value":780},{"type":52,"tag":444,"props":3836,"children":3837},{"style":1576},[3838],{"type":58,"value":3839},"response",{"type":52,"tag":444,"props":3841,"children":3842},{"style":573},[3843],{"type":58,"value":1584},{"type":52,"tag":444,"props":3845,"children":3846},{"style":659},[3847],{"type":58,"value":1589},{"type":52,"tag":444,"props":3849,"children":3850},{"style":573},[3851],{"type":58,"value":877},{"type":52,"tag":444,"props":3853,"children":3854},{"class":446,"line":761},[3855,3860,3864,3868,3873,3877,3882,3886],{"type":52,"tag":444,"props":3856,"children":3857},{"style":482},[3858],{"type":58,"value":3859},"      resolve",{"type":52,"tag":444,"props":3861,"children":3862},{"style":817},[3863],{"type":58,"value":740},{"type":52,"tag":444,"props":3865,"children":3866},{"style":579},[3867],{"type":58,"value":3839},{"type":52,"tag":444,"props":3869,"children":3870},{"style":573},[3871],{"type":58,"value":3872},"?.",{"type":52,"tag":444,"props":3874,"children":3875},{"style":579},[3876],{"type":58,"value":2667},{"type":52,"tag":444,"props":3878,"children":3879},{"style":573},[3880],{"type":58,"value":3881}," ??",{"type":52,"tag":444,"props":3883,"children":3884},{"style":573},[3885],{"type":58,"value":2369},{"type":52,"tag":444,"props":3887,"children":3888},{"style":817},[3889],{"type":58,"value":758},{"type":52,"tag":444,"props":3891,"children":3892},{"class":446,"line":769},[3893,3897],{"type":52,"tag":444,"props":3894,"children":3895},{"style":573},[3896],{"type":58,"value":2846},{"type":52,"tag":444,"props":3898,"children":3899},{"style":817},[3900],{"type":58,"value":758},{"type":52,"tag":444,"props":3902,"children":3903},{"class":446,"line":798},[3904,3908],{"type":52,"tag":444,"props":3905,"children":3906},{"style":573},[3907],{"type":58,"value":2453},{"type":52,"tag":444,"props":3909,"children":3910},{"style":817},[3911],{"type":58,"value":758},{"type":52,"tag":444,"props":3913,"children":3914},{"class":446,"line":839},[3915],{"type":52,"tag":444,"props":3916,"children":3917},{"style":573},[3918],{"type":58,"value":845},{"type":52,"tag":444,"props":3920,"children":3921},{"class":446,"line":848},[3922],{"type":52,"tag":444,"props":3923,"children":3924},{"emptyLinePlaceholder":650},[3925],{"type":58,"value":653},{"type":52,"tag":444,"props":3927,"children":3928},{"class":446,"line":856},[3929,3933,3937,3942,3946],{"type":52,"tag":444,"props":3930,"children":3931},{"style":659},[3932],{"type":58,"value":2330},{"type":52,"tag":444,"props":3934,"children":3935},{"style":659},[3936],{"type":58,"value":2335},{"type":52,"tag":444,"props":3938,"children":3939},{"style":482},[3940],{"type":58,"value":3941}," main",{"type":52,"tag":444,"props":3943,"children":3944},{"style":573},[3945],{"type":58,"value":872},{"type":52,"tag":444,"props":3947,"children":3948},{"style":573},[3949],{"type":58,"value":877},{"type":52,"tag":444,"props":3951,"children":3952},{"class":446,"line":880},[3953,3957,3961,3965,3969,3973],{"type":52,"tag":444,"props":3954,"children":3955},{"style":659},[3956],{"type":58,"value":2386},{"type":52,"tag":444,"props":3958,"children":3959},{"style":579},[3960],{"type":58,"value":2693},{"type":52,"tag":444,"props":3962,"children":3963},{"style":573},[3964],{"type":58,"value":2396},{"type":52,"tag":444,"props":3966,"children":3967},{"style":567},[3968],{"type":58,"value":2401},{"type":52,"tag":444,"props":3970,"children":3971},{"style":482},[3972],{"type":58,"value":2340},{"type":52,"tag":444,"props":3974,"children":3975},{"style":817},[3976],{"type":58,"value":2538},{"type":52,"tag":444,"props":3978,"children":3979},{"class":446,"line":894},[3980,3984,3988,3992,3996,4000],{"type":52,"tag":444,"props":3981,"children":3982},{"style":567},[3983],{"type":58,"value":2465},{"type":52,"tag":444,"props":3985,"children":3986},{"style":817},[3987],{"type":58,"value":780},{"type":52,"tag":444,"props":3989,"children":3990},{"style":573},[3991],{"type":58,"value":785},{"type":52,"tag":444,"props":3993,"children":3994},{"style":579},[3995],{"type":58,"value":2667},{"type":52,"tag":444,"props":3997,"children":3998},{"style":817},[3999],{"type":58,"value":2491},{"type":52,"tag":444,"props":4001,"children":4002},{"style":567},[4003],{"type":58,"value":4004},"return\n",{"type":52,"tag":444,"props":4006,"children":4007},{"class":446,"line":908},[4008],{"type":52,"tag":444,"props":4009,"children":4010},{"style":3680},[4011],{"type":58,"value":4012},"  \u002F\u002F use token for authenticated API calls\n",{"type":52,"tag":444,"props":4014,"children":4015},{"class":446,"line":931},[4016],{"type":52,"tag":444,"props":4017,"children":4018},{"style":573},[4019],{"type":58,"value":845},{"type":52,"tag":444,"props":4021,"children":4022},{"class":446,"line":973},[4023],{"type":52,"tag":444,"props":4024,"children":4025},{"emptyLinePlaceholder":650},[4026],{"type":58,"value":653},{"type":52,"tag":444,"props":4028,"children":4029},{"class":446,"line":1010},[4030,4035],{"type":52,"tag":444,"props":4031,"children":4032},{"style":482},[4033],{"type":58,"value":4034},"main",{"type":52,"tag":444,"props":4036,"children":4037},{"style":579},[4038],{"type":58,"value":2538},{"type":52,"tag":510,"props":4040,"children":4041},{},[4042,4043],{"type":58,"value":2179},{"type":52,"tag":78,"props":4044,"children":4046},{"className":4045},[],[4047],{"type":58,"value":46},{"type":52,"tag":61,"props":4049,"children":4051},{"id":4050},"stable-crx-id",[4052],{"type":58,"value":4053},"Stable CRX ID",{"type":52,"tag":510,"props":4055,"children":4056},{},[4057],{"type":58,"value":4058},"Without a pinned key, Chrome derives the CRX ID from a random key at build time. This rotates every rebuild, breaking allowed origins.",{"type":52,"tag":510,"props":4060,"children":4061},{},[4062],{"type":52,"tag":317,"props":4063,"children":4064},{},[4065],{"type":58,"value":4066},"Option A -- Plasmo Itero (recommended):",{"type":52,"tag":68,"props":4068,"children":4069},{},[4070,4084],{"type":52,"tag":72,"props":4071,"children":4072},{},[4073,4075],{"type":58,"value":4074},"Visit ",{"type":52,"tag":4076,"props":4077,"children":4081},"a",{"href":4078,"rel":4079},"https:\u002F\u002Fitero.plasmo.com\u002Fext\u002Fgenerate-keypairs",[4080],"nofollow",[4082],{"type":58,"value":4083},"Plasmo Itero Generate Keypairs",{"type":52,"tag":72,"props":4085,"children":4086},{},[4087],{"type":58,"value":4088},"Click \"Generate KeyPairs\" -- save Private Key securely, copy Public Key and CRX ID",{"type":52,"tag":510,"props":4090,"children":4091},{},[4092],{"type":52,"tag":317,"props":4093,"children":4094},{},[4095],{"type":58,"value":4096},"Option B -- OpenSSL:",{"type":52,"tag":433,"props":4098,"children":4100},{"className":435,"code":4099,"language":437,"meta":438,"style":438},"openssl genrsa -out key.pem 2048\n# Use Plasmo Itero to convert or extract the public key in correct format\n",[4101],{"type":52,"tag":78,"props":4102,"children":4103},{"__ignoreMap":438},[4104,4133],{"type":52,"tag":444,"props":4105,"children":4106},{"class":446,"line":447},[4107,4112,4117,4122,4127],{"type":52,"tag":444,"props":4108,"children":4109},{"style":451},[4110],{"type":58,"value":4111},"openssl",{"type":52,"tag":444,"props":4113,"children":4114},{"style":457},[4115],{"type":58,"value":4116}," genrsa",{"type":52,"tag":444,"props":4118,"children":4119},{"style":457},[4120],{"type":58,"value":4121}," -out",{"type":52,"tag":444,"props":4123,"children":4124},{"style":457},[4125],{"type":58,"value":4126}," key.pem",{"type":52,"tag":444,"props":4128,"children":4130},{"style":4129},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[4131],{"type":58,"value":4132}," 2048\n",{"type":52,"tag":444,"props":4134,"children":4135},{"class":446,"line":478},[4136],{"type":52,"tag":444,"props":4137,"children":4138},{"style":3680},[4139],{"type":58,"value":4140},"# Use Plasmo Itero to convert or extract the public key in correct format\n",{"type":52,"tag":510,"props":4142,"children":4143},{},[4144],{"type":52,"tag":317,"props":4145,"children":4146},{},[4147,4153],{"type":52,"tag":78,"props":4148,"children":4150},{"className":4149},[],[4151],{"type":58,"value":4152},".env.chrome",{"type":58,"value":532},{"type":52,"tag":433,"props":4155,"children":4158},{"className":4156,"code":4157,"language":58},[536],"CRX_PUBLIC_KEY=\"\u003CPUBLIC KEY from Itero>\"\n",[4159],{"type":52,"tag":78,"props":4160,"children":4161},{"__ignoreMap":438},[4162],{"type":58,"value":4157},{"type":52,"tag":510,"props":4164,"children":4165},{},[4166],{"type":52,"tag":317,"props":4167,"children":4168},{},[4169,4174],{"type":52,"tag":78,"props":4170,"children":4172},{"className":4171},[],[4173],{"type":58,"value":1699},{"type":58,"value":532},{"type":52,"tag":433,"props":4176,"children":4178},{"className":1703,"code":4177,"language":1705,"meta":438,"style":438},"{\n  \"manifest\": {\n    \"key\": \"$CRX_PUBLIC_KEY\",\n    \"permissions\": [\"cookies\", \"storage\"],\n    \"host_permissions\": [\n      \"http:\u002F\u002Flocalhost\u002F*\",\n      \"$CLERK_FRONTEND_API\u002F*\"\n    ]\n  }\n}\n",[4179],{"type":52,"tag":78,"props":4180,"children":4181},{"__ignoreMap":438},[4182,4189,4212,4247,4302,4325,4345,4360,4367,4374],{"type":52,"tag":444,"props":4183,"children":4184},{"class":446,"line":447},[4185],{"type":52,"tag":444,"props":4186,"children":4187},{"style":573},[4188],{"type":58,"value":795},{"type":52,"tag":444,"props":4190,"children":4191},{"class":446,"line":478},[4192,4196,4200,4204,4208],{"type":52,"tag":444,"props":4193,"children":4194},{"style":573},[4195],{"type":58,"value":1724},{"type":52,"tag":444,"props":4197,"children":4198},{"style":659},[4199],{"type":58,"value":1729},{"type":52,"tag":444,"props":4201,"children":4202},{"style":573},[4203],{"type":58,"value":1081},{"type":52,"tag":444,"props":4205,"children":4206},{"style":573},[4207],{"type":58,"value":532},{"type":52,"tag":444,"props":4209,"children":4210},{"style":573},[4211],{"type":58,"value":877},{"type":52,"tag":444,"props":4213,"children":4214},{"class":446,"line":492},[4215,4219,4223,4227,4231,4235,4239,4243],{"type":52,"tag":444,"props":4216,"children":4217},{"style":573},[4218],{"type":58,"value":1749},{"type":52,"tag":444,"props":4220,"children":4221},{"style":451},[4222],{"type":58,"value":146},{"type":52,"tag":444,"props":4224,"children":4225},{"style":573},[4226],{"type":58,"value":1081},{"type":52,"tag":444,"props":4228,"children":4229},{"style":573},[4230],{"type":58,"value":532},{"type":52,"tag":444,"props":4232,"children":4233},{"style":573},[4234],{"type":58,"value":1766},{"type":52,"tag":444,"props":4236,"children":4237},{"style":457},[4238],{"type":58,"value":1771},{"type":52,"tag":444,"props":4240,"children":4241},{"style":573},[4242],{"type":58,"value":1081},{"type":52,"tag":444,"props":4244,"children":4245},{"style":573},[4246],{"type":58,"value":1780},{"type":52,"tag":444,"props":4248,"children":4249},{"class":446,"line":30},[4250,4254,4258,4262,4266,4270,4274,4278,4282,4286,4290,4294,4298],{"type":52,"tag":444,"props":4251,"children":4252},{"style":573},[4253],{"type":58,"value":1749},{"type":52,"tag":444,"props":4255,"children":4256},{"style":451},[4257],{"type":58,"value":1792},{"type":52,"tag":444,"props":4259,"children":4260},{"style":573},[4261],{"type":58,"value":1081},{"type":52,"tag":444,"props":4263,"children":4264},{"style":573},[4265],{"type":58,"value":532},{"type":52,"tag":444,"props":4267,"children":4268},{"style":573},[4269],{"type":58,"value":1805},{"type":52,"tag":444,"props":4271,"children":4272},{"style":573},[4273],{"type":58,"value":1081},{"type":52,"tag":444,"props":4275,"children":4276},{"style":457},[4277],{"type":58,"value":1814},{"type":52,"tag":444,"props":4279,"children":4280},{"style":573},[4281],{"type":58,"value":1081},{"type":52,"tag":444,"props":4283,"children":4284},{"style":573},[4285],{"type":58,"value":587},{"type":52,"tag":444,"props":4287,"children":4288},{"style":573},[4289],{"type":58,"value":1766},{"type":52,"tag":444,"props":4291,"children":4292},{"style":457},[4293],{"type":58,"value":1831},{"type":52,"tag":444,"props":4295,"children":4296},{"style":573},[4297],{"type":58,"value":1081},{"type":52,"tag":444,"props":4299,"children":4300},{"style":573},[4301],{"type":58,"value":1840},{"type":52,"tag":444,"props":4303,"children":4304},{"class":446,"line":761},[4305,4309,4313,4317,4321],{"type":52,"tag":444,"props":4306,"children":4307},{"style":573},[4308],{"type":58,"value":1749},{"type":52,"tag":444,"props":4310,"children":4311},{"style":451},[4312],{"type":58,"value":1369},{"type":52,"tag":444,"props":4314,"children":4315},{"style":573},[4316],{"type":58,"value":1081},{"type":52,"tag":444,"props":4318,"children":4319},{"style":573},[4320],{"type":58,"value":532},{"type":52,"tag":444,"props":4322,"children":4323},{"style":573},[4324],{"type":58,"value":1864},{"type":52,"tag":444,"props":4326,"children":4327},{"class":446,"line":769},[4328,4332,4337,4341],{"type":52,"tag":444,"props":4329,"children":4330},{"style":573},[4331],{"type":58,"value":1872},{"type":52,"tag":444,"props":4333,"children":4334},{"style":457},[4335],{"type":58,"value":4336},"http:\u002F\u002Flocalhost\u002F*",{"type":52,"tag":444,"props":4338,"children":4339},{"style":573},[4340],{"type":58,"value":1081},{"type":52,"tag":444,"props":4342,"children":4343},{"style":573},[4344],{"type":58,"value":1780},{"type":52,"tag":444,"props":4346,"children":4347},{"class":446,"line":798},[4348,4352,4356],{"type":52,"tag":444,"props":4349,"children":4350},{"style":573},[4351],{"type":58,"value":1872},{"type":52,"tag":444,"props":4353,"children":4354},{"style":457},[4355],{"type":58,"value":1897},{"type":52,"tag":444,"props":4357,"children":4358},{"style":573},[4359],{"type":58,"value":1560},{"type":52,"tag":444,"props":4361,"children":4362},{"class":446,"line":839},[4363],{"type":52,"tag":444,"props":4364,"children":4365},{"style":573},[4366],{"type":58,"value":1909},{"type":52,"tag":444,"props":4368,"children":4369},{"class":446,"line":848},[4370],{"type":52,"tag":444,"props":4371,"children":4372},{"style":573},[4373],{"type":58,"value":1917},{"type":52,"tag":444,"props":4375,"children":4376},{"class":446,"line":856},[4377],{"type":52,"tag":444,"props":4378,"children":4379},{"style":573},[4380],{"type":58,"value":845},{"type":52,"tag":510,"props":4382,"children":4383},{},[4384,4386,4392],{"type":58,"value":4385},"Add ",{"type":52,"tag":78,"props":4387,"children":4389},{"className":4388},[],[4390],{"type":58,"value":4391},"chrome-extension:\u002F\u002FYOUR_STABLE_CRX_ID",{"type":58,"value":4393}," to Clerk Dashboard > Allowed Origins.",{"type":52,"tag":61,"props":4395,"children":4397},{"id":4396},"token-cache-persist-across-popup-closes",[4398],{"type":58,"value":4399},"Token Cache (persist across popup closes)",{"type":52,"tag":433,"props":4401,"children":4403},{"className":555,"code":4402,"language":557,"meta":438,"style":438},"const tokenCache = {\n  async getToken(key: string) {\n    const result = await chrome.storage.local.get(key)\n    return result[key] ?? null\n  },\n  async saveToken(key: string, token: string) {\n    await chrome.storage.local.set({ [key]: token })\n  },\n  async clearToken(key: string) {\n    await chrome.storage.local.remove(key)\n  },\n}\n\n\u003CClerkProvider publishableKey={PUBLISHABLE_KEY} tokenCache={tokenCache}>\n",[4404],{"type":52,"tag":78,"props":4405,"children":4406},{"__ignoreMap":438},[4407,4427,4464,4527,4562,4570,4622,4695,4702,4738,4786,4793,4800,4807],{"type":52,"tag":444,"props":4408,"children":4409},{"class":446,"line":447},[4410,4414,4419,4423],{"type":52,"tag":444,"props":4411,"children":4412},{"style":659},[4413],{"type":58,"value":662},{"type":52,"tag":444,"props":4415,"children":4416},{"style":579},[4417],{"type":58,"value":4418}," tokenCache ",{"type":52,"tag":444,"props":4420,"children":4421},{"style":573},[4422],{"type":58,"value":672},{"type":52,"tag":444,"props":4424,"children":4425},{"style":573},[4426],{"type":58,"value":877},{"type":52,"tag":444,"props":4428,"children":4429},{"class":446,"line":478},[4430,4435,4439,4443,4447,4451,4456,4460],{"type":52,"tag":444,"props":4431,"children":4432},{"style":659},[4433],{"type":58,"value":4434},"  async",{"type":52,"tag":444,"props":4436,"children":4437},{"style":817},[4438],{"type":58,"value":2340},{"type":52,"tag":444,"props":4440,"children":4441},{"style":573},[4442],{"type":58,"value":740},{"type":52,"tag":444,"props":4444,"children":4445},{"style":1576},[4446],{"type":58,"value":146},{"type":52,"tag":444,"props":4448,"children":4449},{"style":573},[4450],{"type":58,"value":532},{"type":52,"tag":444,"props":4452,"children":4453},{"style":451},[4454],{"type":58,"value":4455}," string",{"type":52,"tag":444,"props":4457,"children":4458},{"style":573},[4459],{"type":58,"value":1584},{"type":52,"tag":444,"props":4461,"children":4462},{"style":573},[4463],{"type":58,"value":877},{"type":52,"tag":444,"props":4465,"children":4466},{"class":446,"line":492},[4467,4472,4477,4481,4485,4489,4493,4497,4501,4506,4510,4515,4519,4523],{"type":52,"tag":444,"props":4468,"children":4469},{"style":659},[4470],{"type":58,"value":4471},"    const",{"type":52,"tag":444,"props":4473,"children":4474},{"style":579},[4475],{"type":58,"value":4476}," result",{"type":52,"tag":444,"props":4478,"children":4479},{"style":573},[4480],{"type":58,"value":2396},{"type":52,"tag":444,"props":4482,"children":4483},{"style":567},[4484],{"type":58,"value":2401},{"type":52,"tag":444,"props":4486,"children":4487},{"style":579},[4488],{"type":58,"value":717},{"type":52,"tag":444,"props":4490,"children":4491},{"style":573},[4492],{"type":58,"value":682},{"type":52,"tag":444,"props":4494,"children":4495},{"style":579},[4496],{"type":58,"value":1831},{"type":52,"tag":444,"props":4498,"children":4499},{"style":573},[4500],{"type":58,"value":682},{"type":52,"tag":444,"props":4502,"children":4503},{"style":579},[4504],{"type":58,"value":4505},"local",{"type":52,"tag":444,"props":4507,"children":4508},{"style":573},[4509],{"type":58,"value":682},{"type":52,"tag":444,"props":4511,"children":4512},{"style":482},[4513],{"type":58,"value":4514},"get",{"type":52,"tag":444,"props":4516,"children":4517},{"style":817},[4518],{"type":58,"value":740},{"type":52,"tag":444,"props":4520,"children":4521},{"style":579},[4522],{"type":58,"value":146},{"type":52,"tag":444,"props":4524,"children":4525},{"style":817},[4526],{"type":58,"value":758},{"type":52,"tag":444,"props":4528,"children":4529},{"class":446,"line":30},[4530,4535,4539,4544,4548,4553,4558],{"type":52,"tag":444,"props":4531,"children":4532},{"style":567},[4533],{"type":58,"value":4534},"    return",{"type":52,"tag":444,"props":4536,"children":4537},{"style":579},[4538],{"type":58,"value":4476},{"type":52,"tag":444,"props":4540,"children":4541},{"style":817},[4542],{"type":58,"value":4543},"[",{"type":52,"tag":444,"props":4545,"children":4546},{"style":579},[4547],{"type":58,"value":146},{"type":52,"tag":444,"props":4549,"children":4550},{"style":817},[4551],{"type":58,"value":4552},"] ",{"type":52,"tag":444,"props":4554,"children":4555},{"style":573},[4556],{"type":58,"value":4557},"??",{"type":52,"tag":444,"props":4559,"children":4560},{"style":573},[4561],{"type":58,"value":2501},{"type":52,"tag":444,"props":4563,"children":4564},{"class":446,"line":761},[4565],{"type":52,"tag":444,"props":4566,"children":4567},{"style":573},[4568],{"type":58,"value":4569},"  },\n",{"type":52,"tag":444,"props":4571,"children":4572},{"class":446,"line":769},[4573,4577,4582,4586,4590,4594,4598,4602,4606,4610,4614,4618],{"type":52,"tag":444,"props":4574,"children":4575},{"style":659},[4576],{"type":58,"value":4434},{"type":52,"tag":444,"props":4578,"children":4579},{"style":817},[4580],{"type":58,"value":4581}," saveToken",{"type":52,"tag":444,"props":4583,"children":4584},{"style":573},[4585],{"type":58,"value":740},{"type":52,"tag":444,"props":4587,"children":4588},{"style":1576},[4589],{"type":58,"value":146},{"type":52,"tag":444,"props":4591,"children":4592},{"style":573},[4593],{"type":58,"value":532},{"type":52,"tag":444,"props":4595,"children":4596},{"style":451},[4597],{"type":58,"value":4455},{"type":52,"tag":444,"props":4599,"children":4600},{"style":573},[4601],{"type":58,"value":587},{"type":52,"tag":444,"props":4603,"children":4604},{"style":1576},[4605],{"type":58,"value":2693},{"type":52,"tag":444,"props":4607,"children":4608},{"style":573},[4609],{"type":58,"value":532},{"type":52,"tag":444,"props":4611,"children":4612},{"style":451},[4613],{"type":58,"value":4455},{"type":52,"tag":444,"props":4615,"children":4616},{"style":573},[4617],{"type":58,"value":1584},{"type":52,"tag":444,"props":4619,"children":4620},{"style":573},[4621],{"type":58,"value":877},{"type":52,"tag":444,"props":4623,"children":4624},{"class":446,"line":798},[4625,4630,4634,4638,4642,4646,4650,4654,4659,4663,4667,4671,4675,4679,4683,4687,4691],{"type":52,"tag":444,"props":4626,"children":4627},{"style":567},[4628],{"type":58,"value":4629},"    await",{"type":52,"tag":444,"props":4631,"children":4632},{"style":579},[4633],{"type":58,"value":717},{"type":52,"tag":444,"props":4635,"children":4636},{"style":573},[4637],{"type":58,"value":682},{"type":52,"tag":444,"props":4639,"children":4640},{"style":579},[4641],{"type":58,"value":1831},{"type":52,"tag":444,"props":4643,"children":4644},{"style":573},[4645],{"type":58,"value":682},{"type":52,"tag":444,"props":4647,"children":4648},{"style":579},[4649],{"type":58,"value":4505},{"type":52,"tag":444,"props":4651,"children":4652},{"style":573},[4653],{"type":58,"value":682},{"type":52,"tag":444,"props":4655,"children":4656},{"style":482},[4657],{"type":58,"value":4658},"set",{"type":52,"tag":444,"props":4660,"children":4661},{"style":817},[4662],{"type":58,"value":740},{"type":52,"tag":444,"props":4664,"children":4665},{"style":573},[4666],{"type":58,"value":2688},{"type":52,"tag":444,"props":4668,"children":4669},{"style":817},[4670],{"type":58,"value":1805},{"type":52,"tag":444,"props":4672,"children":4673},{"style":579},[4674],{"type":58,"value":146},{"type":52,"tag":444,"props":4676,"children":4677},{"style":817},[4678],{"type":58,"value":3217},{"type":52,"tag":444,"props":4680,"children":4681},{"style":573},[4682],{"type":58,"value":532},{"type":52,"tag":444,"props":4684,"children":4685},{"style":579},[4686],{"type":58,"value":2693},{"type":52,"tag":444,"props":4688,"children":4689},{"style":573},[4690],{"type":58,"value":624},{"type":52,"tag":444,"props":4692,"children":4693},{"style":817},[4694],{"type":58,"value":758},{"type":52,"tag":444,"props":4696,"children":4697},{"class":446,"line":839},[4698],{"type":52,"tag":444,"props":4699,"children":4700},{"style":573},[4701],{"type":58,"value":4569},{"type":52,"tag":444,"props":4703,"children":4704},{"class":446,"line":848},[4705,4709,4714,4718,4722,4726,4730,4734],{"type":52,"tag":444,"props":4706,"children":4707},{"style":659},[4708],{"type":58,"value":4434},{"type":52,"tag":444,"props":4710,"children":4711},{"style":817},[4712],{"type":58,"value":4713}," clearToken",{"type":52,"tag":444,"props":4715,"children":4716},{"style":573},[4717],{"type":58,"value":740},{"type":52,"tag":444,"props":4719,"children":4720},{"style":1576},[4721],{"type":58,"value":146},{"type":52,"tag":444,"props":4723,"children":4724},{"style":573},[4725],{"type":58,"value":532},{"type":52,"tag":444,"props":4727,"children":4728},{"style":451},[4729],{"type":58,"value":4455},{"type":52,"tag":444,"props":4731,"children":4732},{"style":573},[4733],{"type":58,"value":1584},{"type":52,"tag":444,"props":4735,"children":4736},{"style":573},[4737],{"type":58,"value":877},{"type":52,"tag":444,"props":4739,"children":4740},{"class":446,"line":856},[4741,4745,4749,4753,4757,4761,4765,4769,4774,4778,4782],{"type":52,"tag":444,"props":4742,"children":4743},{"style":567},[4744],{"type":58,"value":4629},{"type":52,"tag":444,"props":4746,"children":4747},{"style":579},[4748],{"type":58,"value":717},{"type":52,"tag":444,"props":4750,"children":4751},{"style":573},[4752],{"type":58,"value":682},{"type":52,"tag":444,"props":4754,"children":4755},{"style":579},[4756],{"type":58,"value":1831},{"type":52,"tag":444,"props":4758,"children":4759},{"style":573},[4760],{"type":58,"value":682},{"type":52,"tag":444,"props":4762,"children":4763},{"style":579},[4764],{"type":58,"value":4505},{"type":52,"tag":444,"props":4766,"children":4767},{"style":573},[4768],{"type":58,"value":682},{"type":52,"tag":444,"props":4770,"children":4771},{"style":482},[4772],{"type":58,"value":4773},"remove",{"type":52,"tag":444,"props":4775,"children":4776},{"style":817},[4777],{"type":58,"value":740},{"type":52,"tag":444,"props":4779,"children":4780},{"style":579},[4781],{"type":58,"value":146},{"type":52,"tag":444,"props":4783,"children":4784},{"style":817},[4785],{"type":58,"value":758},{"type":52,"tag":444,"props":4787,"children":4788},{"class":446,"line":880},[4789],{"type":52,"tag":444,"props":4790,"children":4791},{"style":573},[4792],{"type":58,"value":4569},{"type":52,"tag":444,"props":4794,"children":4795},{"class":446,"line":894},[4796],{"type":52,"tag":444,"props":4797,"children":4798},{"style":573},[4799],{"type":58,"value":845},{"type":52,"tag":444,"props":4801,"children":4802},{"class":446,"line":908},[4803],{"type":52,"tag":444,"props":4804,"children":4805},{"emptyLinePlaceholder":650},[4806],{"type":58,"value":653},{"type":52,"tag":444,"props":4808,"children":4809},{"class":446,"line":931},[4810,4814,4818,4823,4827,4831,4836,4841,4845,4849],{"type":52,"tag":444,"props":4811,"children":4812},{"style":573},[4813],{"type":58,"value":1489},{"type":52,"tag":444,"props":4815,"children":4816},{"style":451},[4817],{"type":58,"value":1274},{"type":52,"tag":444,"props":4819,"children":4820},{"style":659},[4821],{"type":58,"value":4822}," publishableKey",{"type":52,"tag":444,"props":4824,"children":4825},{"style":573},[4826],{"type":58,"value":919},{"type":52,"tag":444,"props":4828,"children":4829},{"style":579},[4830],{"type":58,"value":924},{"type":52,"tag":444,"props":4832,"children":4833},{"style":573},[4834],{"type":58,"value":4835},"} ",{"type":52,"tag":444,"props":4837,"children":4838},{"style":659},[4839],{"type":58,"value":4840},"tokenCache",{"type":52,"tag":444,"props":4842,"children":4843},{"style":573},[4844],{"type":58,"value":919},{"type":52,"tag":444,"props":4846,"children":4847},{"style":579},[4848],{"type":58,"value":4840},{"type":52,"tag":444,"props":4850,"children":4851},{"style":573},[4852],{"type":58,"value":4853},"}>\n",{"type":52,"tag":166,"props":4855,"children":4856},{},[4857,4878],{"type":52,"tag":170,"props":4858,"children":4859},{},[4860],{"type":52,"tag":174,"props":4861,"children":4862},{},[4863,4868,4873],{"type":52,"tag":178,"props":4864,"children":4865},{},[4866],{"type":58,"value":4867},"Storage type",{"type":52,"tag":178,"props":4869,"children":4870},{},[4871],{"type":58,"value":4872},"Scope",{"type":52,"tag":178,"props":4874,"children":4875},{},[4876],{"type":58,"value":4877},"Clears on",{"type":52,"tag":199,"props":4879,"children":4880},{},[4881,4903,4925,4947],{"type":52,"tag":174,"props":4882,"children":4883},{},[4884,4893,4898],{"type":52,"tag":206,"props":4885,"children":4886},{},[4887],{"type":52,"tag":78,"props":4888,"children":4890},{"className":4889},[],[4891],{"type":58,"value":4892},"chrome.storage.local",{"type":52,"tag":206,"props":4894,"children":4895},{},[4896],{"type":58,"value":4897},"Device",{"type":52,"tag":206,"props":4899,"children":4900},{},[4901],{"type":58,"value":4902},"Uninstall or manual clear",{"type":52,"tag":174,"props":4904,"children":4905},{},[4906,4915,4920],{"type":52,"tag":206,"props":4907,"children":4908},{},[4909],{"type":52,"tag":78,"props":4910,"children":4912},{"className":4911},[],[4913],{"type":58,"value":4914},"chrome.storage.session",{"type":52,"tag":206,"props":4916,"children":4917},{},[4918],{"type":58,"value":4919},"Session",{"type":52,"tag":206,"props":4921,"children":4922},{},[4923],{"type":58,"value":4924},"Browser close",{"type":52,"tag":174,"props":4926,"children":4927},{},[4928,4937,4942],{"type":52,"tag":206,"props":4929,"children":4930},{},[4931],{"type":52,"tag":78,"props":4932,"children":4934},{"className":4933},[],[4935],{"type":58,"value":4936},"chrome.storage.sync",{"type":52,"tag":206,"props":4938,"children":4939},{},[4940],{"type":58,"value":4941},"All devices",{"type":52,"tag":206,"props":4943,"children":4944},{},[4945],{"type":58,"value":4946},"Uninstall (size-limited, 8KB)",{"type":52,"tag":174,"props":4948,"children":4949},{},[4950,4959,4964],{"type":52,"tag":206,"props":4951,"children":4952},{},[4953],{"type":52,"tag":78,"props":4954,"children":4956},{"className":4955},[],[4957],{"type":58,"value":4958},"localStorage",{"type":52,"tag":206,"props":4960,"children":4961},{},[4962],{"type":58,"value":4963},"Popup only",{"type":52,"tag":206,"props":4965,"children":4966},{},[4967],{"type":58,"value":4968},"Popup close -- do not use for auth",{"type":52,"tag":61,"props":4970,"children":4972},{"id":4971},"common-pitfalls",[4973],{"type":58,"value":4974},"Common Pitfalls",{"type":52,"tag":166,"props":4976,"children":4977},{},[4978,4999],{"type":52,"tag":170,"props":4979,"children":4980},{},[4981],{"type":52,"tag":174,"props":4982,"children":4983},{},[4984,4989,4994],{"type":52,"tag":178,"props":4985,"children":4986},{},[4987],{"type":58,"value":4988},"Symptom",{"type":52,"tag":178,"props":4990,"children":4991},{},[4992],{"type":58,"value":4993},"Cause",{"type":52,"tag":178,"props":4995,"children":4996},{},[4997],{"type":58,"value":4998},"Fix",{"type":52,"tag":199,"props":5000,"children":5001},{},[5002,5034,5058,5092,5110,5133,5151,5174,5210,5228],{"type":52,"tag":174,"props":5003,"children":5004},{},[5005,5010,5015],{"type":52,"tag":206,"props":5006,"children":5007},{},[5008],{"type":58,"value":5009},"Redirect loop on sign-in",{"type":52,"tag":206,"props":5011,"children":5012},{},[5013],{"type":58,"value":5014},"Missing CRX URL in ClerkProvider props",{"type":52,"tag":206,"props":5016,"children":5017},{},[5018,5020,5026,5028],{"type":58,"value":5019},"Set ",{"type":52,"tag":78,"props":5021,"children":5023},{"className":5022},[],[5024],{"type":58,"value":5025},"afterSignOutUrl",{"type":58,"value":5027},", ",{"type":52,"tag":78,"props":5029,"children":5031},{"className":5030},[],[5032],{"type":58,"value":5033},"signInFallbackRedirectUrl",{"type":52,"tag":174,"props":5035,"children":5036},{},[5037,5042,5047],{"type":52,"tag":206,"props":5038,"children":5039},{},[5040],{"type":58,"value":5041},"OAuth button not working",{"type":52,"tag":206,"props":5043,"children":5044},{},[5045],{"type":58,"value":5046},"OAuth not supported in popup",{"type":52,"tag":206,"props":5048,"children":5049},{},[5050,5051,5056],{"type":58,"value":1327},{"type":52,"tag":78,"props":5052,"children":5054},{"className":5053},[],[5055],{"type":58,"value":83},{"type":58,"value":5057}," to delegate to web app",{"type":52,"tag":174,"props":5059,"children":5060},{},[5061,5066,5076],{"type":52,"tag":206,"props":5062,"children":5063},{},[5064],{"type":58,"value":5065},"Auth state stale after web app sign-in",{"type":52,"tag":206,"props":5067,"children":5068},{},[5069,5074],{"type":52,"tag":78,"props":5070,"children":5072},{"className":5071},[],[5073],{"type":58,"value":83},{"type":58,"value":5075}," not configured",{"type":52,"tag":206,"props":5077,"children":5078},{},[5079,5080,5085,5087],{"type":58,"value":4385},{"type":52,"tag":78,"props":5081,"children":5083},{"className":5082},[],[5084],{"type":58,"value":83},{"type":58,"value":5086}," prop + ",{"type":52,"tag":78,"props":5088,"children":5090},{"className":5089},[],[5091],{"type":58,"value":1369},{"type":52,"tag":174,"props":5093,"children":5094},{},[5095,5100,5105],{"type":52,"tag":206,"props":5096,"children":5097},{},[5098],{"type":58,"value":5099},"Side panel shows signed-out after web sign-in",{"type":52,"tag":206,"props":5101,"children":5102},{},[5103],{"type":58,"value":5104},"Known limitation",{"type":52,"tag":206,"props":5106,"children":5107},{},[5108],{"type":58,"value":5109},"User must close and reopen the side panel",{"type":52,"tag":174,"props":5111,"children":5112},{},[5113,5118,5123],{"type":52,"tag":206,"props":5114,"children":5115},{},[5116],{"type":58,"value":5117},"Background can't get token after 60s",{"type":52,"tag":206,"props":5119,"children":5120},{},[5121],{"type":58,"value":5122},"Session expired, no background refresh",{"type":52,"tag":206,"props":5124,"children":5125},{},[5126,5127],{"type":58,"value":1327},{"type":52,"tag":78,"props":5128,"children":5130},{"className":5129},[],[5131],{"type":58,"value":5132},"createClerkClient({ background: true })",{"type":52,"tag":174,"props":5134,"children":5135},{},[5136,5141,5146],{"type":52,"tag":206,"props":5137,"children":5138},{},[5139],{"type":58,"value":5140},"Content script can't access Clerk",{"type":52,"tag":206,"props":5142,"children":5143},{},[5144],{"type":58,"value":5145},"Isolated world + origin restrictions",{"type":52,"tag":206,"props":5147,"children":5148},{},[5149],{"type":58,"value":5150},"Use message passing to background service worker",{"type":52,"tag":174,"props":5152,"children":5153},{},[5154,5159,5164],{"type":52,"tag":206,"props":5155,"children":5156},{},[5157],{"type":58,"value":5158},"Auth breaks after rebuild",{"type":52,"tag":206,"props":5160,"children":5161},{},[5162],{"type":58,"value":5163},"CRX ID rotated",{"type":52,"tag":206,"props":5165,"children":5166},{},[5167,5169],{"type":58,"value":5168},"Configure stable key via ",{"type":52,"tag":78,"props":5170,"children":5172},{"className":5171},[],[5173],{"type":58,"value":4152},{"type":52,"tag":174,"props":5175,"children":5176},{},[5177,5188,5193],{"type":52,"tag":206,"props":5178,"children":5179},{},[5180,5186],{"type":52,"tag":78,"props":5181,"children":5183},{"className":5182},[],[5184],{"type":58,"value":5185},"PLASMO_PUBLIC_",{"type":58,"value":5187}," var undefined",{"type":52,"tag":206,"props":5189,"children":5190},{},[5191],{"type":58,"value":5192},"Wrong env file",{"type":52,"tag":206,"props":5194,"children":5195},{},[5196,5197,5202,5204],{"type":58,"value":1327},{"type":52,"tag":78,"props":5198,"children":5200},{"className":5199},[],[5201],{"type":58,"value":530},{"type":58,"value":5203},", not ",{"type":52,"tag":78,"props":5205,"children":5207},{"className":5206},[],[5208],{"type":58,"value":5209},".env",{"type":52,"tag":174,"props":5211,"children":5212},{},[5213,5218,5223],{"type":52,"tag":206,"props":5214,"children":5215},{},[5216],{"type":58,"value":5217},"Bot protection errors",{"type":52,"tag":206,"props":5219,"children":5220},{},[5221],{"type":58,"value":5222},"Cloudflare not supported in extensions",{"type":52,"tag":206,"props":5224,"children":5225},{},[5226],{"type":58,"value":5227},"Disable bot protection in Clerk Dashboard",{"type":52,"tag":174,"props":5229,"children":5230},{},[5231,5236,5248],{"type":52,"tag":206,"props":5232,"children":5233},{},[5234],{"type":58,"value":5235},"Token cache not persisting",{"type":52,"tag":206,"props":5237,"children":5238},{},[5239,5241,5246],{"type":58,"value":5240},"Using ",{"type":52,"tag":78,"props":5242,"children":5244},{"className":5243},[],[5245],{"type":58,"value":4958},{"type":58,"value":5247}," in popup",{"type":52,"tag":206,"props":5249,"children":5250},{},[5251,5252,5257,5259,5264],{"type":58,"value":1327},{"type":52,"tag":78,"props":5253,"children":5255},{"className":5254},[],[5256],{"type":58,"value":4892},{"type":58,"value":5258}," or pass ",{"type":52,"tag":78,"props":5260,"children":5262},{"className":5261},[],[5263],{"type":58,"value":4840},{"type":58,"value":5265}," prop",{"type":52,"tag":61,"props":5267,"children":5269},{"id":5268},"plan-requirements",[5270],{"type":58,"value":5271},"Plan Requirements",{"type":52,"tag":166,"props":5273,"children":5274},{},[5275,5291],{"type":52,"tag":170,"props":5276,"children":5277},{},[5278],{"type":52,"tag":174,"props":5279,"children":5280},{},[5281,5286],{"type":52,"tag":178,"props":5282,"children":5283},{},[5284],{"type":58,"value":5285},"Feature",{"type":52,"tag":178,"props":5287,"children":5288},{},[5289],{"type":58,"value":5290},"Plan",{"type":52,"tag":199,"props":5292,"children":5293},{},[5294,5307,5318,5330,5343,5356],{"type":52,"tag":174,"props":5295,"children":5296},{},[5297,5302],{"type":52,"tag":206,"props":5298,"children":5299},{},[5300],{"type":58,"value":5301},"Basic popup auth (email\u002Fpassword, OTP)",{"type":52,"tag":206,"props":5303,"children":5304},{},[5305],{"type":58,"value":5306},"Free",{"type":52,"tag":174,"props":5308,"children":5309},{},[5310,5314],{"type":52,"tag":206,"props":5311,"children":5312},{},[5313],{"type":58,"value":373},{"type":52,"tag":206,"props":5315,"children":5316},{},[5317],{"type":58,"value":5306},{"type":52,"tag":174,"props":5319,"children":5320},{},[5321,5325],{"type":52,"tag":206,"props":5322,"children":5323},{},[5324],{"type":58,"value":83},{"type":52,"tag":206,"props":5326,"children":5327},{},[5328],{"type":58,"value":5329},"Requires Pro (custom domain)",{"type":52,"tag":174,"props":5331,"children":5332},{},[5333,5338],{"type":52,"tag":206,"props":5334,"children":5335},{},[5336],{"type":58,"value":5337},"OAuth through syncHost",{"type":52,"tag":206,"props":5339,"children":5340},{},[5341],{"type":58,"value":5342},"Pro + OAuth configured on web app",{"type":52,"tag":174,"props":5344,"children":5345},{},[5346,5351],{"type":52,"tag":206,"props":5347,"children":5348},{},[5349],{"type":58,"value":5350},"SAML through syncHost",{"type":52,"tag":206,"props":5352,"children":5353},{},[5354],{"type":58,"value":5355},"Enterprise",{"type":52,"tag":174,"props":5357,"children":5358},{},[5359,5364],{"type":52,"tag":206,"props":5360,"children":5361},{},[5362],{"type":58,"value":5363},"Bot protection",{"type":52,"tag":206,"props":5365,"children":5366},{},[5367],{"type":58,"value":5368},"N\u002FA -- must be disabled for extensions",{"type":52,"tag":61,"props":5370,"children":5372},{"id":5371},"see-also",[5373],{"type":58,"value":5374},"See Also",{"type":52,"tag":5376,"props":5377,"children":5378},"ul",{},[5379,5390],{"type":52,"tag":72,"props":5380,"children":5381},{},[5382,5388],{"type":52,"tag":78,"props":5383,"children":5385},{"className":5384},[],[5386],{"type":58,"value":5387},"clerk-setup",{"type":58,"value":5389}," - Initial Clerk install",{"type":52,"tag":72,"props":5391,"children":5392},{},[5393,5399],{"type":52,"tag":78,"props":5394,"children":5396},{"className":5395},[],[5397],{"type":58,"value":5398},"clerk-custom-ui",{"type":58,"value":5400}," - Custom flows & appearance",{"type":52,"tag":5402,"props":5403,"children":5404},"style",{},[5405],{"type":58,"value":5406},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":5408,"total":1139},[5409,5425,5440,5456,5474,5490,5498,5515,5530,5547,5562,5576],{"slug":8,"name":8,"fn":5410,"description":5411,"org":5412,"tags":5413,"stars":26,"repoUrl":27,"updatedAt":5424},"route Clerk authentication requests","Clerk authentication router. Use when user asks about Clerk CLI operations, adding authentication, setting up Clerk, custom sign-in flows, Swift or native iOS auth, native Android auth, Next.js patterns, React patterns, Vue patterns, Nuxt patterns, Astro patterns, TanStack Start patterns, Expo patterns, React Router patterns, Chrome Extension patterns, organizations, billing, subscriptions, payments, pricing, plans, seat-based pricing, feature entitlements, syncing users, testing, impersonating a user, or testing webhooks locally. Automatically routes to the specific skill based on their task.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5414,5417,5418,5421],{"name":5415,"slug":5416,"type":15},"Authentication","authentication",{"name":9,"slug":8,"type":15},{"name":5419,"slug":5420,"type":15},"Mobile","mobile",{"name":5422,"slug":5423,"type":15},"Web Development","web-development","2026-07-18T05:12:23.438307",{"slug":5426,"name":5426,"fn":5427,"description":5428,"org":5429,"tags":5430,"stars":26,"repoUrl":27,"updatedAt":5439},"clerk-android","implement Clerk auth for native Android apps","Implement Clerk authentication for native Android apps using Kotlin and Jetpack Compose with clerk-android source-guided patterns. Use for prebuilt AuthView\u002FUserButton or custom API-driven auth flows. Do not use for Expo or React Native projects.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5431,5434,5435,5438],{"name":5432,"slug":5433,"type":15},"Android","android",{"name":9,"slug":8,"type":15},{"name":5436,"slug":5437,"type":15},"Kotlin","kotlin",{"name":5419,"slug":5420,"type":15},"2026-04-10T05:00:18.622871",{"slug":5441,"name":5441,"fn":5442,"description":5443,"org":5444,"tags":5445,"stars":26,"repoUrl":27,"updatedAt":5455},"clerk-astro-patterns","implement Clerk auth in Astro apps","Astro patterns with Clerk — middleware, SSR pages, island components, API routes, static vs SSR rendering. Triggers on: astro clerk, clerk astro middleware, astro protected page, clerk island component, astro API route auth, clerk astro SSR.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5446,5449,5450,5451,5452],{"name":5447,"slug":5448,"type":15},"Astro","astro",{"name":5415,"slug":5416,"type":15},{"name":9,"slug":8,"type":15},{"name":24,"slug":25,"type":15},{"name":5453,"slug":5454,"type":15},"Serverless","serverless","2026-04-07T04:46:14.731808",{"slug":5457,"name":5457,"fn":5458,"description":5459,"org":5460,"tags":5461,"stars":26,"repoUrl":27,"updatedAt":5473},"clerk-backend-api","execute Clerk Backend API requests","Clerk Backend REST API explorer and executor. Browse tags, inspect endpoint schemas, and execute authenticated requests. Use when listing users, managing organizations, or calling any Clerk API endpoint.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5462,5465,5466,5469,5470],{"name":5463,"slug":5464,"type":15},"API Development","api-development",{"name":5415,"slug":5416,"type":15},{"name":5467,"slug":5468,"type":15},"Backend","backend",{"name":9,"slug":8,"type":15},{"name":5471,"slug":5472,"type":15},"REST API","rest-api","2026-04-10T05:00:08.728072",{"slug":5475,"name":5475,"fn":5476,"description":5477,"org":5478,"tags":5479,"stars":26,"repoUrl":27,"updatedAt":5489},"clerk-billing","manage subscriptions with Clerk Billing","Clerk Billing for subscription management - render Clerk's PricingTable and in-app checkout drawer, configure subscription plans, seat-limit plans for B2B, feature entitlements with has(), and billing webhooks. Use for SaaS monetization, plan gating, checkout flows, trials, invoicing, and subscription lifecycle management.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5480,5481,5482,5483,5486],{"name":5415,"slug":5416,"type":15},{"name":9,"slug":8,"type":15},{"name":24,"slug":25,"type":15},{"name":5484,"slug":5485,"type":15},"Payments","payments",{"name":5487,"slug":5488,"type":15},"SaaS","saas","2026-04-29T05:37:27.130955",{"slug":4,"name":4,"fn":5,"description":6,"org":5491,"tags":5492,"stars":26,"repoUrl":27,"updatedAt":28},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5493,5494,5495,5496,5497],{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":24,"slug":25,"type":15},{"name":21,"slug":22,"type":15},{"name":13,"slug":14,"type":15},{"slug":5499,"name":5499,"fn":5500,"description":5501,"org":5502,"tags":5503,"stars":26,"repoUrl":27,"updatedAt":5514},"clerk-cli","manage Clerk authentication and instances via CLI","Operate the Clerk CLI (`clerk` binary) for authentication, user\u002Forg\u002Fsession management, impersonation, local webhook testing, deploy verification, instance config, env keys, feature toggles, and any Clerk Backend, Platform, or Frontend API call. Use when the user mentions Clerk management tasks, \"list clerk users\", \"impersonate a user\", \"test webhooks locally\", \"enable orgs\", \"enable billing\", \"clerk env pull\", \"clerk doctor\", \"clerk deploy\", \"clerk api\", or any ad-hoc Clerk API request. Prefer the CLI over raw HTTP: it handles auth, key resolution, app\u002Finstance targeting, and formatting automatically.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5504,5505,5506,5507,5510,5513],{"name":5463,"slug":5464,"type":15},{"name":5415,"slug":5416,"type":15},{"name":9,"slug":8,"type":15},{"name":5508,"slug":5509,"type":15},"CLI","cli",{"name":5511,"slug":5512,"type":15},"Deployment","deployment",{"name":13,"slug":14,"type":15},"2026-07-31T05:52:40.580813",{"slug":5398,"name":5398,"fn":5516,"description":5517,"org":5518,"tags":5519,"stars":26,"repoUrl":27,"updatedAt":5529},"customize Clerk UI and auth flows","Custom authentication flows and component appearance - hooks (useSignIn, useSignUp), themes, colors, fonts, CSS. Use for custom sign-in\u002Fsign-up flows, appearance styling, visual customization, branding.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5520,5521,5524,5525,5528],{"name":5415,"slug":5416,"type":15},{"name":5522,"slug":5523,"type":15},"Branding","branding",{"name":9,"slug":8,"type":15},{"name":5526,"slug":5527,"type":15},"Design","design",{"name":24,"slug":25,"type":15},"2026-04-10T05:00:10.109158",{"slug":5531,"name":5531,"fn":5532,"description":5533,"org":5534,"tags":5535,"stars":26,"repoUrl":27,"updatedAt":5546},"clerk-expo","implement Clerk authentication in Expo apps","Add Clerk authentication to Expo and React Native apps using @clerk\u002Fexpo. Use for Expo setup, prebuilt native components (AuthView, UserButton), custom sign-in\u002Fsign-up flows (email, password, SMS\u002Fphone OTP, MFA), OAuth\u002FSSO, native Google\u002FApple sign-in, Expo Router protected routes, biometrics, and push notifications. Do not use for native Swift\u002FiOS, native Android\u002FKotlin, or web-only framework projects.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5536,5537,5538,5541,5542,5543],{"name":5415,"slug":5416,"type":15},{"name":9,"slug":8,"type":15},{"name":5539,"slug":5540,"type":15},"Expo","expo",{"name":24,"slug":25,"type":15},{"name":5419,"slug":5420,"type":15},{"name":5544,"slug":5545,"type":15},"React Native","react-native","2026-05-19T06:48:47.074181",{"slug":5548,"name":5548,"fn":5549,"description":5550,"org":5551,"tags":5552,"stars":26,"repoUrl":27,"updatedAt":5561},"clerk-nextjs-patterns","implement advanced Next.js patterns with Clerk","Advanced Next.js patterns - middleware, Server Actions, caching with Clerk.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5553,5554,5555,5558],{"name":9,"slug":8,"type":15},{"name":24,"slug":25,"type":15},{"name":5556,"slug":5557,"type":15},"Next.js","next-js",{"name":5559,"slug":5560,"type":15},"Performance","performance","2026-04-10T05:00:15.80215",{"slug":5563,"name":5563,"fn":5564,"description":5565,"org":5566,"tags":5567,"stars":26,"repoUrl":27,"updatedAt":5575},"clerk-nuxt-patterns","implement Clerk auth in Nuxt 3 apps","Nuxt 3 auth patterns with @clerk\u002Fnuxt - middleware, composables, server API routes, SSR. Triggers on: Nuxt auth, useAuth composable, clerkMiddleware Nuxt, server API Clerk, Nuxt route protection.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5568,5569,5570,5571,5572],{"name":5415,"slug":5416,"type":15},{"name":5467,"slug":5468,"type":15},{"name":9,"slug":8,"type":15},{"name":24,"slug":25,"type":15},{"name":5573,"slug":5574,"type":15},"Nuxt","nuxt","2026-04-07T04:46:18.337538",{"slug":5577,"name":5577,"fn":5578,"description":5579,"org":5580,"tags":5581,"stars":26,"repoUrl":27,"updatedAt":5590},"clerk-orgs","manage Clerk Organizations for B2B SaaS","Clerk Organizations for B2B SaaS - create multi-tenant apps with org switching, role-based access, verified domains, and enterprise SSO. Use for team workspaces, RBAC, org-based routing, member management.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5582,5583,5586,5589],{"name":9,"slug":8,"type":15},{"name":5584,"slug":5585,"type":15},"Multi-Tenant","multi-tenant",{"name":5587,"slug":5588,"type":15},"RBAC","rbac",{"name":5487,"slug":5488,"type":15},"2026-04-10T05:00:14.40165",{"items":5592,"total":1139},[5593,5600,5607,5615,5623,5631,5639],{"slug":8,"name":8,"fn":5410,"description":5411,"org":5594,"tags":5595,"stars":26,"repoUrl":27,"updatedAt":5424},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5596,5597,5598,5599],{"name":5415,"slug":5416,"type":15},{"name":9,"slug":8,"type":15},{"name":5419,"slug":5420,"type":15},{"name":5422,"slug":5423,"type":15},{"slug":5426,"name":5426,"fn":5427,"description":5428,"org":5601,"tags":5602,"stars":26,"repoUrl":27,"updatedAt":5439},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5603,5604,5605,5606],{"name":5432,"slug":5433,"type":15},{"name":9,"slug":8,"type":15},{"name":5436,"slug":5437,"type":15},{"name":5419,"slug":5420,"type":15},{"slug":5441,"name":5441,"fn":5442,"description":5443,"org":5608,"tags":5609,"stars":26,"repoUrl":27,"updatedAt":5455},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5610,5611,5612,5613,5614],{"name":5447,"slug":5448,"type":15},{"name":5415,"slug":5416,"type":15},{"name":9,"slug":8,"type":15},{"name":24,"slug":25,"type":15},{"name":5453,"slug":5454,"type":15},{"slug":5457,"name":5457,"fn":5458,"description":5459,"org":5616,"tags":5617,"stars":26,"repoUrl":27,"updatedAt":5473},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5618,5619,5620,5621,5622],{"name":5463,"slug":5464,"type":15},{"name":5415,"slug":5416,"type":15},{"name":5467,"slug":5468,"type":15},{"name":9,"slug":8,"type":15},{"name":5471,"slug":5472,"type":15},{"slug":5475,"name":5475,"fn":5476,"description":5477,"org":5624,"tags":5625,"stars":26,"repoUrl":27,"updatedAt":5489},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5626,5627,5628,5629,5630],{"name":5415,"slug":5416,"type":15},{"name":9,"slug":8,"type":15},{"name":24,"slug":25,"type":15},{"name":5484,"slug":5485,"type":15},{"name":5487,"slug":5488,"type":15},{"slug":4,"name":4,"fn":5,"description":6,"org":5632,"tags":5633,"stars":26,"repoUrl":27,"updatedAt":28},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5634,5635,5636,5637,5638],{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":24,"slug":25,"type":15},{"name":21,"slug":22,"type":15},{"name":13,"slug":14,"type":15},{"slug":5499,"name":5499,"fn":5500,"description":5501,"org":5640,"tags":5641,"stars":26,"repoUrl":27,"updatedAt":5514},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5642,5643,5644,5645,5646,5647],{"name":5463,"slug":5464,"type":15},{"name":5415,"slug":5416,"type":15},{"name":9,"slug":8,"type":15},{"name":5508,"slug":5509,"type":15},{"name":5511,"slug":5512,"type":15},{"name":13,"slug":14,"type":15}]