0. chemezov 32 20.08.18 01:41 Сейчас в теме

Подключение к REST API через OAuth протокол из 1С

В статье описаны варианты подключения И решение граблей по подключению к REST API через протокол OAuth 2.0 из 1С. При разработке такого подключения для получения данных и загрузки в базу 1С я столкнулся с некоторыми проблемами, решил их и хочу поделиться этими наработками.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. bulpi 174 06.09.18 12:50 Сейчас в теме
Автор, просмотрите статью. Похоже, какие-то рисунки должны быть, но их нет и ничего не понятно.
meowmeow; +1 Ответить
2. VZhulanov 3 08.11.18 19:50 Сейчас в теме
Спасибо за примеры
Долго мучался с авторизацией и получением токена
помогла строка
XTTPЗапрос.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")

только ее мне и не хватало
3. user774630 25.03.19 13:08 Сейчас в теме
Большое спасибо!
Для тонкого клиента заработал такой код (без COM-объектов)
МассивПараметров = Новый Массив;
	МассивПараметров.Добавить("client_id=***");	
	МассивПараметров.Добавить("client_secret=***");
	МассивПараметров.Добавить("grant_type=client_credentials");
	МассивПараметров.Добавить("redirect_uri=https://***/oauth/token");
	
	АдресРесурса = "?" + СтрСоединить(МассивПараметров, "&");
	
	Заголовки = Новый Соответствие;
	Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded");
	
	HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, Заголовки);
	
	HTTP = Новый HTTPСоединение("***/oauth/token",,,,,,Новый ЗащищенноеСоединениеOpenSSL,Истина);
	HTTPОтвет = HTTP.ОтправитьДляОбработки(HTTPЗапрос);
	
	СтрокаОтвета = HTTPОтвет.ПолучитьТелоКакСтроку();
	ЧтениеJSON = Новый ЧтениеJSON;
	ЧтениеJSON.УстановитьСтроку(СтрокаОтвета);
	
	СтруктураОтвета = ПрочитатьJSON(ЧтениеJSON);
	
	Если СтруктураОтвета.Свойство("access_token") Тогда
		access_token = СтруктураОтвета.access_token;
	КонецЕсли;
Показать
chemezov; +1 Ответить
4. uno-c 141 01.05.19 09:30 Сейчас в теме
access token для google api можно также получать с помощью авторизации сервер-сервер, без редиректов и подтверждения пользователя.
5. chemezov 32 10.06.19 15:29 Сейчас в теме
Опять пропали две картинки в последнем разделе. Продублирую лучше в комментарии.
Дополнительно:
Помимо этой проблемы стоит так же предусмотреть возможные проблемы при работе в IE. Рекомендую выполнить следующие настройки в своей системе:
1. IE свойства браузера - зайти в вкладку "Дополнительно" и установить флаг «Разрешать запуск активного содержимого файлов на моем компьютере»;

2. Если установлен Касперский - нужно снять флаг с настройки «Внедрять в трафик скрипт взаимодействия с веб-страницами», который находится в "Настройки"(шестеренка) -> "Сеть".
Прикрепленные файлы:
6. deman_ru 20 07.10.19 13:22 Сейчас в теме
Подскажите, а можно ли авторизоваться по token в базе опубликованной на web - сервере с использованием протокола OAuth?
7. chemezov 32 08.10.19 08:30 Сейчас в теме
(6)Для этого нужно писать свой веб клиент. Стандартный такой возможности не предусматривает.
8. Vix 27 12.11.19 15:20 Сейчас в теме
(7)Спасибо за пример, только начинаю разбираться с подобной задачей, разница только в том, что нужно на форме 1С нажимать кнопку авторизации, а открываться будет браузер гугл хром, откуда приходить будут токены, которые нужно встроить в заголовки запроса, а так же можно получить и json. По кнопке выход, допустим удалять токен. Что можете посоветовать к изучению данной задачи?
9. chemezov 32 16.11.19 18:28 Сейчас в теме
(8)Затрудняюсь ответить. Не знаю как из 1С программно открыть Хром
10. user1074814 06.12.19 13:08 Сейчас в теме
Для тех кто на 64 сервере, и выдает ошибку класса на строке с MSScriptControl.ScriptControl
Вам нужно добавить на сервер новую dll, скачать её можно отсюда:
https://tablacus.github.io/scriptcontrol_en.html
11. chemezov 32 24.01.20 03:08 Сейчас в теме
Эх, мдаа. Чудный редактор статьи. Поправил пару слов, теперь все вставки кода пропали...
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Программист 1С
Санкт-Петербург
зарплата до 150 000 руб.
Полный день

Программист 1С
Екатеринбург
зарплата от 80 000 руб. до 130 000 руб.
Полный день

Ведущий программист 1С
Москва
зарплата от 150 000 руб.
Полный день

Ведущий программист 1С (УТ 11)
Москва
зарплата до 200 000 руб.
Полный день