-
Notifications
You must be signed in to change notification settings - Fork 294
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(nextjs,clerk-react,types,clerk-js): Add experimental support for <Gate/>
#1942
Conversation
🦋 Changeset detectedLatest commit: 1a30298 The changes in this PR will be included in the next version bump. This PR includes changesets to release 12 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
@panteliselef We have changed the process of the v4 hotfixing. Please rebase this PR with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@panteliselef 👍 Nice! Added a few quick comments/questions.
… `<Gate/>` (#1942) * feat(nextjs,clerk-react,types,clerk-js): Add experimental support for `<Gate/>` * chore(clerk-js): Remove references to permissions * fix(clerk-js): Edit internal Gate to use some instead of any * chore(clerk-js): Enable tests * chore(clerk-js): Add changeset * chore(types): Create experimental types * feat(nextjs): Export `<Experimental__Gate/>` * chore(chrome-extension): Update snapshot
… `<Gate/>` (#1942) (#2051) * feat(nextjs,clerk-react,types,clerk-js): Add experimental support for `<Gate/>` * chore(clerk-js): Remove references to permissions * fix(clerk-js): Edit internal Gate to use some instead of any * chore(clerk-js): Enable tests * chore(clerk-js): Add changeset * chore(types): Create experimental types * feat(nextjs): Export `<Experimental__Gate/>` * chore(chrome-extension): Update snapshot
Description
This PR introduces a new public control component called
Gate
as experimental.<Experimental__Gate/>
as client component<Experimental__Gate/>
as server componentauth()
function returns theexperimental__has
in order to check authorization server side@clerk/backend
returns theexperimental__has
function in order to check authorization server sideuseAuth()
return theexperimental__has
for checking authorization during SSR or CSRAs of now the component will only support role based check, in the following weeks this will be updated to also support permission based checks which is the pattern we all our customers to use in the future.
This PR will need to backported to v4 as it is complementary to "custom roles & permissions"
Checklist
npm test
runs as expected.npm run build
runs as expected.Type of change
Packages affected
@clerk/clerk-js
@clerk/clerk-react
@clerk/nextjs
@clerk/remix
@clerk/types
@clerk/themes
@clerk/localizations
@clerk/clerk-expo
@clerk/backend
@clerk/clerk-sdk-node
@clerk/shared
@clerk/fastify
@clerk/chrome-extension
gatsby-plugin-clerk
build/tooling/chore