Appwrite supports phone authentication, which allows users to create accounts and log in using SMS messages. Appwrite requires an SMS provider to be set up before using Phone authentication.
SMS providers
Appwrite supports a growing list of SMS providers that you can choose from. Choose one from the list below and set up an account.
SMS provider | Create account | Get credentials | |
Twilio | Website | Documentation | |
TextMagic | Website | Documentation | |
Telesign | Website | Documentation | |
MSG91 | Website | Documentation | |
Vonage | Website | Documentation |
Environment variables
You will need to configure these environment variables and restart your Appwrite containers before you can use phone authentication.
URL encode
Ensure the values you insert in the _APP_SMS_PROVIDER placeholders are URL encoded if they contain any non-alphanumeric characters.
Provider | _APP_SMS_PROVIDER | _APP_SMS_FROM |
Twilio | sms://[ACCOUNT SID]:[AUTH TOKEN]@twilio | [TWILIO PHONE NUMBER] |
TextMagic | sms://[USERNAME]:[API KEY]@text-magic | [PHONE NUMBER OR SENDER ID] |
TeleSign | sms://[CUSTOMER ID]:[API KEY]@telesign | [TELESIGN PHONE NUMBER] |
MSG91 | sms://[SENDER ID]:[AUTH KEY]@msg91 | [FLOW ID] |
Vonage | sms://[API KEY]:[API SECRET]@vonage | [PHONE NUMBER OR BRAND NAME] |
Applying changes
After editing your docker-compose.yml or .env files, you will need to recreate your Appwrite stack by running the following compose command in your terminal.
docker compose up -d
You can verify if the changes have been successfully applied by running this command:
docker compose exec appwrite vars