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

将PowerShell的Get-MsalToken转换为C#时遇重定向URI匹配错误

解决MSAL C#获取令牌时重定向URI不匹配的错误

你原本通过PowerShell命令 Get-MsalToken -ClientId '' -TenantId '' -Scopes '' 可正常获取Bearer令牌,转成C#实现后运行报错:

请求中指定的重定向URI 'http://localhost' 与为应用程序配置的重定向URI不匹配

解决步骤:

  • 登录Azure门户,找到对应ClientId的应用注册
  • 进入应用注册的「认证」页面
  • 在「移动和桌面应用」区域,添加http://localhost作为重定向URI;或者不想手动指定的话,可直接使用MSAL的默认重定向URI配置

修正后的C#代码示例:

var clientId = "xyz";
var tenantId = "xyz";

// 目标权限范围
string[] scopes = { $"{clientId}/.default" };
string authority = $"https://login.microsoftonline.com/{tenantId}";

IPublicClientApplication app = PublicClientApplicationBuilder.Create(clientId)
    .WithAuthority(new Uri(authority))
    .WithDefaultRedirectUri() // 自动匹配应用配置的默认重定向URI
    .Build();

AuthenticationResult result = await app.AcquireTokenInteractive(scopes).ExecuteAsync();
var token = result.AccessToken;

内容的提问来源于stack exchange,提问作者Node.JS

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 12:17:29