用户指南身份认证
短信验证登录配置
配置手机短信验证登录
短信验证提供了基于手机号的一次性密码(OTP)认证功能。
支持的短信服务商
目前支持阿里云(国内)和 Twilio(国际)两种,你可以按需求进行选择:
阿里云短信配置
在 .env 文件中添加:
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" # 模版CodeTwilio 短信配置
在 .env 文件中添加:
TWILIO_ACCOUNT_SID="your_twilio_account_sid"
TWILIO_AUTH_TOKEN="your_twilio_auth_token"
TWILIO_DEFAULT_FROM="+1234567890"修改配置文件
config/sms.ts 包含短信服务的配置:
// config/sms.ts
export const smsConfig = {
/**
* Default SMS Provider
*/
defaultProvider: 'aliyun',
// ...其他配置
}默认使用的是阿里云发送。配置完毕以后应该就在注册的时候成功的发送验证短信了。
开发环境建议
开发环境建议: 测试完成后,建议在开发环境注释掉短信发送代码,直接保留 console.log 输出打印出的 code 即可,避免产生不必要的费用。
同时如果想在 HTTP 响应中查看,我们的代码中已经将它添加到一个临时字段中:
// 开发环境:将 OTP 代码存储到 context 中,通过 hooks 返回
if (process.env.NODE_ENV === 'development') {
(request as any).context = (request as any).context || {};
(request as any).context.otpCode = code;
console.log('[DEVELOPMENT MODE] OTP code stored in context:', code);
}你可以查看 network 来获取对应的信息详情。
扩展短信功能
除了认证短信,你还可以扩展短信服务用于:
- 营销短信
- 🔔 通知短信
- 🚨 安全警报
- 自定义验证流程
详细配置请参考:libs/sms/README.md
返回 认证配置概览