Native mobile auth, biometrics, and RBAC — same IDP, same users, same roles.
Your mobile app shares the same user base as your web app. One identity platform. Two surfaces.
Not a WebView wrapper. Not a browser redirect. Native authentication with platform keychain storage, biometrics, and transparent token management.
Lightweight state management with encrypted async storage. Session state survives app restarts and backgrounding.
Face ID, Touch ID, fingerprint — native biometric authentication as a 2FA step or session unlock.
401 retry with transparent token refresh. No auth-related crashes, no manual token lifecycle code.
Handle OAuth callbacks, magic links, and password resets via deep links — even if the app was closed.
SMS, email, and TOTP 2FA with masked contact display. The user sees "j***@e***.com" — never the full address.
Same IDP, same users, same roles, same sessions as your web app. A user logs in on mobile and their web session knows.
Clone, configure, run. The template is a complete app — not a library you wire up.
git clone payez-react-native-mvpClone the template repository. It's a full React Native app, not a library.
Set env varsVIBE_API_URL, VIBE_CLIENT_ID, VIBE_CLIENT_SECRET in .env
Configure OAuth redirectAdd your app's deep link scheme to the IDP tenant settings.
npx expo startLogin screen, biometric prompt, session persistence — running on your device.
The template includes production-ready screens, navigation, and auth flows. You add your app's features on top.
Pre-built, themed screens for email/password and social login. Customizable but functional immediately.
Native browser-based OAuth via the IDP. Google, GitHub, or any provider configured on your tenant. No WebView hacks.
Token storage, refresh lifecycle, concurrent session awareness. Your app never shows a stale session.
Tab bars and drawers that show/hide based on the user's roles. Admin sees admin tabs. Members see member tabs.
Light/dark mode matching the system preference or user choice. Synced to the same Redis store as your web app.
Graceful error handling at the navigation level. Auth failures route to login, not crash screens.
Tokens and sensitive data stored in the platform keychain (iOS Keychain / Android Keystore). Not AsyncStorage.
Register device push tokens against the user's session. Ready for your notification backend.
Your React Native app connects to the same idp.payez.net tenant as your Next.js web app. Same users table. Same roles. Same sessions table (so you can see all active sessions — web and mobile — in one admin panel). Same custom schemas, same Vibe API.
The same custom schemas you define for your web app are accessible from your mobile app via the Vibe API. Auth is handled automatically — the mobile SDK attaches the session token to every request.
Build CRUD screens for your custom tables without touching auth, token refresh, or session logic. The SDK handles 401 retries transparently.
VibeSQL docs →// React Native — fetch custom schema data
// Auth token attached automatically by the SDK
const resumes = await vibeApi.query(
'ideal_resume',
'resumes',
{ user_id: session.userId }
);
// Same table, same data as your web app
// The user's identity is inherited from vibe_app.usersSame identity as your web app. Biometrics, deep linking, secure storage — already wired. 10K MAU free. No credit card required.