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

Angular 9与MSAL v2兼容性咨询:替换ADAL相关问题

MSAL v2 与 Angular 9 的兼容性及迁移建议

兼容性说明

  • **@azure/msal-angular v2.x(MSAL Angular封装的v2版本)**与Angular 9不兼容,该版本对Angular的最低要求为12.0.0。
  • 若需在Angular 9环境下使用MSAL替代ADAL,可选择**@azure/msal-angular v1.x**(基于MSAL.js v1),它完全兼容Angular 9,能覆盖Azure AD认证的核心需求,足以替代ADAL。
  • 若你需要MSAL v2的新特性(如PKCE原生支持、更优化的SPA认证流程),则需将Angular版本升级至12及以上,方可适配@azure/msal-angular v2.x。

从ADAL迁移到MSAL的核心步骤

  • 卸载ADAL依赖:
    npm uninstall adal-angular
    
  • 安装对应版本的MSAL包:
    • Angular 9环境:
      npm install @azure/msal-angular@1.x @azure/msal-core@1.x
      
    • 升级Angular到12+后:
      npm install @azure/msal-angular@2.x @azure/msal-browser@2.x
      
  • 替换认证配置:将原ADAL的配置对象替换为MSAL的MsalConfiguration,核心参数(如clientId、tenant)可直接复用,需确保redirectUri与Azure AD应用注册中的配置一致。
  • 替换认证方法:将adalService.login()、adalService.acquireToken()等调用替换为MSAL的msalService.loginPopup()/loginRedirect()、msalService.acquireTokenSilent()等方法。
  • 更新路由守卫:使用MSAL提供的MsalGuard替代ADAL的路由守卫逻辑,实现路由级别的认证拦截。
  • 替换HTTP拦截器:用MsalInterceptor替代ADAL的拦截器,自动为API请求附加认证令牌。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 12:30:03