Skip to content

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

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 6 commits into from

Conversation

tmilewski
Copy link
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
Copy link

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
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
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
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
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
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