feat(expo): add hosted auth flow#8960
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
🦋 Changeset detectedLatest commit: 2d082f8 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
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 |
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository YAML (base), Repository UI (inherited) Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
@clerk/astro
@clerk/backend
@clerk/chrome-extension
@clerk/clerk-js
@clerk/electron
@clerk/electron-passkeys
@clerk/eslint-plugin
@clerk/expo
@clerk/expo-passkeys
@clerk/express
@clerk/fastify
@clerk/hono
@clerk/localizations
@clerk/nextjs
@clerk/nuxt
@clerk/react
@clerk/react-router
@clerk/shared
@clerk/tanstack-react-start
@clerk/testing
@clerk/ui
@clerk/upgrade
@clerk/vue
commit: |
Summary
Adds the Expo client SDK surface for hosted auth through Account Portal.
useHostedAuth()for Expo apps.expo-web-browser/expo-auth-session.statefor callback correlation.codeVerifierthrough shared resource reload and ClerkJS FAPI URL building.Motivation
Expo apps need a simple hosted-auth API that behaves like mobile WebAuth: use a secure system browser for the hosted UI, then return to the native app with a single native Clerk session.
Developer Experience
The hook handles opening the auth session, validating the callback, redeeming the native client nonce, updating Clerk state, and activating the created session. Apps may pass a custom
redirectUrlorauthSessionOptions, but the default Expo redirect URI is enough for the simulator/local flow.Security
stateand verifies it on callback.Related PRs