Ionic 7+MSAL认证在Android Studio模拟器报错求助:untrusted authority
1. 确认Authority配置正确性
- 确保MSAL的
auth配置中,authority是完整的Azure AD标准端点,格式应为https://login.microsoftonline.com/{tenant-id}或https://login.microsoftonline.com/common,禁止使用相对路径、本地地址或不完整的端点。 - 检查代码中是否存在硬编码的错误Authority值,比如拼写错误或遗漏协议头。
2. 配置Android网络安全信任规则
如果使用微软公共登录端点仍出现问题,需在Android项目中添加网络安全配置:
- 在Android项目的
res/xml目录下创建或编辑network_security_config.xml,添加内容:
<?xml version="1.0" encoding="utf-8"?> <network-security-config> <domain-config cleartextTrafficPermitted="true"> <domain includeSubdomains="true">login.microsoftonline.com</domain> </domain-config> </network-security-config>
- 在
AndroidManifest.xml的<application>标签中引用该配置:
<application ... android:networkSecurityConfig="@xml/network_security_config">
3. 验证重定向URI配置一致性
- 在Azure AD应用注册后台,确认已添加Android平台的重定向URI,格式为
msauth://{你的应用包名}/{Base64编码的签名}。 - 确保Ionic项目中MSAL配置的
redirectUri与Azure AD后台的配置完全一致,包括大小写和特殊字符。
4. 更新MSAL依赖版本
- 检查
@azure/msal-angular和@azure/msal-browser的版本,旧版本可能存在Capacitor环境兼容性问题。 - 执行命令更新依赖:
npm update @azure/msal-angular @azure/msal-browser
5. 清理缓存并重建项目
- 在Android Studio中执行
Build > Clean Project清除构建缓存。 - 卸载模拟器中的应用,重新执行
ionic cap sync android和ionic cap run android部署应用。
内容的提问来源于stack exchange,提问作者Manu88
相关产品推荐
相关产品推荐

