WhatsApp Login
Sign people in with the phone number they already use on WhatsApp. Free and unlimited: no SMS bills, no per-verification fees, no WhatsApp Business account to set up.
The person sends
2CK4M9QX7…
AuthAction replies
Turn the one-time code around
An SMS code is a message you pay for, every time, in every country, and some countries add sender registration on top. Codes arrive late, get typed wrong, and cost the same whether the sign-in works or not.
With WhatsApp Login the person sends the message instead. WhatsApp opens with a one-time code filled in, they tap Send, and WhatsApp itself vouches for the number it came from. Nothing is sent to them to pay for, so there is nothing to charge you for.
How it worksTwo taps for the person
No code to read off one screen and type into another. The screen that started the sign-in finishes it on its own.
1. Sign in with WhatsApp
WhatsApp opens with the sign-in message and a one-time code already filled in. The code lasts 10 minutes and works once.
2. Tap Send
AuthAction matches the code, records the number it came from, and replies "You're signed in" in the same chat.
3. Signed in
Your app, which has been waiting, gets AuthAction tokens or the verified phone number. On a computer, a QR code lets the person send from their phone.
One call in your app
The WhatsApp SDK runs the whole sign-in from a web, React Native or Expo app, with no backend and no client secret.
- No browser, no OAuth redirect
- PKCE, so no secret ships in the app
- ID, access and rotating refresh tokens
- Keeps waiting through a weak signal
- QR code fallback when WhatsApp is on another phone
- Sign-ins stored in your tenant's region, deleted after a day
import { WhatsappAuth } from '@authaction/whatsapp-sdk';
const auth = new WhatsappAuth({
domain: 'acme.eu.authaction.com',
clientId: 'your-client-id',
});
const tokens = await auth.signIn({
open: async (s) => {
// Phone: straight to WhatsApp.
if (await Linking.canOpenURL(s.whatsappUrl)) {
await Linking.openURL(s.whatsappUrl);
} else {
showQrCode(s.webUrl); // WhatsApp is on another phone
}
},
});
// tokens.idToken, tokens.accessToken, tokens.refreshToken
Add it the way your app works
Create the WhatsApp connection once, enable it for your application, and pick a path. All three can run side by side.
Hosted login
A "Sign in with WhatsApp" button appears on your login page beside Google and your other connections. No code changes if you already use AuthAction's login.
App with no backend
@authaction/whatsapp-sdk for web, React Native
and Expo, or three plain HTTP calls from Swift and Kotlin.
The app gets AuthAction tokens directly.
With your backend
Your backend starts the sign-in and receives the verified phone number, then creates its own session. The app only opens WhatsApp and waits.
€0 per sign-in
Free, and unlimited
WhatsApp Login is included on every AuthAction tenant at no cost, like everything else on the platform. There is no per-message price, no verification fee and no monthly active user tier waiting at the next milestone.
- No WhatsApp Business account, number or message templates to set up
- No SMS sender IDs or DLT registration
- The same number is the same user, across every app in your tenant
Further reading
Stop paying for sign-in codes
Add WhatsApp Login in minutes. Free and unlimited, no credit card required.