Попытка позвонить в шлюз API, используя сертификат клиента в плагине (D365 Online) с аутентификацией JWT, но я получаю эту ошибку < /p>
Не удалось загрузить файл или сборку 'microsoft.identymodel.tokens, версия = 8.11.0, культура = нейтраль, publickeytoken. зависимости. Определение Manifest Assembly не соответствует ссылке на сборку.
true
< /code>
Я также пытался понизить версию до 5.6, а также восстановить и проверить-но я все еще получаю ту же ошибку. < /p>
Вот код: < /p>
call apiGateway(Input inputData) {
try{
var json = JsonConvert.SerializeObject(inputData, jsonSettings);
var data = new StringContent(json, Encoding.UTF8, "application/json");
//Send Request
using (HttpClient client = new HttpClient()) {
//JWT authentication
var certificate = new X509Certificate2("privatecertificate_hardcoded", "certi_password");
var tokenDescriptor = new SecurityTokenDescriptor { Issuer = "Tester API",
Subject = new ClaimsIdentity(new
{ new Claim("sub","API GWtest"), new Claim("scope","read:api") }),
Expires = DateTime.UtcNow.AddMinutes(1),
SigningCredentials = new X509SigningCredentials(certificate)
};
var handler = new JwtSecurityTokenHandler();
var token = handler.CreateToken(tokenDescriptor);
var jwt = handler.WriteToken(token);
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", jwt);
string url = "https://api_gateway/link";
var response = client.PostAsync(url, data).Result;
}
}
catch (Exception ex)
{ return (ex.Message);}
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... uthenticat