Shipped Apple Sign In before lunch
We were dreading the Apple Developer setup. Kembo had Sign in with Apple working in our Expo app the same afternoon we signed up.
Mobile-first authentication
Hosted Google and Apple sign-in, secure sessions, and drop-in SDKs for Expo, Flutter, Capacitor, and Web — plus optional privacy-first analytics on Pro.
Free tier · No credit card · Kembo-hosted sign-in
Alex Morgan
alex@example.com
Access the signed-in user
import { useAuth, useUser } from "@kembo/expo"; export function Profile() { const { isSignedIn } = useAuth(); const { user } = useUser(); if (!isSignedIn) return <AuthView />; return ( <View> <Image source={{ uri: user.avatarUrl }} /> <Text>{user.name}</Text> <Text>{user.email}</Text> </View> ); }
Official SDKs for Expo, Flutter, Capacitor, and Web
From zero to your first signed-in user without standing up auth infrastructure.
Sign up, create a project, and copy your publishable and secret keys from the dashboard.
Install the SDK for your stack and render AuthView for hosted Google and Apple sign-in.
Read profile, email, and avatar with useUser() and useAuth() — Kembo handles sessions and refresh.
More than a sign-in button. Kembo gives you hosted OAuth, user sessions, SDKs, and optional privacy-first analytics on Pro — so you can launch faster and stay focused on your app.
Drop-in social auth for mobile. Kembo hosts OAuth on the free plan — no Google Cloud or Apple Developer setup to get started.
useUser() and useAuth() expose profile, email, and avatar after sign-in. Same API across Expo, Flutter, Capacitor, and Web (React). Vue, Angular, and Svelte use the same headless core.
Short-lived JWTs, rotating refresh tokens, and hashed session storage. Built for production mobile apps.
Promote a user to admin from the dashboard, then list and remove your project's users right from your app with useUsers(). Members only ever see their own account.
Upgrade a project to show your app name and logo on the sign-in screen, with your own OAuth credentials.
Opt in per project, add a small module to your app, and see usage by city, country, and platform — random id per install (not linked to login), no cookies, no ad trackers.
Copy an agent prompt from the dashboard and let Cursor integrate Kembo into an existing or new app.
Flip a project to production when you ship. Kembo handles token refresh and session lifecycle in the SDK.
Developers ship Google and Apple sign-in faster with Kembo — from solo founders to agencies launching client apps.
We were dreading the Apple Developer setup. Kembo had Sign in with Apple working in our Expo app the same afternoon we signed up.
Refresh tokens and secure storage were the part we always got wrong. Kembo's session handling survived app kills and OS updates.
We needed city and platform breakdowns for product decisions, not ad IDs. Kembo analytics felt like the right tradeoff for a privacy-minded team.
Our marketing site and mobile app share auth semantics. useUser() behaving the same on both cut our mental overhead in half.
Pasted the Cursor prompt from the dashboard and had AuthView wired into our existing navigation stack in one session.
No awkward WebView hacks for sign-in. The hosted flow returned to our app cleanly on both platforms.
We toggled the project when we hit the stores. No new keys, no redeploy drama — just the same SDK with production credentials.
Rare for dev tools: the getting-started guide worked copy-paste on first try. No mystery environment variables.
Sign in with Apple private relay tripped us up before. Kembo's Apple guide covered the gotchas we usually Google at midnight.
We standardize on Kembo for greenfield mobile projects. Clients get branded auth without us rebuilding OAuth each time.
We were dreading the Apple Developer setup. Kembo had Sign in with Apple working in our Expo app the same afternoon we signed up.
Refresh tokens and secure storage were the part we always got wrong. Kembo's session handling survived app kills and OS updates.
We needed city and platform breakdowns for product decisions, not ad IDs. Kembo analytics felt like the right tradeoff for a privacy-minded team.
Our marketing site and mobile app share auth semantics. useUser() behaving the same on both cut our mental overhead in half.
Pasted the Cursor prompt from the dashboard and had AuthView wired into our existing navigation stack in one session.
No awkward WebView hacks for sign-in. The hosted flow returned to our app cleanly on both platforms.
We toggled the project when we hit the stores. No new keys, no redeploy drama — just the same SDK with production credentials.
Rare for dev tools: the getting-started guide worked copy-paste on first try. No mystery environment variables.
Sign in with Apple private relay tripped us up before. Kembo's Apple guide covered the gotchas we usually Google at midnight.
We standardize on Kembo for greenfield mobile projects. Clients get branded auth without us rebuilding OAuth each time.
Every mobile OAuth guide assumes you run your own backend. Kembo handles the redirect dance so we could focus on onboarding flows.
Reviewers wanted our app name on the Google screen, not a third-party label. Custom OAuth on Pro was straightforward from the dashboard wizard.
Auth was the blocker on every side project. Kembo removed that entirely — we shipped a real build with real accounts.
We used Kembo's docs and dashboard tools to wire deletion flows before launch. One less surprise during store review.
Promoting a user to admin from the dashboard and listing members from the app covered our MVP team features.
Six weeks of internal auth work became a weekend migration. Kembo's session model was closer to what we needed anyway.
Background refresh and token rotation worked on flaky mobile networks. We stopped writing custom retry logic.
AuthView dropped into our stack navigator. We spent the saved week polishing the first-run experience instead.
Users can sign in on the marketing site with the same accounts as the mobile app. One Kembo project, two surfaces.
Opt-in analytics with no third-party trackers made our legal review simpler than Mixpanel or Firebase would have.
Every mobile OAuth guide assumes you run your own backend. Kembo handles the redirect dance so we could focus on onboarding flows.
Reviewers wanted our app name on the Google screen, not a third-party label. Custom OAuth on Pro was straightforward from the dashboard wizard.
Auth was the blocker on every side project. Kembo removed that entirely — we shipped a real build with real accounts.
We used Kembo's docs and dashboard tools to wire deletion flows before launch. One less surprise during store review.
Promoting a user to admin from the dashboard and listing members from the app covered our MVP team features.
Six weeks of internal auth work became a weekend migration. Kembo's session model was closer to what we needed anyway.
Background refresh and token rotation worked on flaky mobile networks. We stopped writing custom retry logic.
AuthView dropped into our stack navigator. We spent the saved week polishing the first-run experience instead.
Users can sign in on the marketing site with the same accounts as the mobile app. One Kembo project, two surfaces.
Opt-in analytics with no third-party trackers made our legal review simpler than Mixpanel or Firebase would have.
Dropped in the SDK, copied the keys, and we had Google sign-in on a Flutter build without pulling a senior engineer off feature work.
We migrated from a web-only auth stack. The Capacitor SDK matched our React code patterns and worked on iOS and Android.
Managing test users, copying redirect URIs, and validating Google credentials in one place beat juggling three cloud consoles.
We didn't want a credit card on day one. Kembo-hosted sign-in was enough to prove retention before we upgraded to Pro branding.
The branding setup caught the missing domain issue before we wasted an hour in Console. Small UX detail, huge time saver.
OAuth consent screen steps in the dashboard matched what Google actually asked for. Our first-time founders didn't get stuck.
Solo founder building a fitness app — Kembo let me ship Google and Apple login without hiring a backend contractor.
We only upgraded the app going to production. Other experiments stayed on the free Kembo-hosted sign-in.
The test button caught a wrong client secret immediately. Would have taken us a day of cryptic Google errors otherwise.
App Store review was Friday. We had sign-in working Wednesday night. That's the whole story.
Dropped in the SDK, copied the keys, and we had Google sign-in on a Flutter build without pulling a senior engineer off feature work.
We migrated from a web-only auth stack. The Capacitor SDK matched our React code patterns and worked on iOS and Android.
Managing test users, copying redirect URIs, and validating Google credentials in one place beat juggling three cloud consoles.
We didn't want a credit card on day one. Kembo-hosted sign-in was enough to prove retention before we upgraded to Pro branding.
The branding setup caught the missing domain issue before we wasted an hour in Console. Small UX detail, huge time saver.
OAuth consent screen steps in the dashboard matched what Google actually asked for. Our first-time founders didn't get stuck.
Solo founder building a fitness app — Kembo let me ship Google and Apple login without hiring a backend contractor.
We only upgraded the app going to production. Other experiments stayed on the free Kembo-hosted sign-in.
The test button caught a wrong client secret immediately. Would have taken us a day of cryptic Google errors otherwise.
App Store review was Friday. We had sign-in working Wednesday night. That's the whole story.
Integrate once with our official Expo, Flutter, Capacitor, and Web SDKs. AuthView handles sign-in; hooks expose the signed-in user in your screens.
Expo
React Native with expo-auth-session and secure storage.
Flutter
Dart SDK with AuthView, KemboProvider, and secure tokens.
Capacitor
Web-native SDK for Ionic and Capacitor hybrid apps.
Web
Browser SDK for React, Vue, Angular, and Svelte. React gets drop-in AuthView; other stacks use the headless core.
Start free while you build. Upgrade per project when you ship.
Pro
Ship to production with your own branding and optional analytics.
Billed per project. Cancel anytime from your dashboard.
Everything you need to know before you ship.
Official SDKs for Expo (React Native), Flutter, Capacitor, and the Web. On the web, React gets a drop-in AuthView while Vue, Angular, and Svelte use the same headless core.
No. On the free plan Kembo hosts Google and Apple sign-in for you, so you can start without any OAuth setup. On Pro you can connect your own credentials and show your app's branding.
Kembo issues short-lived JWTs with rotating refresh tokens and stores session state hashed. Token refresh and session lifecycle are handled for you inside the SDK.
Start free in development mode with unlimited end users. Pro is €10/month, billed per project, and unlocks production mode, your own branding, and optional analytics. Cancel anytime from the dashboard.
No cookies and no ad trackers. Optional analytics are privacy-first: opt-in per project, with a random per-install id that isn't linked to a user's login, showing usage by city, country, and platform.
Yes. Promote any user to admin from the dashboard; admins can list and remove your project's users directly from your app with useUsers(). Regular members only ever see their own account.
On Pro you can show your app name and logo on the Google and Apple sign-in screens and connect your own OAuth credentials via guided setup in the dashboard.
Create a Kembo project, copy your API key, install the SDK for your platform, and drop in the AuthView component. Kembo hosts the OAuth flow, so Google and Apple sign-in work on real iOS and Android devices without setting up your own Google Cloud project or Apple Services ID first.
On iOS, yes — Apple's App Store guidelines require Sign in with Apple when you offer a third-party login like Google, with equal prominence. Kembo's AuthView renders both side by side, so you meet the requirement by default.