用途:为 Expo / React Native 应用集成 Clerk 认证提供模式参考,SDK 为 @clerk/expo v3+,要求 Expo 53+、React Native 0.73+。
主要能力:按任务分为令牌持久化(references/token-storage.md)、OAuth(Google、Apple、GitHub,references/oauth-deep-linking.md)、Expo Router 受保护屏幕(references/protected-routes.md)、带用户数据的推送通知(references/push-notifications.md)。
核心模型:Clerk 默认将会话令牌存于内存;原生端可用 SecureStore 加密存入设备钥匙串(生产推荐),通过 <ClerkProvider> 的 tokenCache 属性提供自定义存储;useAuth 与 Web 同 API;OAuth 需 useSSO 并在 app.json 配置深链 scheme。
最小用法:在 app/_layout.tsx 中用 ClerkProvider 包裹 Stack,显式传入 publishableKey 与 tokenCache。内置令牌缓存来自 @clerk/expo/token-cache,依赖 expo-secure-store,安装命令:npx expo install expo-secure-store。认证钩子从 @clerk/expo 导入 useAuth、useUser、useSignIn、useSignUp、useClerk。OAuth 使用 useSSO 的 startSSOFlow,并调用 WebBrowser.maybeCompleteAuthSession()。组织切换使用 useOrganization 与 useOrganizationList。
常见问题:生产环境 publishableKey 为 undefined 多因未用 EXPO_PUBLIC_ 前缀,应命名为 EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY;重启丢令牌因未传 tokenCache;OAuth 重定向失败因 app.json 缺 scheme;useSSO 找不到因版本过旧(v3+ 已取代 useOAuth)。
限制:资料未提供收费、价格、平台支持范围与效果数据。