You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Expo构建正式/测试版App时,如何修改Twilio验证的BASE_URL?

解决方案:Expo构建正式/Beta版时配置Twilio手机号验证的BASE_URL

核心原则

正式/Beta版App的BASE_URL必须是公网可访问的HTTPS地址——真机无法访问本地IP,且Twilio的验证回调仅支持公网HTTPS端点。

1. 用环境变量实现多环境自动切换

既解决本地IP频繁修改的痛点,又能无缝适配正式环境:

  • 安装expo-constants(Expo官方环境变量工具),或搭配dotenv使用
  • 创建分环境的.env配置文件:
    • .env.development:本地测试用,填入当前本地IP或临时公网地址,比如BASE_URL=http://172.30.1.18:4000
    • .env.production:正式/Beta用,填入你的公网服务器域名,比如BASE_URL=https://your-production-api.com
  • 代码中直接读取环境变量,避免硬编码:
    import Constants from 'expo-constants';
    const BASE_URL = Constants.expoConfig?.extra?.BASE_URL || '默认 fallback 地址';
    
    (若使用dotenv,直接调用process.env.BASE_URL即可)

2. 正式环境的关键配置

  • 确保服务器域名拥有有效SSL证书(必须HTTPS),Twilio会拒绝向HTTP地址发送验证回调
  • 登录Twilio控制台的「验证服务」页面,将回调URL更新为正式BASE_URL对应的接口路径,比如https://your-production-api.com/verify/webhook

3. 本地测试的优化方案(可选)

如果不想频繁修改本地IP:

  • 使用ngrok把本地服务暴露为公网HTTPS地址,运行ngrok http 4000后,生成的https://xxxx-xx-xx-xx-xx.ngrok.io可直接作为开发环境BASE_URL,同时Twilio也能正常回调
  • 或修改本地hosts文件,将自定义域名(如local.verify.dev)映射到当前本地IP,代码里用该域名作为开发环境BASE_URL

内容的提问来源于stack exchange,提问作者Hyejung

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 21:06:30