Уже реализован доступ из интернет на рабочее место в организации, а оттуда во внутренней сети доступ по Web-сервису к нужной БД 1С.
Задача:
Хотим вынести web-сервис во внешний мир. Чтоб работали без авторизации на рабочем месте.
Решение:
Представляется нужен внешний сервер пробрасывающий соединение после авторизации на внутренний.
Авторизация может быть двойной, с СМС на телефон..
*************************************
(1) Мы сделали так.
Пользователь авторизуется на отдельной страничке. Там же мы определяем логин и пароль для 1С.
чтобы обойти окно авторизации на веб-клиенте, нужно перехватить ответ клиента, когда сервер его перенаправляет на эту страничку и методом rewrite добавить в этот ответ данные авторизации. Тогда сервер вместо окна авторизации перенаправит уже в основную сессию. На случай, если данные авторизации не понравятся серверу, нужно также перехватывать 402-ю ошибку от сервера и перенаправлять клиента на свою страничку 402, т.к. страница 402 у сервера, это тоже его окно авторизации.
Это все в nginx настроено.
Как раз стояла задача авторизоваться под одноразовому паролю и в 1С запускать уже конкретного пользователя.
В документации этого нет, пакеты перехватывали и смотрели что куда летит.
(7) В nginx надо прописать
rewrite ^(/.*/e1cib/login)(.*)$ $1?cred=$cred break;
переменная cred берется из map файла,
map файл -
map $remote_user $cred {
'vasya' 'c2VyuTYTU54EedfuyZzo5MTFrb3JzYXI=';
'petya' 'fglkjserjkg5497863kj4nbvs94==';
}
Первое поле в maps - это авторизация https сервера.
Второе поле это base64 логина и пароля в саму 1с в формате 'Петя:Пароль'
Если это реально нужно и сделать не получается, можно порешать, чтобы мы вам настроили как надо.
самое простое просто опубликовать базу по https и не париться с 2й авторизацией/vpn
у нас стоит отдельный вебсервер смотрит наружу по https и люди работают через тонкий клиент,
пароли усложнили и все.
И обработка авторизации решит все твои проблемы... (делал в свое время)
Только к каждому пользователю привязан процесс отправки (у нас был Whatsapp), и в зависимости от выбранного пользователя шлешь данные, которые потом сверяешь.