dnn give HttpClient error 'Запрос был прерван: не удалось создать безопасный канал SSL / TLS' при вызове linkedin api v2 в модуле - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь интегрировать linkedin API v2 в dnn (модуль custom). Однако, когда пытаюсь получить токен через запрос httpclient. Это порождает ошибку Запрос был прерван: не удалось создать безопасный канал SSL / TLS.

Работает из приложения mvc c # .net, но в модуле dnn происходит сбой с вышеуказанной ошибкой. Ваша любезная помощь в этом отношении будет высоко оценена

Он работает из приложения mvc c # .net, но в модуле dnn происходит сбой с вышеуказанной ошибкой. Ваша помощь в этом отношении будет принята с благодарностью. Я перепробовал почти все решения, упомянутые в stackoverflow, но потерпел неудачу.

Использование Dnn V9.3 с Framework 4.5 (также пробовал 4.6) Шаблон модуля DAL2. localhost с http://localhost

 public async void SaveLinkedinTok(string code, string state, string error, string error_description)
        {
            if(string.IsNullOrEmpty(code))
            {
                return View("Error");
            }

            var httpClient = new HttpClient
            {
                BaseAddress = new Uri("https://www.linkedin.com/")
            };
            var requestUrl = $"oauth/v2/accessToken?grant_type=authorization_code&code={code}&redirect_uri={AppConfig.Get("Linkedin.RedirectUrl")}&client_id={AppConfig.Get("Linkedin.ClientID")}&client_secret={AppConfig.Get("Linkedin.SecretKey")}";
            var response = await httpClient.GetAsync(requestUrl);
            var token = JsonConvert.DeserializeObject<TokenResponse>(await response.Content.ReadAsStringAsync());

System.Net.Http.HttpRequestException: «Произошла ошибка при отправке запроса Внутреннее исключение WebException: запрос был прерван: не удалось создать безопасный канал SSL / TLS.

1 Ответ

1 голос
/ 16 мая 2019

Попробуйте следующее:

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;

var httpClient = new HttpClient
{
    BaseAddress = new Uri("https://www.linkedin.com/")
};

...
...