C# 相同的OAuth令牌获取在.NET Core 3.1中失败,但在完整的.NET Framework中工作
我正在将我们的代码从.NET Framework升级到.NET Core 3.1,在我们的一个服务中遇到了问题,该服务使用Salesforce API处理身份验证 Salesforce令牌终结点返回错误 错误请求:{“错误”:“授权无效”,“错误描述”:“身份验证失败”} 当我在.NETCore中运行代码时。当我使用完整的框架时,它工作得很好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
_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核心不同。在包含的参数中的一个上&代码>导致此问题的原因。将其更改为仅&
解决了它