0
AgniiISO
26.03.20
✎
11:40
|
Доброго времени суток, пытаюсь понять как работает данный протокол, вроде есть опыт пост гет обращений к апи разных сайтов, но не работает, постоянно 400 ошибка, как только убирать /core/connect/token к сайту обращается, а как не убирать 400.
ПараметрыURL = Новый Структура;
АдресЗапроса = " сайт.ru";
//ПараметрыURL.Вставить("grant_type", "password&username=логин&password=пароль&scope=resourceProfile");
СтрокаЗапроса = "grant_type=password&username=логин&password=пароль&scope=resourceProfile";
АдресЗапроса = Адрес(АдресЗапроса, ПараметрыURL);
СтруктураURI = СтруктураURI(АдресЗапроса);
HTTPСоединение = новый HTTPСоединение(СтруктураURI.Хост,443 , , ,, 15, Новый ЗащищенноеСоединениеOpenSSL);
headers = Новый Соответствие;
headers.Вставить("Content-Type", "application/x-www-form-urlencoded");
Вот тут непонятно что комментил эту строку то оставлял, без разники
headers.Вставить("Authorization", "Basic cmVzb3VyY2VzLjIyNTY3NTY3NzU2NzM4NzczMjMtNm4yOTVmNDQ1N2dmZzY1NzU2aGZnaDU2NTk3Z2g1NjUuZW4uMjMuZWNmLm1lcmNlZGVzLWJlbnoucnU6OEpmclJJZjdodzRfZzhoZTVqMUpUa3JHMGdtdEowZTgwR2pr");
//HTTPЗапрос = Новый HTTPЗапрос(СтруктураURI.ПутьНаСервере, headers);
Тут перед кор то убирал слеш то остался
HTTPЗапрос = Новый HTTPЗапрос("/core/connect/token", headers);
HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаЗапроса);
//HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
HTTPОтвет = HTTPСоединение.ВызватьHTTPМетод("POST",HTTPЗапрос);
Если HTTPОтвет.КодСостояния = 200 Тогда
Ответ = HTTPОтвет.ПолучитьТелоКакСтроку();
ЧтениеJSON = новый ЧтениеJSON();
ЧтениеJSON.УстановитьСтроку(Ответ);
Token = ПрочитатьJSON(ЧтениеJSON, Ложь);
Возврат Token;
Иначе
ВызватьИсключение "Произошла ошибка обращения к серверу," + "Токен не получен" +
Символы.ПС + "Статус ответа сервера: " + HTTPОтвет.КодСостояния;
КонецЕсли;
Вот вырезка из методички какой запрос у меня должен получится по идее
POST /core/connect/token HTTP/1.1 Host: Authorization: Basic cmVzb3VyY2VzLjIyMTQ2OTcxNjY0Mjg4OTAyNTYtNm4yOTV3NDUxeTV1cjhnbDViNThpNnkzNDVqdDI2MTUuZW4uMjMuZWNmLm1lcmNlZGVzLWJlbnoucnU6N0pmclJJZjdodzRfZzhoZTVqMUpUa3JHMGdtdEowZTgwR2pr Content-Type: application/x-www-form-urlencoded grant_type=password&username={логин}&password={пароль}&scope=resourceProfile
|
|