Collect the mobile number
Your application collects the user’s mobile number when sign-in, registration or account verification is required.
Midiawave Auth provides a focused authentication workflow that allows your application to create a verification request, deliver an authentication code to the user's mobile number through WhatsApp and validate that code before granting access.
Midiawave Auth sits between your backend authentication logic and the WhatsApp delivery experience. Your product controls when authentication is required, while the verification session keeps the request tied to a temporary authentication flow.
Your application collects the user’s mobile number when sign-in, registration or account verification is required.
Your backend sends a request to Midiawave Auth and starts a temporary authentication session for the user.
A time-sensitive authentication code is generated for the active request and prepared for delivery.
The authentication code is delivered to the user’s mobile number through WhatsApp.
The user enters the received authentication code inside your website, application or digital service.
The submitted code is validated against the active authentication request before your application continues.
Midiawave Auth handles the authentication delivery workflow, but your backend remains responsible for deciding when a user should be authenticated and what happens after a successful verification.
Secure authentication is not simply about where the code is delivered. A strong implementation combines temporary codes, protected server communication, controlled verification attempts and secure application-side session handling.
Authentication codes should remain valid only for a limited period, reducing the usefulness of an old or exposed code.
A successful authentication code can be invalidated after verification so the same code cannot simply be reused.
Your application should communicate with the authentication service over encrypted HTTPS connections.
Authentication requests originate from your backend using credentials that should never be exposed inside public frontend code.
Rate limits, resend controls and verification-attempt limits help reduce automated abuse and repeated guessing attempts.
Authentication activity can be associated with individual requests so your application can understand whether a session is pending, verified or expired.
WhatsApp documents end-to-end encryption for personal messages and calls. The exact security properties of a business messaging implementation can depend on how the business, Meta services and any service providers process the conversation, so the authentication system should still protect the OTP lifecycle independently.
A verification system is strongest when the OTP is bound to a specific authentication session and the server makes the final decision about whether that request is valid.
Verification decisions should happen on your backend, where users cannot simply modify browser-side logic.
API credentials belong on your server and should not be included in public JavaScript, mobile bundles or HTML.
Old verification sessions should stop being valid after an appropriate time window.
Resends and incorrect-code attempts should be controlled to reduce automated abuse.
Verify a mobile number before allowing a user to access an existing account.
Confirm that a mobile number belongs to the user creating a new account.
Add a verification step before allowing sensitive account recovery actions.
Require additional verification before selected high-impact actions inside your product.
Create your authentication flow and start verifying users through Midiawave Auth.