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

Spring Boot应用从ADAL迁移至MSAL遇AADSTS50194错误求解决方案

解决ADAL迁移MSAL时的AADSTS50194错误

首先咱们先理清这个错误的核心原因:你的应用primadollardev_solanapi被配置为单租户应用,但代码里使用了/common这个多租户认证端点。根据Azure AD的规则,2018年10月15日后创建的单租户应用不再支持/common端点,必须改用租户特定端点,或者把应用改成多租户模式。

下面给你两种可行的解决方案,你可以根据业务需求选择:

方案一:将应用配置为多租户(适合需要支持多个租户的场景)

如果你的业务需要允许其他租户的用户访问,那就把应用改成多租户:

  1. 登录Azure门户,找到你的应用注册(ID:fd0ac989-0246-4999-b562-6d42d3636c22)
  2. 进入概述页面,找到「支持的账户类型」选项
  3. 选择「任何组织目录中的账户(任何Azure AD目录 - 多租户)」;如果需要支持个人微软账户(比如Skype、Xbox),可以选更宽泛的「任何组织目录中的账户和个人Microsoft账户」选项
  4. 保存更改

修改后,你的MSAL代码里的authority可以继续使用https://login.microsoftonline.com/common,或者换成https://login.microsoftonline.com/organizations(仅针对工作/学校账户)。

方案二:使用租户特定的Authority(适合单租户业务场景)

如果你的应用只需要自己租户的用户访问,那就直接用租户专属的认证端点:

  1. 先获取你的租户ID(可以在Azure门户的「Azure Active Directory」→「概述」里找到),或者用租户域名(比如your-tenant.onmicrosoft.com)
  2. 修改MSAL代码里的authority配置,把common替换成你的租户ID或域名:
// 替换成你的租户ID或者租户域名
String authority = "https://login.microsoftonline.com/your-tenant-id-or-domain";
ConfidentialClientApplication clientApplication = ConfidentialClientApplication.builder(
        clientId, ClientCredentialFactory.create(clientSecret))
        .authority(authority)
        .build();

这种方式更适合单租户场景,也更安全,因为它只允许你自己租户的用户进行认证。另外记得检查应用注册的「支持的账户类型」是否设置为「仅此组织目录中的账户」,确保和单租户的配置匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 22:57:56