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