C# 相同的OAuth令牌获取在.NET Core 3.1中失败,但在完整的.NET Framework中工作

C# 相同的OAuth令牌获取在.NET Core 3.1中失败,但在完整的.NET Framework中工作,c#,.net,.net-core,salesforce,C#,.net,.net Core,Salesforce,我正在将我们的代码从.NET Framework升级到.NET Core 3.1,在我们的一个服务中遇到了问题,该服务使用Salesforce API处理身份验证 Salesforce令牌终结点返回错误 错误请求:{“错误”:“授权无效”,“错误描述”:“身份验证失败”} 当我在.NETCore中运行代码时。当我使用完整的框架时,它工作得很好 _tokenClient = factory.CreateClient("TokenClient"); _tokenClient.Ba

我正在将我们的代码从.NET Framework升级到.NET Core 3.1,在我们的一个服务中遇到了问题,该服务使用Salesforce API处理身份验证

Salesforce令牌终结点返回错误

错误请求:{“错误”:“授权无效”,“错误描述”:“身份验证失败”}

当我在.NETCore中运行代码时。当我使用完整的框架时,它工作得很好

_tokenClient = factory.CreateClient("TokenClient");
_tokenClient.BaseAddress = new Uri(_options.TokenUrl);

HttpContent content = new FormUrlEncodedContent(new Dictionary<string, string>
{
      {"grant_type", "password"},
      {"client_id", _options.ClientId},
      {"client_secret", _options.ClientSecret},
      {"username", _options.Username},
      {"password", _options.Password},
});

var response = await _tokenClient.PostAsync("token", content);
\u tokenClient=factory.CreateClient(“tokenClient”);
_tokenClient.BaseAddress=新Uri(_options.TokenUrl);
HttpContent=新的FormUrlEncodedContent(新字典
{
{“授权类型”,“密码”},
{“client_id”,_options.ClientId},
{“client_secret”,_options.ClientSecret},
{“username”,_options.username},
{“password”,_options.password},
});
var response=wait_tokenClient.PostAsync(“token”,内容);

完整的.NET框架处理url编码的方式与NET核心不同。在包含的参数中的一个上
&导致此问题的原因。将其更改为仅
&
解决了它