Enable multi-factor authentication
Auth and access
Allow users to use their phone as a primary method for authentication. This is a passwordless method, where the user is sent a verification code via SMS (or WhatsApp when configured). SMS can also be included as a secondary factor if you have multi-factor authentication set up.
Sign in to your Kinde account and go to Settings > Environment > Messaging.
Select the SMS tab.
In the Details section, select the Default country.
This is the country code shown by default on the authentication page when a user signs in.
In the SMS provider section, select a Provider.
See below for additional configuration steps.
By default, Kinde sends authentication SMS from its own shared service. You can use this in live environments on every plan. You do not need a third-party SMS provider to go live.
Connecting your own SMS provider requires a Kinde paid plan.
We recommend connecting your own SMS provider for best deliverability, and so you can control the Sender ID or From number. Your own provider is uncapped and is not billed by Kinde. This is a recommended approach, but not a requirement.
Kinde currently supports the following SMS providers:
Why use a third-party SMS service instead of Kinde?
Sign in to your Twilio dashboard and get the following credentials from your Console:
The Account SID
The Auth Token
Your Twilio phone number or the Messaging Service SID (if you set one up)
See the Twilio SMS documentation for detailed setup steps.
Select Twilio in the Provider dropdown. Twilio settings appear.
Enter the Account SID and Auth token from your Twilio account.
In the SMS source field, select either Use message service or Use “From number”. Kinde sends verification codes from the source you choose.
Twilio Messaging Services are suitable for global applications because they can select an appropriate sender based on where the user signs in.
Enter the value that matches the SMS source you selected:
Select Save.
For security, Kinde never displays a stored secret after you select Save. See Third-party secret storage for more information.
After configuring Twilio, enable phone authentication for your applications.
Sign in to your Sinch Engage (formerly MessageMedia) dashboard.
Go to Settings > API Settings and create a new API key.
Copy both the API key and API secret.
Sinch only shows the secret once, when the key is created, so copy and store it somewhere safe.
Take note of the region your Sinch Engage account is hosted in — Asia Pacific (default) or Europe.
Account region is where your Sinch Engage account is hosted — it selects the regional API endpoint Kinde calls. It is not a restriction on where you can send messages. From either region you can send to phone numbers in any country, subject to your provider’s registration requirements for those countries. The legacy MessageMedia endpoint (api.messagemedia.com) is not used.
Select Sinch Engage in the Provider dropdown. Sinch Engage settings appear.
Enter the API key and API secret from your Sinch Engage account.
Select your Account region — either Asia Pacific (au.app.api.sinch.com) or Europe (eu.app.api.sinch.com). Messages are sent through this region’s API endpoint, so it must match the region your Sinch Engage account is hosted in.
Optionally enter a Source number. Leave it blank to use your account default. For an international number, use E.164 format: a leading +, then country code and number with no spaces (for example +61412345678). Use the same value as registered in Sinch Engage. For an alphanumeric sender or short code, enter the value exactly as registered with Sinch Engage.
If you entered a source number, set Source number type to one of the following:
Select Save.
For security, Kinde never displays a stored secret after you select Save. See Third-party secret storage for more information.
After configuring Sinch Engage, enable phone authentication for your applications.
Dedicated source numbers are not enabled by default on Sinch Engage accounts and must be registered with Sinch first. If you enter a source number that is not registered to your account, messages will fail to send.
Source number type is only used when a Source number is set. Selecting a specific source number type while leaving the source number blank will fail validation.
Sinch Engage’s automatic detection of the source number type can be inaccurate for alphanumeric and short code sources. If your messages are not arriving and you use one of those source types, set the Source number type explicitly instead of leaving it on automatic.
In the Kinde dashboard, select View details on your preferred application tile.
Select Authentication from the left menu.
Enable Code from the Phone connections section.
Select Save.
You can also enable the connection for multiple applications at once:
Go to Settings > Environment > Authentication.
In the Phone connections section, select Configure on the Code tile. A connection popup appears.
Check each of the applications you want to enable phone authentication for.
Select Save.
You can also find the connection ID in this popup. The connection ID is useful when you build a custom authentication experience. You need the ID to trigger the phone authentication workflow.
When a third-party SMS provider is configured, you can set Kinde as a fallback service. Delivery through the fallback provider cannot be guaranteed.
Sign in to your Kinde account and go to Settings > Environment > Messaging.
Select the SMS tab.
Scroll down to the end of the page and enable Allow Kinde to use fallback SMS provider.
Select Save.
The fallback service uses Kinde’s own SMS provider, so any message it sends is billed to your Kinde account at standard rates. Leave the fallback switched off if you do not want that. See Kinde default SMS provider usage count and pricing.
You can use the same SMS provider for sending MFA (Multi-factor authentication) messages.
To make SMS available as an MFA method:
Go to Settings > Environment > Multi-factor auth.
Under Require multi-factor authentication, select Yes or Optional. More settings appear.
Under Additional authentication methods, switch on SMS.
Select Save.
Learn more about multi-factor authentication.
If you are using Kinde default SMS provider, the MFA SMS usage is counted towards your total SMS usage. See Kinde default SMS provider usage count and pricing.
We use this standard format to make translation easier.
123456 is your one-time code to sign in toxxxx@login.xxx.au #123456You can’t customize the code message that users receive.
Phone authentication interactions are also known as A2P (Application to Person) messaging. Before you implement A2P, check whether you need to register your business for 10DLC (10 Digit Long Code) support. Registration is required in some locations.
Whichever provider you choose, carefully follow their procedures for registration, and their SMS policies for all relevant countries.
For security, Kinde never displays a stored secret. The secret field for your provider — Auth token for Twilio, API secret for Sinch Engage — is always blank when you return to the page.