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

Ionic iOS端Azure MSAL认证报错AADSTS9002326求解决

解决iOS端AADSTS9002326错误的方法

1. 调整Azure AD应用注册的客户端类型

  • 登录Azure门户,找到你的应用注册
  • 进入认证页面,删除原有的SPA类型重定向URI(如果已配置)
  • 添加移动和桌面应用类型的重定向URI:
    • 输入msauth.<你的应用Bundle ID>://auth(示例:msauth.com.yourcompany.yourapp://auth)
    • 同时将capacitor://localhost也添加到该类型的重定向URI列表(兼容测试场景)
  • 保存配置

2. 修改Ionic应用中的MSAL初始化与iOS配置

  • MSAL配置调整:根据平台切换重定向URI,确保Native环境使用Native类型的URI:
    import { Capacitor } from '@capacitor/core';
    
    const isNative = Capacitor.isNativePlatform();
    
    const msalConfig = {
      auth: {
        clientId: '你的客户端ID',
        authority: 'https://login.microsoftonline.com/你的租户ID',
        redirectUri: isNative ? 'msauth.com.yourcompany.yourapp://auth' : 'http://localhost:4200',
        postLogoutRedirectUri: isNative ? 'msauth.com.yourcompany.yourapp://auth' : 'http://localhost:4200'
      },
      cache: {
        cacheLocation: isNative ? 'localStorage' : 'sessionStorage',
        storeAuthStateInCookie: !isNative
      }
    };
    
  • iOS Info.plist配置:添加对应的URL Scheme和查询权限,确保Azure能回调你的应用:
    打开ios/App/App/Info.plist,插入以下内容:
    <key>CFBundleURLTypes</key>
    <array>
      <dict>
        <key>CFBundleURLSchemes</key>
        <array>
          <string>msauth.com.yourcompany.yourapp</string>
        </array>
      </dict>
    </array>
    <key>LSApplicationQueriesSchemes</key>
    <array>
      <string>msauthv2</string>
      <string>msauthv3</string>
    </array>
    

3. 核心注意事项

  • 禁止将capacitor://localhost添加到SPA类型的重定向URI,Azure仅允许SPA使用http/https协议的URI
  • iOS端必须使用移动和桌面应用类型的重定向URI,配合Bundle ID对应的URL Scheme,才能通过Azure的跨源令牌兑换校验
  • 测试前清理iOS模拟器缓存或重新安装应用,确保配置生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 16:03:31