多租户Expo应用AASA配置问题:webcredentials无法触发密码保存提示
多租户Expo应用配置AASA webcredentials实现子域名独立钥匙串密码保存失败
我在搭建多租户Expo应用时,需要通过AASA(Apple App Site Association)的webcredentials功能让每个租户的独立子域名对应独立的iOS钥匙串存储(凭证不跨租户共享)。之前在根域名上已经成功实现密码自动保存提示,但多租户场景下完全失效。
环境与配置说明
- Expo版本:47,使用EAS build构建
- 所有租户应用同属一个Apple Team ID,但为独立的Expo应用
- 登录页面的TextField已正确设置
textContentType为username和password
当前问题现象
用户登录后,iOS系统未弹出“保存密码”的提示框;但手动通过iCloud钥匙串添加对应子域名的密码时,能正常显示该子域名的条目。
已完成的排查操作
- 为每个应用的配置文件添加了Associated Domains能力
- Expo的
app.json中已正确配置对应子域名的webcredentials:<subdomain>.example.com和applinks:<subdomain>.example.com - 使用TestFlight进行测试,每次EAS构建都执行
eas build --clean-build并更新运行时版本 - AASA文件托管在子域名的
.well-known目录下,无跳转,响应的Content-Type为application/json - 通过Apple的验证工具确认AASA文件有效,且Apple CDN已缓存正确的文件内容
- 查看设备日志,应用安装时正常请求了AASA文件,
swcutil_show.txt中显示所有服务状态均为approved - 尝试过使用静态AASA文件、更换其他测试域名,问题依旧存在
目前我怀疑问题可能和LetsEncrypt的通配符SSL证书有关,但还没来得及验证,想请教各位有没有类似的排查经验或解决建议。
内容的提问来源于stack exchange,提问作者TreeMan360
相关产品推荐
相关产品推荐

