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

iOS 12 Objective-C集成MSAL遇SSO请求序列化错误求助

问题

在iOS 12的Objective-C项目中集成MSAL时,已完成以下配置:

  • 实例化MSALAADAuthority,地址为https://login.microsoftonline.com/<< id here >>
  • 创建包含该Authority、客户端ID及应用深度链接redirectURI的MSALPublicClientApplicationConfig
  • 构造包含所需权限范围的MSALInteractiveTokenParameters

但调用acquireTokenWithParameters方法时,触发如下错误:

Error Domain=MSALErrorDomain Code=-50000 "(null)" UserInfo={MSALErrorDescriptionKey=Failed to serialize SSO request dictionary for interactive token request, MSALInternalErrorCodeKey=-42008, MSALCorrelationIDKey=...}

当前通过CocoaPods安装的MSAL版本为1.2.5,使用相同端点配置的Swift示例可正常运行,请问该错误的原因是什么?

原因分析及解决建议
  • MSAL版本的Objective-C兼容性bug:你使用的1.2.5版本存在Objective-C环境下SSO请求字典序列化的已知问题,而Swift示例不受影响是因为该版本对Swift的适配更完善。后续版本(如你提到的1.2.18)已修复此问题,优先建议升级MSAL版本到最新稳定版。
  • 参数类型不兼容:检查MSALInteractiveTokenParameters的初始化参数,确保所有传入对象为纯Objective-C类型。例如权限范围数组需使用NSArray<NSString *> *,避免混入Swift类型导致序列化失败。
  • redirectURI配置问题:确认redirectURI完全匹配Azure AD后台配置的深度链接,且代码中以NSString类型传入,无编码错误或格式不规范的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 00:38:12