TinyShip
TinyShip
 TinyShip
TinyShip
TinyShip Documentation
TinyShip User GuideGetting StartedBasic Configuration
Authentication ConfigurationEmail Password AuthenticationGoogle OAuth ConfigurationGitHub OAuth ConfigurationWeChat Login ConfigurationSMS Verification Login
Credits System Configuration
Storage Service ConfigurationCaptcha Configuration
User GuideAuthentication

SMS Verification Login

Configure phone SMS verification login

SMS verification provides one-time password (OTP) authentication based on phone numbers.

Supported SMS Providers

ProviderUse Case
Aliyun SMSChinese users (requires enterprise qualification)
TwilioInternational users

Aliyun SMS Configuration

ALIYUN_ACCESS_KEY_ID="your_aliyun_key_id"
ALIYUN_ACCESS_KEY_SECRET="your_aliyun_key_secret"
ALIYUN_SMS_SIGN_NAME="your-sms-sign-name"
ALIYUN_SMS_TEMPLATE_CODE="SMS_000000000"

Twilio SMS Configuration

TWILIO_ACCOUNT_SID="your_twilio_account_sid"
TWILIO_AUTH_TOKEN="your_twilio_auth_token"
TWILIO_DEFAULT_FROM="+1234567890"

Modify Configuration File

// config/sms.ts
export const smsConfig = {
  defaultProvider: 'aliyun',
}

Development Environment Tips

In development, OTP code is stored in context:

if (process.env.NODE_ENV === 'development') {
  (request as any).context.otpCode = code;
  console.log('OTP code:', code);
}

WeChat Login Configuration

Configure WeChat account login

Payment Configuration

TinyShip payment system configuration guide

On this page

Supported SMS ProvidersAliyun SMS ConfigurationTwilio SMS ConfigurationModify Configuration FileDevelopment Environment Tips