Skip to content

Client handshake tests - #2265

Merged
colinclerk merged 7 commits into
client_handshakefrom
client_handshake_tests
Dec 5, 2023
Merged

Client handshake tests#2265
colinclerk merged 7 commits into
client_handshakefrom
client_handshake_tests

Conversation

@colinclerk

Copy link
Copy Markdown
Member

Description

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

@changeset-bot

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 4c0f2e0

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

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

@colinclerk
colinclerk merged commit ac06bf2 into client_handshakeDec 5, 2023
@colinclerk
colinclerk deleted the client_handshake_tests branch December 5, 2023 11:15
"@clerk/clerk-react": "file:.yalc/@clerk/clerk-react",
"@clerk/nextjs": "file:.yalc/@clerk/nextjs",
"@clerk/shared": "file:.yalc/@clerk/shared",
"@clerk/types": "file:.yalc/@clerk/types",

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.

i think this change will not work for tests running in our CICD and will break the integration tests. As far as i know we don't depend on yalc in the integration tests.
cc: @nikosdouvlis

nikosdouvlis added a commit that referenced this pull request Dec 6, 2023
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
brkalow added a commit that referenced this pull request Dec 12, 2023
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
brkalow added a commit that referenced this pull request Dec 12, 2023
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
SokratisVidros pushed a commit that referenced this pull request Dec 13, 2023
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
SokratisVidros added a commit that referenced this pull request Dec 13, 2023
* feat(backend): Try the new Client Handshake mechanism
* feat(backend): Update authenticateRequest handler to support multi-domain handshake
* feat(repo): Introduce tests for client handshake (#2265)
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
* chore(backend): Refactor authenticateRequest to clarify logic
* fix(backend): Fix options passing to authenticateRequest
* feat(backend): Add sec-fetch-dest check for satellite sync, adjust tests to support additional URLs
* feat(backend): Account for clock skew in dev, but still log error
* feat(backend): Refactor backend tests to account for recent refactoring to authenticateRequest
* feat(backend): Treat handshake payload as a signed jwt
* fix(backend): Add tests and adjust logic to ensure existing tests pass
* chore(backend): Refactor tests to conform to new method signature
* chore(repo): Add changeset
* feat(*): Drop interstitial (#2304)
* feat(backend): Remove interstitial endpoints
* feat(backend,types): Remove local interstitial script
* feat(types): Clean retheme types
* feat(backend): Remove interstitial and interstitial rules
* feat(clerk-js): Remove interstitial from clerk-js
* feat(nextjs): Remove interstitial from authMiddleware
* feat(fastify): Remove interstitial
* feat(gatsby-plugin-clerk): Remove interstitial
* feat(remix): Remove interstitial
* feat(clerk-sdk-node): Remove interstitial
* fix(nextjs): Always respect redirect header if found
As it's possible that we trigger a redirect from authenticateRequest that isn't a handshake status (dev multi-domain sync, for example)
* chore(repo): Fix sdk tests
* fix(clerk-js): Fix tests related to db-jwt
* fix(clerk-js): Keep hasJustSynced check
* chore(*): Fix linter
* chore(backend): Remove unused AuthErrorReason properties, destructure from authenticateContext
* chore(clerk-js): Remove unused @ts-expect-error directive
* fix: Address build issues in sdk-node
* fix(remix): Correct Remix build issues
* chore(repo): Apply linting fixes
---------
Co-authored-by: Sokratis Vidros <sokratis.vidros@gmail.com>
Co-authored-by: Colin Sidoti <51144033+colinclerk@users.noreply.github.com>
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Colin Sidoti <colin@clerk.dev>
nikosdouvlis added a commit that referenced this pull request Dec 13, 2023
…#2331)
* feat(backend): Try the new Client Handshake mechanism
* feat(backend): Update authenticateRequest handler to support multi-domain handshake
* feat(repo): Introduce tests for client handshake (#2265)
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
* chore(backend): Refactor authenticateRequest to clarify logic
* fix(backend): Fix options passing to authenticateRequest
* feat(backend): Add sec-fetch-dest check for satellite sync, adjust tests to support additional URLs
* feat(backend): Account for clock skew in dev, but still log error
* feat(backend): Refactor backend tests to account for recent refactoring to authenticateRequest
* feat(backend): Treat handshake payload as a signed jwt
* fix(backend): Add tests and adjust logic to ensure existing tests pass
* chore(backend): Refactor tests to conform to new method signature
* chore(repo): Add changeset
* feat(*): Drop interstitial (#2304)
* feat(backend): Remove interstitial endpoints
* feat(backend,types): Remove local interstitial script
* feat(types): Clean retheme types
* feat(backend): Remove interstitial and interstitial rules
* feat(clerk-js): Remove interstitial from clerk-js
* feat(nextjs): Remove interstitial from authMiddleware
* feat(fastify): Remove interstitial
* feat(gatsby-plugin-clerk): Remove interstitial
* feat(remix): Remove interstitial
* feat(clerk-sdk-node): Remove interstitial
* fix(nextjs): Always respect redirect header if found
As it's possible that we trigger a redirect from authenticateRequest that isn't a handshake status (dev multi-domain sync, for example)
* chore(repo): Fix sdk tests
* fix(clerk-js): Fix tests related to db-jwt
* fix(clerk-js): Keep hasJustSynced check
* chore(*): Fix linter
* chore(backend): Remove unused AuthErrorReason properties, destructure from authenticateContext
* chore(clerk-js): Remove unused @ts-expect-error directive
* feat(repo): Migrate handshake tests to e2e test suite
* fix(nextjs): Ensure we respect location header from authenticateRequest() regardless of auth status
* Create bright-ways-provide.md
* chore(clerk-sdk-node): Properly export createClerkClient
* chore(clerk-sdk-node): Properly export createClerkClient
* fix(nextjs): Fix undefined headers in tests
---------
Co-authored-by: Sokratis Vidros <sokratis.vidros@gmail.com>
Co-authored-by: Colin Sidoti <51144033+colinclerk@users.noreply.github.com>
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Colin Sidoti <colin@clerk.dev>
octoper pushed a commit that referenced this pull request Dec 13, 2023
* feat(backend): Try the new Client Handshake mechanism
* feat(backend): Update authenticateRequest handler to support multi-domain handshake
* feat(repo): Introduce tests for client handshake (#2265)
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
* chore(backend): Refactor authenticateRequest to clarify logic
* fix(backend): Fix options passing to authenticateRequest
* feat(backend): Add sec-fetch-dest check for satellite sync, adjust tests to support additional URLs
* feat(backend): Account for clock skew in dev, but still log error
* feat(backend): Refactor backend tests to account for recent refactoring to authenticateRequest
* feat(backend): Treat handshake payload as a signed jwt
* fix(backend): Add tests and adjust logic to ensure existing tests pass
* chore(backend): Refactor tests to conform to new method signature
* chore(repo): Add changeset
* feat(*): Drop interstitial (#2304)
* feat(backend): Remove interstitial endpoints
* feat(backend,types): Remove local interstitial script
* feat(types): Clean retheme types
* feat(backend): Remove interstitial and interstitial rules
* feat(clerk-js): Remove interstitial from clerk-js
* feat(nextjs): Remove interstitial from authMiddleware
* feat(fastify): Remove interstitial
* feat(gatsby-plugin-clerk): Remove interstitial
* feat(remix): Remove interstitial
* feat(clerk-sdk-node): Remove interstitial
* fix(nextjs): Always respect redirect header if found
As it's possible that we trigger a redirect from authenticateRequest that isn't a handshake status (dev multi-domain sync, for example)
* chore(repo): Fix sdk tests
* fix(clerk-js): Fix tests related to db-jwt
* fix(clerk-js): Keep hasJustSynced check
* chore(*): Fix linter
* chore(backend): Remove unused AuthErrorReason properties, destructure from authenticateContext
* chore(clerk-js): Remove unused @ts-expect-error directive
* fix: Address build issues in sdk-node
* fix(remix): Correct Remix build issues
* chore(repo): Apply linting fixes
---------
Co-authored-by: Sokratis Vidros <sokratis.vidros@gmail.com>
Co-authored-by: Colin Sidoti <51144033+colinclerk@users.noreply.github.com>
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Colin Sidoti <colin@clerk.dev>
octoper pushed a commit that referenced this pull request Dec 13, 2023
…#2331)
* feat(backend): Try the new Client Handshake mechanism
* feat(backend): Update authenticateRequest handler to support multi-domain handshake
* feat(repo): Introduce tests for client handshake (#2265)
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
* chore(backend): Refactor authenticateRequest to clarify logic
* fix(backend): Fix options passing to authenticateRequest
* feat(backend): Add sec-fetch-dest check for satellite sync, adjust tests to support additional URLs
* feat(backend): Account for clock skew in dev, but still log error
* feat(backend): Refactor backend tests to account for recent refactoring to authenticateRequest
* feat(backend): Treat handshake payload as a signed jwt
* fix(backend): Add tests and adjust logic to ensure existing tests pass
* chore(backend): Refactor tests to conform to new method signature
* chore(repo): Add changeset
* feat(*): Drop interstitial (#2304)
* feat(backend): Remove interstitial endpoints
* feat(backend,types): Remove local interstitial script
* feat(types): Clean retheme types
* feat(backend): Remove interstitial and interstitial rules
* feat(clerk-js): Remove interstitial from clerk-js
* feat(nextjs): Remove interstitial from authMiddleware
* feat(fastify): Remove interstitial
* feat(gatsby-plugin-clerk): Remove interstitial
* feat(remix): Remove interstitial
* feat(clerk-sdk-node): Remove interstitial
* fix(nextjs): Always respect redirect header if found
As it's possible that we trigger a redirect from authenticateRequest that isn't a handshake status (dev multi-domain sync, for example)
* chore(repo): Fix sdk tests
* fix(clerk-js): Fix tests related to db-jwt
* fix(clerk-js): Keep hasJustSynced check
* chore(*): Fix linter
* chore(backend): Remove unused AuthErrorReason properties, destructure from authenticateContext
* chore(clerk-js): Remove unused @ts-expect-error directive
* feat(repo): Migrate handshake tests to e2e test suite
* fix(nextjs): Ensure we respect location header from authenticateRequest() regardless of auth status
* Create bright-ways-provide.md
* chore(clerk-sdk-node): Properly export createClerkClient
* chore(clerk-sdk-node): Properly export createClerkClient
* fix(nextjs): Fix undefined headers in tests
---------
Co-authored-by: Sokratis Vidros <sokratis.vidros@gmail.com>
Co-authored-by: Colin Sidoti <51144033+colinclerk@users.noreply.github.com>
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Colin Sidoti <colin@clerk.dev>
Sign up for freeto 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.

5 participants

@colinclerk@dimkl@clerk-cookie@nikosdouvlis@brkalow
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Client handshake tests by colinclerk · Pull Request #2265 · clerk/javascript · GitHub
Skip to content

Client handshake tests - #2265

Merged
colinclerk merged 7 commits into
client_handshakefrom
client_handshake_tests
Dec 5, 2023
Merged

Client handshake tests#2265
colinclerk merged 7 commits into
client_handshakefrom
client_handshake_tests

Conversation

@colinclerk

Copy link
Copy Markdown
Member

Description

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

@changeset-bot

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 4c0f2e0

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

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

@colinclerk
colinclerk merged commit ac06bf2 into client_handshakeDec 5, 2023
@colinclerk
colinclerk deleted the client_handshake_tests branch December 5, 2023 11:15
"@clerk/clerk-react": "file:.yalc/@clerk/clerk-react",
"@clerk/nextjs": "file:.yalc/@clerk/nextjs",
"@clerk/shared": "file:.yalc/@clerk/shared",
"@clerk/types": "file:.yalc/@clerk/types",

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.

i think this change will not work for tests running in our CICD and will break the integration tests. As far as i know we don't depend on yalc in the integration tests.
cc: @nikosdouvlis

nikosdouvlis added a commit that referenced this pull request Dec 6, 2023
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
brkalow added a commit that referenced this pull request Dec 12, 2023
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
brkalow added a commit that referenced this pull request Dec 12, 2023
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
SokratisVidros pushed a commit that referenced this pull request Dec 13, 2023
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
SokratisVidros added a commit that referenced this pull request Dec 13, 2023
* feat(backend): Try the new Client Handshake mechanism
* feat(backend): Update authenticateRequest handler to support multi-domain handshake
* feat(repo): Introduce tests for client handshake (#2265)
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
* chore(backend): Refactor authenticateRequest to clarify logic
* fix(backend): Fix options passing to authenticateRequest
* feat(backend): Add sec-fetch-dest check for satellite sync, adjust tests to support additional URLs
* feat(backend): Account for clock skew in dev, but still log error
* feat(backend): Refactor backend tests to account for recent refactoring to authenticateRequest
* feat(backend): Treat handshake payload as a signed jwt
* fix(backend): Add tests and adjust logic to ensure existing tests pass
* chore(backend): Refactor tests to conform to new method signature
* chore(repo): Add changeset
* feat(*): Drop interstitial (#2304)
* feat(backend): Remove interstitial endpoints
* feat(backend,types): Remove local interstitial script
* feat(types): Clean retheme types
* feat(backend): Remove interstitial and interstitial rules
* feat(clerk-js): Remove interstitial from clerk-js
* feat(nextjs): Remove interstitial from authMiddleware
* feat(fastify): Remove interstitial
* feat(gatsby-plugin-clerk): Remove interstitial
* feat(remix): Remove interstitial
* feat(clerk-sdk-node): Remove interstitial
* fix(nextjs): Always respect redirect header if found
As it's possible that we trigger a redirect from authenticateRequest that isn't a handshake status (dev multi-domain sync, for example)
* chore(repo): Fix sdk tests
* fix(clerk-js): Fix tests related to db-jwt
* fix(clerk-js): Keep hasJustSynced check
* chore(*): Fix linter
* chore(backend): Remove unused AuthErrorReason properties, destructure from authenticateContext
* chore(clerk-js): Remove unused @ts-expect-error directive
* fix: Address build issues in sdk-node
* fix(remix): Correct Remix build issues
* chore(repo): Apply linting fixes
---------
Co-authored-by: Sokratis Vidros <sokratis.vidros@gmail.com>
Co-authored-by: Colin Sidoti <51144033+colinclerk@users.noreply.github.com>
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Colin Sidoti <colin@clerk.dev>
nikosdouvlis added a commit that referenced this pull request Dec 13, 2023
…#2331)
* feat(backend): Try the new Client Handshake mechanism
* feat(backend): Update authenticateRequest handler to support multi-domain handshake
* feat(repo): Introduce tests for client handshake (#2265)
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
* chore(backend): Refactor authenticateRequest to clarify logic
* fix(backend): Fix options passing to authenticateRequest
* feat(backend): Add sec-fetch-dest check for satellite sync, adjust tests to support additional URLs
* feat(backend): Account for clock skew in dev, but still log error
* feat(backend): Refactor backend tests to account for recent refactoring to authenticateRequest
* feat(backend): Treat handshake payload as a signed jwt
* fix(backend): Add tests and adjust logic to ensure existing tests pass
* chore(backend): Refactor tests to conform to new method signature
* chore(repo): Add changeset
* feat(*): Drop interstitial (#2304)
* feat(backend): Remove interstitial endpoints
* feat(backend,types): Remove local interstitial script
* feat(types): Clean retheme types
* feat(backend): Remove interstitial and interstitial rules
* feat(clerk-js): Remove interstitial from clerk-js
* feat(nextjs): Remove interstitial from authMiddleware
* feat(fastify): Remove interstitial
* feat(gatsby-plugin-clerk): Remove interstitial
* feat(remix): Remove interstitial
* feat(clerk-sdk-node): Remove interstitial
* fix(nextjs): Always respect redirect header if found
As it's possible that we trigger a redirect from authenticateRequest that isn't a handshake status (dev multi-domain sync, for example)
* chore(repo): Fix sdk tests
* fix(clerk-js): Fix tests related to db-jwt
* fix(clerk-js): Keep hasJustSynced check
* chore(*): Fix linter
* chore(backend): Remove unused AuthErrorReason properties, destructure from authenticateContext
* chore(clerk-js): Remove unused @ts-expect-error directive
* feat(repo): Migrate handshake tests to e2e test suite
* fix(nextjs): Ensure we respect location header from authenticateRequest() regardless of auth status
* Create bright-ways-provide.md
* chore(clerk-sdk-node): Properly export createClerkClient
* chore(clerk-sdk-node): Properly export createClerkClient
* fix(nextjs): Fix undefined headers in tests
---------
Co-authored-by: Sokratis Vidros <sokratis.vidros@gmail.com>
Co-authored-by: Colin Sidoti <51144033+colinclerk@users.noreply.github.com>
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Colin Sidoti <colin@clerk.dev>
octoper pushed a commit that referenced this pull request Dec 13, 2023
* feat(backend): Try the new Client Handshake mechanism
* feat(backend): Update authenticateRequest handler to support multi-domain handshake
* feat(repo): Introduce tests for client handshake (#2265)
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
* chore(backend): Refactor authenticateRequest to clarify logic
* fix(backend): Fix options passing to authenticateRequest
* feat(backend): Add sec-fetch-dest check for satellite sync, adjust tests to support additional URLs
* feat(backend): Account for clock skew in dev, but still log error
* feat(backend): Refactor backend tests to account for recent refactoring to authenticateRequest
* feat(backend): Treat handshake payload as a signed jwt
* fix(backend): Add tests and adjust logic to ensure existing tests pass
* chore(backend): Refactor tests to conform to new method signature
* chore(repo): Add changeset
* feat(*): Drop interstitial (#2304)
* feat(backend): Remove interstitial endpoints
* feat(backend,types): Remove local interstitial script
* feat(types): Clean retheme types
* feat(backend): Remove interstitial and interstitial rules
* feat(clerk-js): Remove interstitial from clerk-js
* feat(nextjs): Remove interstitial from authMiddleware
* feat(fastify): Remove interstitial
* feat(gatsby-plugin-clerk): Remove interstitial
* feat(remix): Remove interstitial
* feat(clerk-sdk-node): Remove interstitial
* fix(nextjs): Always respect redirect header if found
As it's possible that we trigger a redirect from authenticateRequest that isn't a handshake status (dev multi-domain sync, for example)
* chore(repo): Fix sdk tests
* fix(clerk-js): Fix tests related to db-jwt
* fix(clerk-js): Keep hasJustSynced check
* chore(*): Fix linter
* chore(backend): Remove unused AuthErrorReason properties, destructure from authenticateContext
* chore(clerk-js): Remove unused @ts-expect-error directive
* fix: Address build issues in sdk-node
* fix(remix): Correct Remix build issues
* chore(repo): Apply linting fixes
---------
Co-authored-by: Sokratis Vidros <sokratis.vidros@gmail.com>
Co-authored-by: Colin Sidoti <51144033+colinclerk@users.noreply.github.com>
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Colin Sidoti <colin@clerk.dev>
octoper pushed a commit that referenced this pull request Dec 13, 2023
…#2331)
* feat(backend): Try the new Client Handshake mechanism
* feat(backend): Update authenticateRequest handler to support multi-domain handshake
* feat(repo): Introduce tests for client handshake (#2265)
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
* chore(backend): Refactor authenticateRequest to clarify logic
* fix(backend): Fix options passing to authenticateRequest
* feat(backend): Add sec-fetch-dest check for satellite sync, adjust tests to support additional URLs
* feat(backend): Account for clock skew in dev, but still log error
* feat(backend): Refactor backend tests to account for recent refactoring to authenticateRequest
* feat(backend): Treat handshake payload as a signed jwt
* fix(backend): Add tests and adjust logic to ensure existing tests pass
* chore(backend): Refactor tests to conform to new method signature
* chore(repo): Add changeset
* feat(*): Drop interstitial (#2304)
* feat(backend): Remove interstitial endpoints
* feat(backend,types): Remove local interstitial script
* feat(types): Clean retheme types
* feat(backend): Remove interstitial and interstitial rules
* feat(clerk-js): Remove interstitial from clerk-js
* feat(nextjs): Remove interstitial from authMiddleware
* feat(fastify): Remove interstitial
* feat(gatsby-plugin-clerk): Remove interstitial
* feat(remix): Remove interstitial
* feat(clerk-sdk-node): Remove interstitial
* fix(nextjs): Always respect redirect header if found
As it's possible that we trigger a redirect from authenticateRequest that isn't a handshake status (dev multi-domain sync, for example)
* chore(repo): Fix sdk tests
* fix(clerk-js): Fix tests related to db-jwt
* fix(clerk-js): Keep hasJustSynced check
* chore(*): Fix linter
* chore(backend): Remove unused AuthErrorReason properties, destructure from authenticateContext
* chore(clerk-js): Remove unused @ts-expect-error directive
* feat(repo): Migrate handshake tests to e2e test suite
* fix(nextjs): Ensure we respect location header from authenticateRequest() regardless of auth status
* Create bright-ways-provide.md
* chore(clerk-sdk-node): Properly export createClerkClient
* chore(clerk-sdk-node): Properly export createClerkClient
* fix(nextjs): Fix undefined headers in tests
---------
Co-authored-by: Sokratis Vidros <sokratis.vidros@gmail.com>
Co-authored-by: Colin Sidoti <51144033+colinclerk@users.noreply.github.com>
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Colin Sidoti <colin@clerk.dev>
Sign up for freeto 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.

5 participants

@colinclerk@dimkl@clerk-cookie@nikosdouvlis@brkalow
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Client handshake tests by colinclerk · Pull Request #2265 · clerk/javascript · GitHub
Skip to content

Client handshake tests - #2265

Merged
colinclerk merged 7 commits into
client_handshakefrom
client_handshake_tests
Dec 5, 2023
Merged

Client handshake tests#2265
colinclerk merged 7 commits into
client_handshakefrom
client_handshake_tests

Conversation

@colinclerk

Copy link
Copy Markdown
Member

Description

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

@changeset-bot

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 4c0f2e0

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

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

@colinclerk
colinclerk merged commit ac06bf2 into client_handshakeDec 5, 2023
@colinclerk
colinclerk deleted the client_handshake_tests branch December 5, 2023 11:15
"@clerk/clerk-react": "file:.yalc/@clerk/clerk-react",
"@clerk/nextjs": "file:.yalc/@clerk/nextjs",
"@clerk/shared": "file:.yalc/@clerk/shared",
"@clerk/types": "file:.yalc/@clerk/types",

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.

i think this change will not work for tests running in our CICD and will break the integration tests. As far as i know we don't depend on yalc in the integration tests.
cc: @nikosdouvlis

nikosdouvlis added a commit that referenced this pull request Dec 6, 2023
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
brkalow added a commit that referenced this pull request Dec 12, 2023
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
brkalow added a commit that referenced this pull request Dec 12, 2023
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
SokratisVidros pushed a commit that referenced this pull request Dec 13, 2023
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
SokratisVidros added a commit that referenced this pull request Dec 13, 2023
* feat(backend): Try the new Client Handshake mechanism
* feat(backend): Update authenticateRequest handler to support multi-domain handshake
* feat(repo): Introduce tests for client handshake (#2265)
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
* chore(backend): Refactor authenticateRequest to clarify logic
* fix(backend): Fix options passing to authenticateRequest
* feat(backend): Add sec-fetch-dest check for satellite sync, adjust tests to support additional URLs
* feat(backend): Account for clock skew in dev, but still log error
* feat(backend): Refactor backend tests to account for recent refactoring to authenticateRequest
* feat(backend): Treat handshake payload as a signed jwt
* fix(backend): Add tests and adjust logic to ensure existing tests pass
* chore(backend): Refactor tests to conform to new method signature
* chore(repo): Add changeset
* feat(*): Drop interstitial (#2304)
* feat(backend): Remove interstitial endpoints
* feat(backend,types): Remove local interstitial script
* feat(types): Clean retheme types
* feat(backend): Remove interstitial and interstitial rules
* feat(clerk-js): Remove interstitial from clerk-js
* feat(nextjs): Remove interstitial from authMiddleware
* feat(fastify): Remove interstitial
* feat(gatsby-plugin-clerk): Remove interstitial
* feat(remix): Remove interstitial
* feat(clerk-sdk-node): Remove interstitial
* fix(nextjs): Always respect redirect header if found
As it's possible that we trigger a redirect from authenticateRequest that isn't a handshake status (dev multi-domain sync, for example)
* chore(repo): Fix sdk tests
* fix(clerk-js): Fix tests related to db-jwt
* fix(clerk-js): Keep hasJustSynced check
* chore(*): Fix linter
* chore(backend): Remove unused AuthErrorReason properties, destructure from authenticateContext
* chore(clerk-js): Remove unused @ts-expect-error directive
* fix: Address build issues in sdk-node
* fix(remix): Correct Remix build issues
* chore(repo): Apply linting fixes
---------
Co-authored-by: Sokratis Vidros <sokratis.vidros@gmail.com>
Co-authored-by: Colin Sidoti <51144033+colinclerk@users.noreply.github.com>
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Colin Sidoti <colin@clerk.dev>
nikosdouvlis added a commit that referenced this pull request Dec 13, 2023
…#2331)
* feat(backend): Try the new Client Handshake mechanism
* feat(backend): Update authenticateRequest handler to support multi-domain handshake
* feat(repo): Introduce tests for client handshake (#2265)
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
* chore(backend): Refactor authenticateRequest to clarify logic
* fix(backend): Fix options passing to authenticateRequest
* feat(backend): Add sec-fetch-dest check for satellite sync, adjust tests to support additional URLs
* feat(backend): Account for clock skew in dev, but still log error
* feat(backend): Refactor backend tests to account for recent refactoring to authenticateRequest
* feat(backend): Treat handshake payload as a signed jwt
* fix(backend): Add tests and adjust logic to ensure existing tests pass
* chore(backend): Refactor tests to conform to new method signature
* chore(repo): Add changeset
* feat(*): Drop interstitial (#2304)
* feat(backend): Remove interstitial endpoints
* feat(backend,types): Remove local interstitial script
* feat(types): Clean retheme types
* feat(backend): Remove interstitial and interstitial rules
* feat(clerk-js): Remove interstitial from clerk-js
* feat(nextjs): Remove interstitial from authMiddleware
* feat(fastify): Remove interstitial
* feat(gatsby-plugin-clerk): Remove interstitial
* feat(remix): Remove interstitial
* feat(clerk-sdk-node): Remove interstitial
* fix(nextjs): Always respect redirect header if found
As it's possible that we trigger a redirect from authenticateRequest that isn't a handshake status (dev multi-domain sync, for example)
* chore(repo): Fix sdk tests
* fix(clerk-js): Fix tests related to db-jwt
* fix(clerk-js): Keep hasJustSynced check
* chore(*): Fix linter
* chore(backend): Remove unused AuthErrorReason properties, destructure from authenticateContext
* chore(clerk-js): Remove unused @ts-expect-error directive
* feat(repo): Migrate handshake tests to e2e test suite
* fix(nextjs): Ensure we respect location header from authenticateRequest() regardless of auth status
* Create bright-ways-provide.md
* chore(clerk-sdk-node): Properly export createClerkClient
* chore(clerk-sdk-node): Properly export createClerkClient
* fix(nextjs): Fix undefined headers in tests
---------
Co-authored-by: Sokratis Vidros <sokratis.vidros@gmail.com>
Co-authored-by: Colin Sidoti <51144033+colinclerk@users.noreply.github.com>
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Colin Sidoti <colin@clerk.dev>
octoper pushed a commit that referenced this pull request Dec 13, 2023
* feat(backend): Try the new Client Handshake mechanism
* feat(backend): Update authenticateRequest handler to support multi-domain handshake
* feat(repo): Introduce tests for client handshake (#2265)
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
* chore(backend): Refactor authenticateRequest to clarify logic
* fix(backend): Fix options passing to authenticateRequest
* feat(backend): Add sec-fetch-dest check for satellite sync, adjust tests to support additional URLs
* feat(backend): Account for clock skew in dev, but still log error
* feat(backend): Refactor backend tests to account for recent refactoring to authenticateRequest
* feat(backend): Treat handshake payload as a signed jwt
* fix(backend): Add tests and adjust logic to ensure existing tests pass
* chore(backend): Refactor tests to conform to new method signature
* chore(repo): Add changeset
* feat(*): Drop interstitial (#2304)
* feat(backend): Remove interstitial endpoints
* feat(backend,types): Remove local interstitial script
* feat(types): Clean retheme types
* feat(backend): Remove interstitial and interstitial rules
* feat(clerk-js): Remove interstitial from clerk-js
* feat(nextjs): Remove interstitial from authMiddleware
* feat(fastify): Remove interstitial
* feat(gatsby-plugin-clerk): Remove interstitial
* feat(remix): Remove interstitial
* feat(clerk-sdk-node): Remove interstitial
* fix(nextjs): Always respect redirect header if found
As it's possible that we trigger a redirect from authenticateRequest that isn't a handshake status (dev multi-domain sync, for example)
* chore(repo): Fix sdk tests
* fix(clerk-js): Fix tests related to db-jwt
* fix(clerk-js): Keep hasJustSynced check
* chore(*): Fix linter
* chore(backend): Remove unused AuthErrorReason properties, destructure from authenticateContext
* chore(clerk-js): Remove unused @ts-expect-error directive
* fix: Address build issues in sdk-node
* fix(remix): Correct Remix build issues
* chore(repo): Apply linting fixes
---------
Co-authored-by: Sokratis Vidros <sokratis.vidros@gmail.com>
Co-authored-by: Colin Sidoti <51144033+colinclerk@users.noreply.github.com>
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Colin Sidoti <colin@clerk.dev>
octoper pushed a commit that referenced this pull request Dec 13, 2023
…#2331)
* feat(backend): Try the new Client Handshake mechanism
* feat(backend): Update authenticateRequest handler to support multi-domain handshake
* feat(repo): Introduce tests for client handshake (#2265)
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
* chore(backend): Refactor authenticateRequest to clarify logic
* fix(backend): Fix options passing to authenticateRequest
* feat(backend): Add sec-fetch-dest check for satellite sync, adjust tests to support additional URLs
* feat(backend): Account for clock skew in dev, but still log error
* feat(backend): Refactor backend tests to account for recent refactoring to authenticateRequest
* feat(backend): Treat handshake payload as a signed jwt
* fix(backend): Add tests and adjust logic to ensure existing tests pass
* chore(backend): Refactor tests to conform to new method signature
* chore(repo): Add changeset
* feat(*): Drop interstitial (#2304)
* feat(backend): Remove interstitial endpoints
* feat(backend,types): Remove local interstitial script
* feat(types): Clean retheme types
* feat(backend): Remove interstitial and interstitial rules
* feat(clerk-js): Remove interstitial from clerk-js
* feat(nextjs): Remove interstitial from authMiddleware
* feat(fastify): Remove interstitial
* feat(gatsby-plugin-clerk): Remove interstitial
* feat(remix): Remove interstitial
* feat(clerk-sdk-node): Remove interstitial
* fix(nextjs): Always respect redirect header if found
As it's possible that we trigger a redirect from authenticateRequest that isn't a handshake status (dev multi-domain sync, for example)
* chore(repo): Fix sdk tests
* fix(clerk-js): Fix tests related to db-jwt
* fix(clerk-js): Keep hasJustSynced check
* chore(*): Fix linter
* chore(backend): Remove unused AuthErrorReason properties, destructure from authenticateContext
* chore(clerk-js): Remove unused @ts-expect-error directive
* feat(repo): Migrate handshake tests to e2e test suite
* fix(nextjs): Ensure we respect location header from authenticateRequest() regardless of auth status
* Create bright-ways-provide.md
* chore(clerk-sdk-node): Properly export createClerkClient
* chore(clerk-sdk-node): Properly export createClerkClient
* fix(nextjs): Fix undefined headers in tests
---------
Co-authored-by: Sokratis Vidros <sokratis.vidros@gmail.com>
Co-authored-by: Colin Sidoti <51144033+colinclerk@users.noreply.github.com>
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Colin Sidoti <colin@clerk.dev>
Sign up for freeto 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.

5 participants

@colinclerk@dimkl@clerk-cookie@nikosdouvlis@brkalow
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Client handshake tests by colinclerk · Pull Request #2265 · clerk/javascript · GitHub
Skip to content

Client handshake tests - #2265

Merged
colinclerk merged 7 commits into
client_handshakefrom
client_handshake_tests
Dec 5, 2023
Merged

Client handshake tests#2265
colinclerk merged 7 commits into
client_handshakefrom
client_handshake_tests

Conversation

@colinclerk

Copy link
Copy Markdown
Member

Description

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

@changeset-bot

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 4c0f2e0

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

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

@colinclerk
colinclerk merged commit ac06bf2 into client_handshakeDec 5, 2023
@colinclerk
colinclerk deleted the client_handshake_tests branch December 5, 2023 11:15
"@clerk/clerk-react": "file:.yalc/@clerk/clerk-react",
"@clerk/nextjs": "file:.yalc/@clerk/nextjs",
"@clerk/shared": "file:.yalc/@clerk/shared",
"@clerk/types": "file:.yalc/@clerk/types",

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.

i think this change will not work for tests running in our CICD and will break the integration tests. As far as i know we don't depend on yalc in the integration tests.
cc: @nikosdouvlis

nikosdouvlis added a commit that referenced this pull request Dec 6, 2023
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
brkalow added a commit that referenced this pull request Dec 12, 2023
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
brkalow added a commit that referenced this pull request Dec 12, 2023
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
SokratisVidros pushed a commit that referenced this pull request Dec 13, 2023
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
SokratisVidros added a commit that referenced this pull request Dec 13, 2023
* feat(backend): Try the new Client Handshake mechanism
* feat(backend): Update authenticateRequest handler to support multi-domain handshake
* feat(repo): Introduce tests for client handshake (#2265)
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
* chore(backend): Refactor authenticateRequest to clarify logic
* fix(backend): Fix options passing to authenticateRequest
* feat(backend): Add sec-fetch-dest check for satellite sync, adjust tests to support additional URLs
* feat(backend): Account for clock skew in dev, but still log error
* feat(backend): Refactor backend tests to account for recent refactoring to authenticateRequest
* feat(backend): Treat handshake payload as a signed jwt
* fix(backend): Add tests and adjust logic to ensure existing tests pass
* chore(backend): Refactor tests to conform to new method signature
* chore(repo): Add changeset
* feat(*): Drop interstitial (#2304)
* feat(backend): Remove interstitial endpoints
* feat(backend,types): Remove local interstitial script
* feat(types): Clean retheme types
* feat(backend): Remove interstitial and interstitial rules
* feat(clerk-js): Remove interstitial from clerk-js
* feat(nextjs): Remove interstitial from authMiddleware
* feat(fastify): Remove interstitial
* feat(gatsby-plugin-clerk): Remove interstitial
* feat(remix): Remove interstitial
* feat(clerk-sdk-node): Remove interstitial
* fix(nextjs): Always respect redirect header if found
As it's possible that we trigger a redirect from authenticateRequest that isn't a handshake status (dev multi-domain sync, for example)
* chore(repo): Fix sdk tests
* fix(clerk-js): Fix tests related to db-jwt
* fix(clerk-js): Keep hasJustSynced check
* chore(*): Fix linter
* chore(backend): Remove unused AuthErrorReason properties, destructure from authenticateContext
* chore(clerk-js): Remove unused @ts-expect-error directive
* fix: Address build issues in sdk-node
* fix(remix): Correct Remix build issues
* chore(repo): Apply linting fixes
---------
Co-authored-by: Sokratis Vidros <sokratis.vidros@gmail.com>
Co-authored-by: Colin Sidoti <51144033+colinclerk@users.noreply.github.com>
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Colin Sidoti <colin@clerk.dev>
nikosdouvlis added a commit that referenced this pull request Dec 13, 2023
…#2331)
* feat(backend): Try the new Client Handshake mechanism
* feat(backend): Update authenticateRequest handler to support multi-domain handshake
* feat(repo): Introduce tests for client handshake (#2265)
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
* chore(backend): Refactor authenticateRequest to clarify logic
* fix(backend): Fix options passing to authenticateRequest
* feat(backend): Add sec-fetch-dest check for satellite sync, adjust tests to support additional URLs
* feat(backend): Account for clock skew in dev, but still log error
* feat(backend): Refactor backend tests to account for recent refactoring to authenticateRequest
* feat(backend): Treat handshake payload as a signed jwt
* fix(backend): Add tests and adjust logic to ensure existing tests pass
* chore(backend): Refactor tests to conform to new method signature
* chore(repo): Add changeset
* feat(*): Drop interstitial (#2304)
* feat(backend): Remove interstitial endpoints
* feat(backend,types): Remove local interstitial script
* feat(types): Clean retheme types
* feat(backend): Remove interstitial and interstitial rules
* feat(clerk-js): Remove interstitial from clerk-js
* feat(nextjs): Remove interstitial from authMiddleware
* feat(fastify): Remove interstitial
* feat(gatsby-plugin-clerk): Remove interstitial
* feat(remix): Remove interstitial
* feat(clerk-sdk-node): Remove interstitial
* fix(nextjs): Always respect redirect header if found
As it's possible that we trigger a redirect from authenticateRequest that isn't a handshake status (dev multi-domain sync, for example)
* chore(repo): Fix sdk tests
* fix(clerk-js): Fix tests related to db-jwt
* fix(clerk-js): Keep hasJustSynced check
* chore(*): Fix linter
* chore(backend): Remove unused AuthErrorReason properties, destructure from authenticateContext
* chore(clerk-js): Remove unused @ts-expect-error directive
* feat(repo): Migrate handshake tests to e2e test suite
* fix(nextjs): Ensure we respect location header from authenticateRequest() regardless of auth status
* Create bright-ways-provide.md
* chore(clerk-sdk-node): Properly export createClerkClient
* chore(clerk-sdk-node): Properly export createClerkClient
* fix(nextjs): Fix undefined headers in tests
---------
Co-authored-by: Sokratis Vidros <sokratis.vidros@gmail.com>
Co-authored-by: Colin Sidoti <51144033+colinclerk@users.noreply.github.com>
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Colin Sidoti <colin@clerk.dev>
octoper pushed a commit that referenced this pull request Dec 13, 2023
* feat(backend): Try the new Client Handshake mechanism
* feat(backend): Update authenticateRequest handler to support multi-domain handshake
* feat(repo): Introduce tests for client handshake (#2265)
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
* chore(backend): Refactor authenticateRequest to clarify logic
* fix(backend): Fix options passing to authenticateRequest
* feat(backend): Add sec-fetch-dest check for satellite sync, adjust tests to support additional URLs
* feat(backend): Account for clock skew in dev, but still log error
* feat(backend): Refactor backend tests to account for recent refactoring to authenticateRequest
* feat(backend): Treat handshake payload as a signed jwt
* fix(backend): Add tests and adjust logic to ensure existing tests pass
* chore(backend): Refactor tests to conform to new method signature
* chore(repo): Add changeset
* feat(*): Drop interstitial (#2304)
* feat(backend): Remove interstitial endpoints
* feat(backend,types): Remove local interstitial script
* feat(types): Clean retheme types
* feat(backend): Remove interstitial and interstitial rules
* feat(clerk-js): Remove interstitial from clerk-js
* feat(nextjs): Remove interstitial from authMiddleware
* feat(fastify): Remove interstitial
* feat(gatsby-plugin-clerk): Remove interstitial
* feat(remix): Remove interstitial
* feat(clerk-sdk-node): Remove interstitial
* fix(nextjs): Always respect redirect header if found
As it's possible that we trigger a redirect from authenticateRequest that isn't a handshake status (dev multi-domain sync, for example)
* chore(repo): Fix sdk tests
* fix(clerk-js): Fix tests related to db-jwt
* fix(clerk-js): Keep hasJustSynced check
* chore(*): Fix linter
* chore(backend): Remove unused AuthErrorReason properties, destructure from authenticateContext
* chore(clerk-js): Remove unused @ts-expect-error directive
* fix: Address build issues in sdk-node
* fix(remix): Correct Remix build issues
* chore(repo): Apply linting fixes
---------
Co-authored-by: Sokratis Vidros <sokratis.vidros@gmail.com>
Co-authored-by: Colin Sidoti <51144033+colinclerk@users.noreply.github.com>
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Colin Sidoti <colin@clerk.dev>
octoper pushed a commit that referenced this pull request Dec 13, 2023
…#2331)
* feat(backend): Try the new Client Handshake mechanism
* feat(backend): Update authenticateRequest handler to support multi-domain handshake
* feat(repo): Introduce tests for client handshake (#2265)
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
* chore(backend): Refactor authenticateRequest to clarify logic
* fix(backend): Fix options passing to authenticateRequest
* feat(backend): Add sec-fetch-dest check for satellite sync, adjust tests to support additional URLs
* feat(backend): Account for clock skew in dev, but still log error
* feat(backend): Refactor backend tests to account for recent refactoring to authenticateRequest
* feat(backend): Treat handshake payload as a signed jwt
* fix(backend): Add tests and adjust logic to ensure existing tests pass
* chore(backend): Refactor tests to conform to new method signature
* chore(repo): Add changeset
* feat(*): Drop interstitial (#2304)
* feat(backend): Remove interstitial endpoints
* feat(backend,types): Remove local interstitial script
* feat(types): Clean retheme types
* feat(backend): Remove interstitial and interstitial rules
* feat(clerk-js): Remove interstitial from clerk-js
* feat(nextjs): Remove interstitial from authMiddleware
* feat(fastify): Remove interstitial
* feat(gatsby-plugin-clerk): Remove interstitial
* feat(remix): Remove interstitial
* feat(clerk-sdk-node): Remove interstitial
* fix(nextjs): Always respect redirect header if found
As it's possible that we trigger a redirect from authenticateRequest that isn't a handshake status (dev multi-domain sync, for example)
* chore(repo): Fix sdk tests
* fix(clerk-js): Fix tests related to db-jwt
* fix(clerk-js): Keep hasJustSynced check
* chore(*): Fix linter
* chore(backend): Remove unused AuthErrorReason properties, destructure from authenticateContext
* chore(clerk-js): Remove unused @ts-expect-error directive
* feat(repo): Migrate handshake tests to e2e test suite
* fix(nextjs): Ensure we respect location header from authenticateRequest() regardless of auth status
* Create bright-ways-provide.md
* chore(clerk-sdk-node): Properly export createClerkClient
* chore(clerk-sdk-node): Properly export createClerkClient
* fix(nextjs): Fix undefined headers in tests
---------
Co-authored-by: Sokratis Vidros <sokratis.vidros@gmail.com>
Co-authored-by: Colin Sidoti <51144033+colinclerk@users.noreply.github.com>
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Colin Sidoti <colin@clerk.dev>
Sign up for freeto 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.

5 participants

@colinclerk@dimkl@clerk-cookie@nikosdouvlis@brkalow
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Client handshake tests by colinclerk · Pull Request #2265 · clerk/javascript · GitHub
Skip to content

Client handshake tests - #2265

Merged
colinclerk merged 7 commits into
client_handshakefrom
client_handshake_tests
Dec 5, 2023
Merged

Client handshake tests#2265
colinclerk merged 7 commits into
client_handshakefrom
client_handshake_tests

Conversation

@colinclerk

Copy link
Copy Markdown
Member

Description

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

@changeset-bot

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 4c0f2e0

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

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

@colinclerk
colinclerk merged commit ac06bf2 into client_handshakeDec 5, 2023
@colinclerk
colinclerk deleted the client_handshake_tests branch December 5, 2023 11:15
"@clerk/clerk-react": "file:.yalc/@clerk/clerk-react",
"@clerk/nextjs": "file:.yalc/@clerk/nextjs",
"@clerk/shared": "file:.yalc/@clerk/shared",
"@clerk/types": "file:.yalc/@clerk/types",

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.

i think this change will not work for tests running in our CICD and will break the integration tests. As far as i know we don't depend on yalc in the integration tests.
cc: @nikosdouvlis

nikosdouvlis added a commit that referenced this pull request Dec 6, 2023
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
brkalow added a commit that referenced this pull request Dec 12, 2023
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
brkalow added a commit that referenced this pull request Dec 12, 2023
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
SokratisVidros pushed a commit that referenced this pull request Dec 13, 2023
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
SokratisVidros added a commit that referenced this pull request Dec 13, 2023
* feat(backend): Try the new Client Handshake mechanism
* feat(backend): Update authenticateRequest handler to support multi-domain handshake
* feat(repo): Introduce tests for client handshake (#2265)
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
* chore(backend): Refactor authenticateRequest to clarify logic
* fix(backend): Fix options passing to authenticateRequest
* feat(backend): Add sec-fetch-dest check for satellite sync, adjust tests to support additional URLs
* feat(backend): Account for clock skew in dev, but still log error
* feat(backend): Refactor backend tests to account for recent refactoring to authenticateRequest
* feat(backend): Treat handshake payload as a signed jwt
* fix(backend): Add tests and adjust logic to ensure existing tests pass
* chore(backend): Refactor tests to conform to new method signature
* chore(repo): Add changeset
* feat(*): Drop interstitial (#2304)
* feat(backend): Remove interstitial endpoints
* feat(backend,types): Remove local interstitial script
* feat(types): Clean retheme types
* feat(backend): Remove interstitial and interstitial rules
* feat(clerk-js): Remove interstitial from clerk-js
* feat(nextjs): Remove interstitial from authMiddleware
* feat(fastify): Remove interstitial
* feat(gatsby-plugin-clerk): Remove interstitial
* feat(remix): Remove interstitial
* feat(clerk-sdk-node): Remove interstitial
* fix(nextjs): Always respect redirect header if found
As it's possible that we trigger a redirect from authenticateRequest that isn't a handshake status (dev multi-domain sync, for example)
* chore(repo): Fix sdk tests
* fix(clerk-js): Fix tests related to db-jwt
* fix(clerk-js): Keep hasJustSynced check
* chore(*): Fix linter
* chore(backend): Remove unused AuthErrorReason properties, destructure from authenticateContext
* chore(clerk-js): Remove unused @ts-expect-error directive
* fix: Address build issues in sdk-node
* fix(remix): Correct Remix build issues
* chore(repo): Apply linting fixes
---------
Co-authored-by: Sokratis Vidros <sokratis.vidros@gmail.com>
Co-authored-by: Colin Sidoti <51144033+colinclerk@users.noreply.github.com>
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Colin Sidoti <colin@clerk.dev>
nikosdouvlis added a commit that referenced this pull request Dec 13, 2023
…#2331)
* feat(backend): Try the new Client Handshake mechanism
* feat(backend): Update authenticateRequest handler to support multi-domain handshake
* feat(repo): Introduce tests for client handshake (#2265)
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
* chore(backend): Refactor authenticateRequest to clarify logic
* fix(backend): Fix options passing to authenticateRequest
* feat(backend): Add sec-fetch-dest check for satellite sync, adjust tests to support additional URLs
* feat(backend): Account for clock skew in dev, but still log error
* feat(backend): Refactor backend tests to account for recent refactoring to authenticateRequest
* feat(backend): Treat handshake payload as a signed jwt
* fix(backend): Add tests and adjust logic to ensure existing tests pass
* chore(backend): Refactor tests to conform to new method signature
* chore(repo): Add changeset
* feat(*): Drop interstitial (#2304)
* feat(backend): Remove interstitial endpoints
* feat(backend,types): Remove local interstitial script
* feat(types): Clean retheme types
* feat(backend): Remove interstitial and interstitial rules
* feat(clerk-js): Remove interstitial from clerk-js
* feat(nextjs): Remove interstitial from authMiddleware
* feat(fastify): Remove interstitial
* feat(gatsby-plugin-clerk): Remove interstitial
* feat(remix): Remove interstitial
* feat(clerk-sdk-node): Remove interstitial
* fix(nextjs): Always respect redirect header if found
As it's possible that we trigger a redirect from authenticateRequest that isn't a handshake status (dev multi-domain sync, for example)
* chore(repo): Fix sdk tests
* fix(clerk-js): Fix tests related to db-jwt
* fix(clerk-js): Keep hasJustSynced check
* chore(*): Fix linter
* chore(backend): Remove unused AuthErrorReason properties, destructure from authenticateContext
* chore(clerk-js): Remove unused @ts-expect-error directive
* feat(repo): Migrate handshake tests to e2e test suite
* fix(nextjs): Ensure we respect location header from authenticateRequest() regardless of auth status
* Create bright-ways-provide.md
* chore(clerk-sdk-node): Properly export createClerkClient
* chore(clerk-sdk-node): Properly export createClerkClient
* fix(nextjs): Fix undefined headers in tests
---------
Co-authored-by: Sokratis Vidros <sokratis.vidros@gmail.com>
Co-authored-by: Colin Sidoti <51144033+colinclerk@users.noreply.github.com>
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Colin Sidoti <colin@clerk.dev>
octoper pushed a commit that referenced this pull request Dec 13, 2023
* feat(backend): Try the new Client Handshake mechanism
* feat(backend): Update authenticateRequest handler to support multi-domain handshake
* feat(repo): Introduce tests for client handshake (#2265)
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
* chore(backend): Refactor authenticateRequest to clarify logic
* fix(backend): Fix options passing to authenticateRequest
* feat(backend): Add sec-fetch-dest check for satellite sync, adjust tests to support additional URLs
* feat(backend): Account for clock skew in dev, but still log error
* feat(backend): Refactor backend tests to account for recent refactoring to authenticateRequest
* feat(backend): Treat handshake payload as a signed jwt
* fix(backend): Add tests and adjust logic to ensure existing tests pass
* chore(backend): Refactor tests to conform to new method signature
* chore(repo): Add changeset
* feat(*): Drop interstitial (#2304)
* feat(backend): Remove interstitial endpoints
* feat(backend,types): Remove local interstitial script
* feat(types): Clean retheme types
* feat(backend): Remove interstitial and interstitial rules
* feat(clerk-js): Remove interstitial from clerk-js
* feat(nextjs): Remove interstitial from authMiddleware
* feat(fastify): Remove interstitial
* feat(gatsby-plugin-clerk): Remove interstitial
* feat(remix): Remove interstitial
* feat(clerk-sdk-node): Remove interstitial
* fix(nextjs): Always respect redirect header if found
As it's possible that we trigger a redirect from authenticateRequest that isn't a handshake status (dev multi-domain sync, for example)
* chore(repo): Fix sdk tests
* fix(clerk-js): Fix tests related to db-jwt
* fix(clerk-js): Keep hasJustSynced check
* chore(*): Fix linter
* chore(backend): Remove unused AuthErrorReason properties, destructure from authenticateContext
* chore(clerk-js): Remove unused @ts-expect-error directive
* fix: Address build issues in sdk-node
* fix(remix): Correct Remix build issues
* chore(repo): Apply linting fixes
---------
Co-authored-by: Sokratis Vidros <sokratis.vidros@gmail.com>
Co-authored-by: Colin Sidoti <51144033+colinclerk@users.noreply.github.com>
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Colin Sidoti <colin@clerk.dev>
octoper pushed a commit that referenced this pull request Dec 13, 2023
…#2331)
* feat(backend): Try the new Client Handshake mechanism
* feat(backend): Update authenticateRequest handler to support multi-domain handshake
* feat(repo): Introduce tests for client handshake (#2265)
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
* chore(backend): Refactor authenticateRequest to clarify logic
* fix(backend): Fix options passing to authenticateRequest
* feat(backend): Add sec-fetch-dest check for satellite sync, adjust tests to support additional URLs
* feat(backend): Account for clock skew in dev, but still log error
* feat(backend): Refactor backend tests to account for recent refactoring to authenticateRequest
* feat(backend): Treat handshake payload as a signed jwt
* fix(backend): Add tests and adjust logic to ensure existing tests pass
* chore(backend): Refactor tests to conform to new method signature
* chore(repo): Add changeset
* feat(*): Drop interstitial (#2304)
* feat(backend): Remove interstitial endpoints
* feat(backend,types): Remove local interstitial script
* feat(types): Clean retheme types
* feat(backend): Remove interstitial and interstitial rules
* feat(clerk-js): Remove interstitial from clerk-js
* feat(nextjs): Remove interstitial from authMiddleware
* feat(fastify): Remove interstitial
* feat(gatsby-plugin-clerk): Remove interstitial
* feat(remix): Remove interstitial
* feat(clerk-sdk-node): Remove interstitial
* fix(nextjs): Always respect redirect header if found
As it's possible that we trigger a redirect from authenticateRequest that isn't a handshake status (dev multi-domain sync, for example)
* chore(repo): Fix sdk tests
* fix(clerk-js): Fix tests related to db-jwt
* fix(clerk-js): Keep hasJustSynced check
* chore(*): Fix linter
* chore(backend): Remove unused AuthErrorReason properties, destructure from authenticateContext
* chore(clerk-js): Remove unused @ts-expect-error directive
* feat(repo): Migrate handshake tests to e2e test suite
* fix(nextjs): Ensure we respect location header from authenticateRequest() regardless of auth status
* Create bright-ways-provide.md
* chore(clerk-sdk-node): Properly export createClerkClient
* chore(clerk-sdk-node): Properly export createClerkClient
* fix(nextjs): Fix undefined headers in tests
---------
Co-authored-by: Sokratis Vidros <sokratis.vidros@gmail.com>
Co-authored-by: Colin Sidoti <51144033+colinclerk@users.noreply.github.com>
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Colin Sidoti <colin@clerk.dev>
Sign up for freeto 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.

5 participants

@colinclerk@dimkl@clerk-cookie@nikosdouvlis@brkalow
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Client handshake tests by colinclerk · Pull Request #2265 · clerk/javascript · GitHub
Skip to content

Client handshake tests - #2265

Merged
colinclerk merged 7 commits into
client_handshakefrom
client_handshake_tests
Dec 5, 2023
Merged

Client handshake tests#2265
colinclerk merged 7 commits into
client_handshakefrom
client_handshake_tests

Conversation

@colinclerk

Copy link
Copy Markdown
Member

Description

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

@changeset-bot

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 4c0f2e0

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

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

@colinclerk
colinclerk merged commit ac06bf2 into client_handshakeDec 5, 2023
@colinclerk
colinclerk deleted the client_handshake_tests branch December 5, 2023 11:15
"@clerk/clerk-react": "file:.yalc/@clerk/clerk-react",
"@clerk/nextjs": "file:.yalc/@clerk/nextjs",
"@clerk/shared": "file:.yalc/@clerk/shared",
"@clerk/types": "file:.yalc/@clerk/types",

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.

i think this change will not work for tests running in our CICD and will break the integration tests. As far as i know we don't depend on yalc in the integration tests.
cc: @nikosdouvlis

nikosdouvlis added a commit that referenced this pull request Dec 6, 2023
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
brkalow added a commit that referenced this pull request Dec 12, 2023
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
brkalow added a commit that referenced this pull request Dec 12, 2023
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
SokratisVidros pushed a commit that referenced this pull request Dec 13, 2023
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
SokratisVidros added a commit that referenced this pull request Dec 13, 2023
* feat(backend): Try the new Client Handshake mechanism
* feat(backend): Update authenticateRequest handler to support multi-domain handshake
* feat(repo): Introduce tests for client handshake (#2265)
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
* chore(backend): Refactor authenticateRequest to clarify logic
* fix(backend): Fix options passing to authenticateRequest
* feat(backend): Add sec-fetch-dest check for satellite sync, adjust tests to support additional URLs
* feat(backend): Account for clock skew in dev, but still log error
* feat(backend): Refactor backend tests to account for recent refactoring to authenticateRequest
* feat(backend): Treat handshake payload as a signed jwt
* fix(backend): Add tests and adjust logic to ensure existing tests pass
* chore(backend): Refactor tests to conform to new method signature
* chore(repo): Add changeset
* feat(*): Drop interstitial (#2304)
* feat(backend): Remove interstitial endpoints
* feat(backend,types): Remove local interstitial script
* feat(types): Clean retheme types
* feat(backend): Remove interstitial and interstitial rules
* feat(clerk-js): Remove interstitial from clerk-js
* feat(nextjs): Remove interstitial from authMiddleware
* feat(fastify): Remove interstitial
* feat(gatsby-plugin-clerk): Remove interstitial
* feat(remix): Remove interstitial
* feat(clerk-sdk-node): Remove interstitial
* fix(nextjs): Always respect redirect header if found
As it's possible that we trigger a redirect from authenticateRequest that isn't a handshake status (dev multi-domain sync, for example)
* chore(repo): Fix sdk tests
* fix(clerk-js): Fix tests related to db-jwt
* fix(clerk-js): Keep hasJustSynced check
* chore(*): Fix linter
* chore(backend): Remove unused AuthErrorReason properties, destructure from authenticateContext
* chore(clerk-js): Remove unused @ts-expect-error directive
* fix: Address build issues in sdk-node
* fix(remix): Correct Remix build issues
* chore(repo): Apply linting fixes
---------
Co-authored-by: Sokratis Vidros <sokratis.vidros@gmail.com>
Co-authored-by: Colin Sidoti <51144033+colinclerk@users.noreply.github.com>
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Colin Sidoti <colin@clerk.dev>
nikosdouvlis added a commit that referenced this pull request Dec 13, 2023
…#2331)
* feat(backend): Try the new Client Handshake mechanism
* feat(backend): Update authenticateRequest handler to support multi-domain handshake
* feat(repo): Introduce tests for client handshake (#2265)
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
* chore(backend): Refactor authenticateRequest to clarify logic
* fix(backend): Fix options passing to authenticateRequest
* feat(backend): Add sec-fetch-dest check for satellite sync, adjust tests to support additional URLs
* feat(backend): Account for clock skew in dev, but still log error
* feat(backend): Refactor backend tests to account for recent refactoring to authenticateRequest
* feat(backend): Treat handshake payload as a signed jwt
* fix(backend): Add tests and adjust logic to ensure existing tests pass
* chore(backend): Refactor tests to conform to new method signature
* chore(repo): Add changeset
* feat(*): Drop interstitial (#2304)
* feat(backend): Remove interstitial endpoints
* feat(backend,types): Remove local interstitial script
* feat(types): Clean retheme types
* feat(backend): Remove interstitial and interstitial rules
* feat(clerk-js): Remove interstitial from clerk-js
* feat(nextjs): Remove interstitial from authMiddleware
* feat(fastify): Remove interstitial
* feat(gatsby-plugin-clerk): Remove interstitial
* feat(remix): Remove interstitial
* feat(clerk-sdk-node): Remove interstitial
* fix(nextjs): Always respect redirect header if found
As it's possible that we trigger a redirect from authenticateRequest that isn't a handshake status (dev multi-domain sync, for example)
* chore(repo): Fix sdk tests
* fix(clerk-js): Fix tests related to db-jwt
* fix(clerk-js): Keep hasJustSynced check
* chore(*): Fix linter
* chore(backend): Remove unused AuthErrorReason properties, destructure from authenticateContext
* chore(clerk-js): Remove unused @ts-expect-error directive
* feat(repo): Migrate handshake tests to e2e test suite
* fix(nextjs): Ensure we respect location header from authenticateRequest() regardless of auth status
* Create bright-ways-provide.md
* chore(clerk-sdk-node): Properly export createClerkClient
* chore(clerk-sdk-node): Properly export createClerkClient
* fix(nextjs): Fix undefined headers in tests
---------
Co-authored-by: Sokratis Vidros <sokratis.vidros@gmail.com>
Co-authored-by: Colin Sidoti <51144033+colinclerk@users.noreply.github.com>
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Colin Sidoti <colin@clerk.dev>
octoper pushed a commit that referenced this pull request Dec 13, 2023
* feat(backend): Try the new Client Handshake mechanism
* feat(backend): Update authenticateRequest handler to support multi-domain handshake
* feat(repo): Introduce tests for client handshake (#2265)
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
* chore(backend): Refactor authenticateRequest to clarify logic
* fix(backend): Fix options passing to authenticateRequest
* feat(backend): Add sec-fetch-dest check for satellite sync, adjust tests to support additional URLs
* feat(backend): Account for clock skew in dev, but still log error
* feat(backend): Refactor backend tests to account for recent refactoring to authenticateRequest
* feat(backend): Treat handshake payload as a signed jwt
* fix(backend): Add tests and adjust logic to ensure existing tests pass
* chore(backend): Refactor tests to conform to new method signature
* chore(repo): Add changeset
* feat(*): Drop interstitial (#2304)
* feat(backend): Remove interstitial endpoints
* feat(backend,types): Remove local interstitial script
* feat(types): Clean retheme types
* feat(backend): Remove interstitial and interstitial rules
* feat(clerk-js): Remove interstitial from clerk-js
* feat(nextjs): Remove interstitial from authMiddleware
* feat(fastify): Remove interstitial
* feat(gatsby-plugin-clerk): Remove interstitial
* feat(remix): Remove interstitial
* feat(clerk-sdk-node): Remove interstitial
* fix(nextjs): Always respect redirect header if found
As it's possible that we trigger a redirect from authenticateRequest that isn't a handshake status (dev multi-domain sync, for example)
* chore(repo): Fix sdk tests
* fix(clerk-js): Fix tests related to db-jwt
* fix(clerk-js): Keep hasJustSynced check
* chore(*): Fix linter
* chore(backend): Remove unused AuthErrorReason properties, destructure from authenticateContext
* chore(clerk-js): Remove unused @ts-expect-error directive
* fix: Address build issues in sdk-node
* fix(remix): Correct Remix build issues
* chore(repo): Apply linting fixes
---------
Co-authored-by: Sokratis Vidros <sokratis.vidros@gmail.com>
Co-authored-by: Colin Sidoti <51144033+colinclerk@users.noreply.github.com>
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Colin Sidoti <colin@clerk.dev>
octoper pushed a commit that referenced this pull request Dec 13, 2023
…#2331)
* feat(backend): Try the new Client Handshake mechanism
* feat(backend): Update authenticateRequest handler to support multi-domain handshake
* feat(repo): Introduce tests for client handshake (#2265)
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
* chore(backend): Refactor authenticateRequest to clarify logic
* fix(backend): Fix options passing to authenticateRequest
* feat(backend): Add sec-fetch-dest check for satellite sync, adjust tests to support additional URLs
* feat(backend): Account for clock skew in dev, but still log error
* feat(backend): Refactor backend tests to account for recent refactoring to authenticateRequest
* feat(backend): Treat handshake payload as a signed jwt
* fix(backend): Add tests and adjust logic to ensure existing tests pass
* chore(backend): Refactor tests to conform to new method signature
* chore(repo): Add changeset
* feat(*): Drop interstitial (#2304)
* feat(backend): Remove interstitial endpoints
* feat(backend,types): Remove local interstitial script
* feat(types): Clean retheme types
* feat(backend): Remove interstitial and interstitial rules
* feat(clerk-js): Remove interstitial from clerk-js
* feat(nextjs): Remove interstitial from authMiddleware
* feat(fastify): Remove interstitial
* feat(gatsby-plugin-clerk): Remove interstitial
* feat(remix): Remove interstitial
* feat(clerk-sdk-node): Remove interstitial
* fix(nextjs): Always respect redirect header if found
As it's possible that we trigger a redirect from authenticateRequest that isn't a handshake status (dev multi-domain sync, for example)
* chore(repo): Fix sdk tests
* fix(clerk-js): Fix tests related to db-jwt
* fix(clerk-js): Keep hasJustSynced check
* chore(*): Fix linter
* chore(backend): Remove unused AuthErrorReason properties, destructure from authenticateContext
* chore(clerk-js): Remove unused @ts-expect-error directive
* feat(repo): Migrate handshake tests to e2e test suite
* fix(nextjs): Ensure we respect location header from authenticateRequest() regardless of auth status
* Create bright-ways-provide.md
* chore(clerk-sdk-node): Properly export createClerkClient
* chore(clerk-sdk-node): Properly export createClerkClient
* fix(nextjs): Fix undefined headers in tests
---------
Co-authored-by: Sokratis Vidros <sokratis.vidros@gmail.com>
Co-authored-by: Colin Sidoti <51144033+colinclerk@users.noreply.github.com>
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Colin Sidoti <colin@clerk.dev>
Sign up for freeto 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.

5 participants

@colinclerk@dimkl@clerk-cookie@nikosdouvlis@brkalow
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); Client handshake tests by colinclerk · Pull Request #2265 · clerk/javascript · GitHub
Skip to content

Client handshake tests - #2265

Merged
colinclerk merged 7 commits into
client_handshakefrom
client_handshake_tests
Dec 5, 2023
Merged

Client handshake tests#2265
colinclerk merged 7 commits into
client_handshakefrom
client_handshake_tests

Conversation

@colinclerk

Copy link
Copy Markdown
Member

Description

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

@changeset-bot

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 4c0f2e0

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

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

@colinclerk
colinclerk merged commit ac06bf2 into client_handshakeDec 5, 2023
@colinclerk
colinclerk deleted the client_handshake_tests branch December 5, 2023 11:15
"@clerk/clerk-react": "file:.yalc/@clerk/clerk-react",
"@clerk/nextjs": "file:.yalc/@clerk/nextjs",
"@clerk/shared": "file:.yalc/@clerk/shared",
"@clerk/types": "file:.yalc/@clerk/types",

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.

i think this change will not work for tests running in our CICD and will break the integration tests. As far as i know we don't depend on yalc in the integration tests.
cc: @nikosdouvlis

nikosdouvlis added a commit that referenced this pull request Dec 6, 2023
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
brkalow added a commit that referenced this pull request Dec 12, 2023
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
brkalow added a commit that referenced this pull request Dec 12, 2023
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
SokratisVidros pushed a commit that referenced this pull request Dec 13, 2023
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
SokratisVidros added a commit that referenced this pull request Dec 13, 2023
* feat(backend): Try the new Client Handshake mechanism
* feat(backend): Update authenticateRequest handler to support multi-domain handshake
* feat(repo): Introduce tests for client handshake (#2265)
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
* chore(backend): Refactor authenticateRequest to clarify logic
* fix(backend): Fix options passing to authenticateRequest
* feat(backend): Add sec-fetch-dest check for satellite sync, adjust tests to support additional URLs
* feat(backend): Account for clock skew in dev, but still log error
* feat(backend): Refactor backend tests to account for recent refactoring to authenticateRequest
* feat(backend): Treat handshake payload as a signed jwt
* fix(backend): Add tests and adjust logic to ensure existing tests pass
* chore(backend): Refactor tests to conform to new method signature
* chore(repo): Add changeset
* feat(*): Drop interstitial (#2304)
* feat(backend): Remove interstitial endpoints
* feat(backend,types): Remove local interstitial script
* feat(types): Clean retheme types
* feat(backend): Remove interstitial and interstitial rules
* feat(clerk-js): Remove interstitial from clerk-js
* feat(nextjs): Remove interstitial from authMiddleware
* feat(fastify): Remove interstitial
* feat(gatsby-plugin-clerk): Remove interstitial
* feat(remix): Remove interstitial
* feat(clerk-sdk-node): Remove interstitial
* fix(nextjs): Always respect redirect header if found
As it's possible that we trigger a redirect from authenticateRequest that isn't a handshake status (dev multi-domain sync, for example)
* chore(repo): Fix sdk tests
* fix(clerk-js): Fix tests related to db-jwt
* fix(clerk-js): Keep hasJustSynced check
* chore(*): Fix linter
* chore(backend): Remove unused AuthErrorReason properties, destructure from authenticateContext
* chore(clerk-js): Remove unused @ts-expect-error directive
* fix: Address build issues in sdk-node
* fix(remix): Correct Remix build issues
* chore(repo): Apply linting fixes
---------
Co-authored-by: Sokratis Vidros <sokratis.vidros@gmail.com>
Co-authored-by: Colin Sidoti <51144033+colinclerk@users.noreply.github.com>
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Colin Sidoti <colin@clerk.dev>
nikosdouvlis added a commit that referenced this pull request Dec 13, 2023
…#2331)
* feat(backend): Try the new Client Handshake mechanism
* feat(backend): Update authenticateRequest handler to support multi-domain handshake
* feat(repo): Introduce tests for client handshake (#2265)
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
* chore(backend): Refactor authenticateRequest to clarify logic
* fix(backend): Fix options passing to authenticateRequest
* feat(backend): Add sec-fetch-dest check for satellite sync, adjust tests to support additional URLs
* feat(backend): Account for clock skew in dev, but still log error
* feat(backend): Refactor backend tests to account for recent refactoring to authenticateRequest
* feat(backend): Treat handshake payload as a signed jwt
* fix(backend): Add tests and adjust logic to ensure existing tests pass
* chore(backend): Refactor tests to conform to new method signature
* chore(repo): Add changeset
* feat(*): Drop interstitial (#2304)
* feat(backend): Remove interstitial endpoints
* feat(backend,types): Remove local interstitial script
* feat(types): Clean retheme types
* feat(backend): Remove interstitial and interstitial rules
* feat(clerk-js): Remove interstitial from clerk-js
* feat(nextjs): Remove interstitial from authMiddleware
* feat(fastify): Remove interstitial
* feat(gatsby-plugin-clerk): Remove interstitial
* feat(remix): Remove interstitial
* feat(clerk-sdk-node): Remove interstitial
* fix(nextjs): Always respect redirect header if found
As it's possible that we trigger a redirect from authenticateRequest that isn't a handshake status (dev multi-domain sync, for example)
* chore(repo): Fix sdk tests
* fix(clerk-js): Fix tests related to db-jwt
* fix(clerk-js): Keep hasJustSynced check
* chore(*): Fix linter
* chore(backend): Remove unused AuthErrorReason properties, destructure from authenticateContext
* chore(clerk-js): Remove unused @ts-expect-error directive
* feat(repo): Migrate handshake tests to e2e test suite
* fix(nextjs): Ensure we respect location header from authenticateRequest() regardless of auth status
* Create bright-ways-provide.md
* chore(clerk-sdk-node): Properly export createClerkClient
* chore(clerk-sdk-node): Properly export createClerkClient
* fix(nextjs): Fix undefined headers in tests
---------
Co-authored-by: Sokratis Vidros <sokratis.vidros@gmail.com>
Co-authored-by: Colin Sidoti <51144033+colinclerk@users.noreply.github.com>
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Colin Sidoti <colin@clerk.dev>
octoper pushed a commit that referenced this pull request Dec 13, 2023
* feat(backend): Try the new Client Handshake mechanism
* feat(backend): Update authenticateRequest handler to support multi-domain handshake
* feat(repo): Introduce tests for client handshake (#2265)
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
* chore(backend): Refactor authenticateRequest to clarify logic
* fix(backend): Fix options passing to authenticateRequest
* feat(backend): Add sec-fetch-dest check for satellite sync, adjust tests to support additional URLs
* feat(backend): Account for clock skew in dev, but still log error
* feat(backend): Refactor backend tests to account for recent refactoring to authenticateRequest
* feat(backend): Treat handshake payload as a signed jwt
* fix(backend): Add tests and adjust logic to ensure existing tests pass
* chore(backend): Refactor tests to conform to new method signature
* chore(repo): Add changeset
* feat(*): Drop interstitial (#2304)
* feat(backend): Remove interstitial endpoints
* feat(backend,types): Remove local interstitial script
* feat(types): Clean retheme types
* feat(backend): Remove interstitial and interstitial rules
* feat(clerk-js): Remove interstitial from clerk-js
* feat(nextjs): Remove interstitial from authMiddleware
* feat(fastify): Remove interstitial
* feat(gatsby-plugin-clerk): Remove interstitial
* feat(remix): Remove interstitial
* feat(clerk-sdk-node): Remove interstitial
* fix(nextjs): Always respect redirect header if found
As it's possible that we trigger a redirect from authenticateRequest that isn't a handshake status (dev multi-domain sync, for example)
* chore(repo): Fix sdk tests
* fix(clerk-js): Fix tests related to db-jwt
* fix(clerk-js): Keep hasJustSynced check
* chore(*): Fix linter
* chore(backend): Remove unused AuthErrorReason properties, destructure from authenticateContext
* chore(clerk-js): Remove unused @ts-expect-error directive
* fix: Address build issues in sdk-node
* fix(remix): Correct Remix build issues
* chore(repo): Apply linting fixes
---------
Co-authored-by: Sokratis Vidros <sokratis.vidros@gmail.com>
Co-authored-by: Colin Sidoti <51144033+colinclerk@users.noreply.github.com>
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Colin Sidoti <colin@clerk.dev>
octoper pushed a commit that referenced this pull request Dec 13, 2023
…#2331)
* feat(backend): Try the new Client Handshake mechanism
* feat(backend): Update authenticateRequest handler to support multi-domain handshake
* feat(repo): Introduce tests for client handshake (#2265)
* Test suite start
* feat(backend,nextjs,utils): Fix jest
* first test
* Fix bug in jwks cache for multiple runtime keys
* Add all the tests, including many failing
* Add all the tests, including many failing
* fix(shared): Correctly construct proxy URL
---------
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Bryce Kalow <bryce@clerk.dev>
* chore(backend): Refactor authenticateRequest to clarify logic
* fix(backend): Fix options passing to authenticateRequest
* feat(backend): Add sec-fetch-dest check for satellite sync, adjust tests to support additional URLs
* feat(backend): Account for clock skew in dev, but still log error
* feat(backend): Refactor backend tests to account for recent refactoring to authenticateRequest
* feat(backend): Treat handshake payload as a signed jwt
* fix(backend): Add tests and adjust logic to ensure existing tests pass
* chore(backend): Refactor tests to conform to new method signature
* chore(repo): Add changeset
* feat(*): Drop interstitial (#2304)
* feat(backend): Remove interstitial endpoints
* feat(backend,types): Remove local interstitial script
* feat(types): Clean retheme types
* feat(backend): Remove interstitial and interstitial rules
* feat(clerk-js): Remove interstitial from clerk-js
* feat(nextjs): Remove interstitial from authMiddleware
* feat(fastify): Remove interstitial
* feat(gatsby-plugin-clerk): Remove interstitial
* feat(remix): Remove interstitial
* feat(clerk-sdk-node): Remove interstitial
* fix(nextjs): Always respect redirect header if found
As it's possible that we trigger a redirect from authenticateRequest that isn't a handshake status (dev multi-domain sync, for example)
* chore(repo): Fix sdk tests
* fix(clerk-js): Fix tests related to db-jwt
* fix(clerk-js): Keep hasJustSynced check
* chore(*): Fix linter
* chore(backend): Remove unused AuthErrorReason properties, destructure from authenticateContext
* chore(clerk-js): Remove unused @ts-expect-error directive
* feat(repo): Migrate handshake tests to e2e test suite
* fix(nextjs): Ensure we respect location header from authenticateRequest() regardless of auth status
* Create bright-ways-provide.md
* chore(clerk-sdk-node): Properly export createClerkClient
* chore(clerk-sdk-node): Properly export createClerkClient
* fix(nextjs): Fix undefined headers in tests
---------
Co-authored-by: Sokratis Vidros <sokratis.vidros@gmail.com>
Co-authored-by: Colin Sidoti <51144033+colinclerk@users.noreply.github.com>
Co-authored-by: Nikos Douvlis <nikosdouvlis@gmail.com>
Co-authored-by: Colin Sidoti <colin@clerk.dev>
Sign up for freeto 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.

5 participants

@colinclerk@dimkl@clerk-cookie@nikosdouvlis@brkalow