Skip to content
  • Auth and access
  • Authentication methods

Phone authentication

You can 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.

Kinde default SMS

Link to this section

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.

  • On the Free plan, Kinde default SMS is limited to 10 SMS per month.
  • On paid plans (Pro, Plus, Scale), Kinde default SMS is not capped. Usage is billed per message — see Kinde pricing.
  • SMS sent as a second factor for MFA through Kinde’s default service counts toward the same Free plan limit and paid-plan usage as sign-in SMS.

Free plans cannot connect their own SMS provider.

Link to this section

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 recommendation, not a requirement.

Kinde supports:

Benefits of using a third-party SMS service instead of Kinde

Link to this section
  • Gives you full control over the SMS delivery nuances, such as SenderID, country registrations, and detailed delivery metrics.
  • You can register dedicated short codes or sender IDs in countries that have strict SMS sending regulations like Ireland, NZ and Canada, which will greatly improve deliverability.
  • Access to delivery logs and other service quality details for troubleshooting.

Switch on SMS for MFA

Link to this section

If you want phone authentication SMS and MFA SMS to use the same provider:

  1. In Kinde, go to Settings > Environment > Messaging > SMS.
  2. Scroll to the bottom and switch on the Use this service for SMS MFA option.
  3. Select Save.

You need a Twilio business account to send from your own numbers.

Phone authentication interactions are also known as A2P (Application to Person) messaging. Before you implement A2P, check if you need to register your business for 10DLC (10 Digit Long Code) support to be able to send messages, as this is required in some locations.

We also recommend you check Twilio’s guidelines for setting up messaging, and carefully follow procedures for registration, and SMS policies for all relevant countries.

You’ll need the following details that are in the dashboard of your Twilio account.

  • The SID of your Twilio account
  • The Auth Token for your Twilio account
  • Your Twilio phone number or the Messaging Service SID (if you set one up)

Twilio account info

Refer to the Twilio documentation for assistance setting up.

Configure Twilio

Link to this section
  1. In Kinde, go to Settings > Environment > Messaging > SMS.

  2. Select Twilio in the Provider field.

  3. Enter the Account SID and Auth token from your Twilio account.

    twilio details

  4. In the SMS source field, select either Use messaging service or Use phone number. Verification codes will be sent from whichever you choose.

  5. Depending on your selection in the previous step, enter either the Messaging service SID or Twilio Phone number in the relevant field.

    Twilio config

  6. Select if you want to use a fallback service if the provider service is interrupted. Fallback uses Kinde’s default SMS service.

    option to use kinde sms as fallback

  7. Select Save.

Set up Sinch Engage

Link to this section

You need a Sinch Engage account. See the Sinch Engage API for account and credential details.

  • An API key, created under Settings > API Settings in your Sinch Engage account
  • The API secret created alongside that key. Sinch only shows the secret once, when the key is created, so store it somewhere safe
  • The region your Sinch Engage account is hosted in — APAC or EU
  • Optionally, a source number and source number type if you want to send from a specific sender

Configure Sinch Engage

Link to this section
  1. In Kinde, go to Settings > Environment > Messaging > SMS.
  2. Select Sinch Engage in the Provider field.
  3. Enter your API key.
  4. Enter your API secret.
  5. Select your Account region — APAC or EU. This must match the region your Sinch Engage account is hosted in.
  6. Optionally enter a Source number. Leave it blank to use your account default.
  7. If you entered a source number, select the Source number type.
  8. Select if you want to use a fallback service if the provider service is interrupted. Fallback uses Kinde’s default SMS service.
  9. Select Save.

Configure phone SMS auth in Kinde

Link to this section

After you set this up, you can use SMS for both phone authentication and SMS MFA.

  1. In Kinde, go to Settings > Environment > Messaging > SMS.

  2. Select the Default country that you want to show on the authentication screen when users sign in.

  3. Select a Provider:

    • Kinde default — uses Kinde’s own SMS service. No credentials are needed. This works in live environments.
    • Twilio — your own Twilio account. See Set up Twilio.
    • Sinch Engage — your own Sinch Engage account. See Set up Sinch Engage.

    The fields below the selector change to match the provider you choose.

  4. If you selected your own provider, enter the credentials and choose whether to use a fallback service if the provider is interrupted.

  5. Select Save.

Switch on phone authentication for an application

Link to this section
  1. Go to Settings > Environment > Authentication.
  2. In the Passwordless section, select Configure on the Phone tile.
  3. Switch on the auth method for the applications you want.
  4. Select Save.

Switch on SMS as a factor in MFA

Link to this section

If MFA is required or optional for your users, you may want to use Kinde default SMS or your own SMS provider for SMS MFA.

  1. Go to Settings > Environment > Multi-factor auth.
  2. Under Additional authentication methods, switch on SMS.
  3. Select Save.

SMS message format

Link to this section

You can’t customize the code message that user’s receive. We use a standard format as follows, to allow for easier translation.

Your verification code is [xxxxxx]

When you configure phone authentication, you’ll see that a Connection ID is automatically assigned. If you’re building a custom authentication experience, you’ll need the ID to trigger the phone authentication workflow.