AIKraft/Skills/Паттерны Clerk Expo

Паттерны Clerk Expo

Expo / React Native patterns with Clerk — SecureStore token cache, OAuth deep linking, useAuth in native, Expo Router protected routes, push notifications with user context. Triggers on: expo clerk, clerk react native, SecureStore token cache, expo router auth, OAuth deep link clerk, mobile auth clerk.

clerk official Разработка

Что делает навык

Набор паттернов для интеграции Clerk в приложения на Expo/React Native, обеспечивающий безопасное хранение токенов через SecureStore, OAuth-авторизацию с deep linking и управление сессиями. Решает задачи аутентификации, защиты маршрутов Expo Router и работы с контекстом пользователя в нативной среде.

Когда применять

  • Инициализация Clerk в приложении Expo с использованием токена-кэша для сохранения сессии после перезапуска.
  • Реализация входа через Google, Apple или GitHub с использованием OAuth deep linking и WebBrowser.
  • Защита экранов Expo Router от несанкционированного доступа с использованием хука useAuth.
  • Переключение между организациями (Org Switching) в рамках B2B-сценариев.

Как работает

  1. Установить зависимости @clerk/expo (v3+) и expo-secure-store, убедившись, что версия Expo 53+ и React Native 0.73+.
  2. Настроить ClerkProvider в app/_layout.tsx, передав publishableKey (через EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY) и prop tokenCache.
  3. Использовать хуки useAuth, useUser, useSignIn, useSignUp, useClerk для управления состоянием авторизации в компонентах.
  4. Для OAuth вызвать useSSO().startSSOFlow с указанием strategy и redirectUrl, а на экране обратного вызова вызвать WebBrowser.maybeCompleteAuthSession().
  5. Настроить protected routes в Expo Router, проверяя isSignedIn через useAuth и перенаправляя на страницу входа при отсутствии сессии.

Примеры запросов агенту

Как настроить ClerkProvider с токеном SecureStore в app/_layout.tsx для Expo?
Реализуй вход через Google OAuth с deep linking в React Native приложении на Clerk.
Создай защищённый маршрут в Expo Router, который перенаправляет на sign-in, если пользователь не авторизован.

Что понадобится

  • Expo 53+, React Native 0.73+, пакет @clerk/expo v3+
  • Установленный expo-secure-store
  • Переменная окружения EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY

Описание составлено по SKILL.md навыка, сверено 06.10.2026.

Как подключить

1Скачать навык
# возьмите папку навыка «clerk-expo-patterns» из репозитория: # https://github.com/clerk/skills
2Положить папку с SKILL.md к навыкам ассистента
# положите папку навыка туда, где ассистент ищет skills: cp -r clerk-expo-patterns/ ~/.claude/skills/clerk-expo-patterns/

Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.