Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Авторизация в 1С через токены (HTTP сервис)

Авторизация в 1С через токены (HTTP сервис)
Я
   Loko
 
06.11.19 - 09:50
всем привет! есть опубликованный HTTP сервис в 1С (апачи). методы описаны (GET и POST). В постмане тестирую, получаю данные, все работает. Вопрос стал в безопасности, в авторизации. Через basic auth указываю логин и пароль пользователя 1С и при каждом запросе создается сессия в 1С и метод отрабатывается. А как сделать авторизацию через токен? Т.е. идея такая: 1)во внешнем приложении вводится логин/пароль 2) 1С получает запрос и формирует гуид (запись в регистре сведений, у которой есть свой срок жизни) и возвращает его 3)все остальные запросы выполняются при наличии этого токена. вот собственно как это реализовать? в постмане ставлю авторизацию bearer token или OAuth 2.0, задаю токен, выполняю запрос и ошибка 401 нет авторизации.
 
 
   Loko
 
1 - 06.11.19 - 11:15
ап
   Cyberhawk
 
2 - 06.11.19 - 11:22
Из коробки такого нет - только свою реализацию.
А чтоб басик не передавать, для целевого сервиса отдельный файл публикации с прописанным пользователем инфобазы, от имени которого все равно все и будет работать.
   Cyberhawk
 
3 - 06.11.19 - 11:23
Альтернативный вариант - умная прокладка перед сервисом 1С, которая по получаемому токену находит где-то нужный логин-пароль пользователя 1С и подменяет беарер на басик
   Garykom
 
4 - 06.11.19 - 11:30
(3) В реальности подобная прокладка единственный достаточно надежный вариант в плане безопасности.
Ну и обязательно HTTPS или любой промежуточный узел легко перехватит пароли.
   Fragster
 
5 - 06.11.19 - 11:36
openid вроде лолжен работать, не?
   Loko
 
6 - 06.11.19 - 11:51
а если без прокладки, только штатными средствами 1С. формировать токен на стороне 1С, и гонять его параметром в url. ну и главное регистр сведений, который содержит эти токены, валить каждые 60 секунд, если нет запроса от внешнего приложения (если есть, то "продлевать" жизнь записи еще на 60 секунд)? это совсем небезопасный вариант?)) и чем он может грозить?
   ДенисЧ
 
7 - 06.11.19 - 11:52
(6) Каждые 60 секунд? Что у тебя там пользователь на сайте будет делать?
Или у тебя полный робот, который жа 60 успеет сделать всё?
   Loko
 
8 - 06.11.19 - 12:02
(7) да это мобильное приложение. там особо ничего умного нет. ну 3 минуты...
   oleg_km
 
9 - 06.11.19 - 17:29
Ты хочешь придумать велосипед? Почитай хотя бы про дайджест-авторизацию. Хотя если будет HTTPS то может просто хватит авторизации паролем?
   Cyberhawk
 
10 - 06.11.19 - 17:43
(6) Никому не интересно, как ты реализуешь токенизацию и проверку доступа в конфигурации
   1С Ассенизатор ПРОФ
 
11 - 07.11.19 - 06:50
(3) Вот правильный вариант. У нас такой взлетел.
   Loko
 
12 - 07.11.19 - 07:48
(11) можно подробнее? "подменяет беарер на басик" - это я так понимаю в фале настройки апачи надо менять?
   Cyberhawk
 
13 - 07.11.19 - 09:41
(12) Файл настройки - это статика. А подмена - она суть динамика. Так что ты ничего не понял.
   Loko
 
14 - 07.11.19 - 09:50
(13) объясните)
   Cyberhawk
 
15 - 07.11.19 - 09:55
(14) Ставишь промежуточный веб-сервер с веб-сервисом, который на вход принимает все входящие запросы, по нужному алгоритму определяет и подменяет содержимое заголовка авторизации и передает запрос дальше - в целевой сервис

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.