使用MSAL v3库获取令牌时遭遇AADSTS50146错误求助
解决Outlook加载项MSAL v3获取令牌时的AADSTS50146错误
错误说明
调用acquireTokenSilent或acquireTokenPopup获取令牌时触发AADSTS50146错误,原因是应用未配置有效的应用特定签名密钥,或密钥已过期、未生效。错误详情如下:
{
"error": "invalid_request",
"error_description": "AADSTS50146: This application is required to be configured with an application-specific signing key. It is either not configured with one, or the key has expired or is not yet valid",
"error_codes": [50146],
"timestamp": "2025-04-07 11:52:54Z",
"trace_id": "cd3629d0-29fa-41bc-8b55-47a321311700",
"correlation_id": "9fb1a69e-93e7-4f24-9a50-280d6fcc7d40",
"error_uri": "https://login.microsoftonline.com/error?code=50146"
}
解决步骤
- 检查Azure应用注册的签名密钥
- 登录Azure门户,找到你的Outlook加载项对应的应用注册
- 进入「证书和机密」页面
- 分别查看「客户端密码」和「证书」选项卡:
- 客户端密码:确认是否存在未过期的密钥,检查到期日期
- 证书:确认证书在有效期内,未被吊销
- 添加/更新签名密钥
- 无有效密钥时:点击「新建客户端密码」,设置描述和过期时间,保存后记录密钥值(仅显示一次);或上传有效的PFX格式证书
- 密钥过期时:生成新的客户端密码或证书,删除旧的过期密钥
- 同步MSAL v3配置
确保MSAL初始化代码中的clientSecret(若用密码)或clientCertificate(若用证书)与Azure门户中配置的密钥完全一致 - 验证权限配置
确认应用注册的API权限与Outlook加载项清单文件中的权限声明匹配,避免因权限配置冲突引发额外问题
内容的提问来源于stack exchange,提问作者VIDYA RAGHAVI E
相关产品推荐
相关产品推荐

