Skip to content

feat(chrome-extension,shared): Expand WebSSO capabilities. [SDK-836]#2246

Closed
tmilewski wants to merge 6 commits intomainfrom
chrome-extension-dev-cookies
Closed

feat(chrome-extension,shared): Expand WebSSO capabilities. [SDK-836]#2246
tmilewski wants to merge 6 commits intomainfrom
chrome-extension-dev-cookies

Conversation

@tmilewski
Copy link
Copy Markdown
Member

Description

Enables the ability to sync development instances of a Chrome Extension with a host app using URL-based session syncing.

More information: https://www.notion.so/clerkdev/Chrome-extensions-and-URL-based-session-syncing-135e04959e664b26a2076fc031174460

Fixes SDK-836

Checklist

  • npm test runs as expected.
  • npm run build runs as expected.
  • (If applicable) JSDoc comments have been added or updated for any package exports
  • (If applicable) Documentation has been updated

Type of change

  • 🐛 Bug fix
  • 🌟 New feature
  • 🔨 Breaking change
  • 📖 Refactoring / dependency upgrade / documentation
  • other:

Packages affected

  • @clerk/backend
  • @clerk/chrome-extension
  • @clerk/clerk-js
  • @clerk/clerk-expo
  • @clerk/fastify
  • gatsby-plugin-clerk
  • @clerk/localizations
  • @clerk/nextjs
  • @clerk/clerk-react
  • @clerk/remix
  • @clerk/clerk-sdk-node
  • @clerk/shared
  • @clerk/themes
  • @clerk/types
  • build/tooling/chore

@tmilewski tmilewski self-assigned this Dec 1, 2023
@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Dec 1, 2023

🦋 Changeset detected

Latest commit: 7d73465

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 11 packages
Name Type
@clerk/chrome-extension Major
@clerk/clerk-js Minor
@clerk/shared Minor
@clerk/clerk-expo Patch
@clerk/backend Patch
@clerk/fastify Patch
@clerk/nextjs Patch
@clerk/clerk-react Patch
@clerk/remix Patch
@clerk/clerk-sdk-node Patch
gatsby-plugin-clerk Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@tmilewski tmilewski force-pushed the chrome-extension-dev-cookies branch 2 times, most recently from 5a4ae89 to 9e5ebbd Compare December 1, 2023 23:04
@tmilewski tmilewski marked this pull request as ready for review December 1, 2023 23:05
@tmilewski tmilewski requested a review from dimkl December 2, 2023 20:52
@tmilewski
Copy link
Copy Markdown
Member Author

Swapping back to draft as I submitted an alternate approach to this in #2249. Open to discussion.

@tmilewski tmilewski marked this pull request as draft December 4, 2023 00:23
@@ -0,0 +1,19 @@
export function validateManifest(manifest: chrome.runtime.Manifest): void {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💯 Awesome addition!

// TODO: Listen to client cookie changes and sync updates
// https://developer.chrome.com/docs/extensions/reference/cookies/#event-onChanged
// Will throw if manifest is invalid
validateManifest(chrome.runtime.getManifest());
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎖️

requestInit.url?.searchParams.append('_is_native', '1');
const clientCookie = await (key.instanceType === 'production'
? getClientCookie(key.frontendApi, CLIENT_JWT_KEY)
: getClientCookie(syncSessionHost, DEV_BROWSER_JWT_MARKER)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems that we can get the syncSessionHost from manifest.json and remove the need for the extra prop.

@tmilewski
Copy link
Copy Markdown
Member Author

Closing in favor of #2277, which is basically this with a few additions. The new PR was created due to some rebase oddities with the Chrome playground PR.

@tmilewski tmilewski closed this Dec 10, 2023
@tmilewski tmilewski deleted the chrome-extension-dev-cookies branch March 29, 2024 13:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants