Имя: Пароль:
1C
 
Получение seanceId программно
↓ (Волшебник 23.10.2024 00:04)
0 LuckyMMA
 
15.10.24
10:22
Приветствую! Хз как тут здороваться) Прошу помочь в решении следующего вопроса.
Как можно программно получить seanceId, который фигурирует например при выходе пользователя из веб-клиента
https://адрес сервера/имя публикации/ru/e1cib/logout?seanceId=ZmQwY2JlNzctZjYzMi00MjJlLTkxOTEtZGY4ZjRmMGZiZDM0OHj3vkP_Yk2Szq69F9jQWgAAAAA&beaconAPI=true


Где-то, вроде на инфостарте, видел программное получение этого сеанс-ид, но повторно не смог найти
В решение на инфостарте данный сеанс-ид получали из ссылки временного хранилища, но оно было как-то преобразовано.
1 Волшебник
 
15.10.24
10:20
Зачем?
2 LuckyMMA
 
15.10.24
10:21
В данном случае, чтоб из веба завершать сеанс
3 LuckyMMA
 
15.10.24
10:22
Как минимум хочется протестировать, вариант этот будет лучше, что на данный момент мы сейчас имеем
4 Lama12
 
15.10.24
10:24
(3) Они же закрываются по таймауту?
5 LuckyMMA
 
15.10.24
10:26
В моем случае управление сеансами находится за пределами сервера 1с, а именно в crm системе
6 Garykom
 
15.10.24
10:27
(0) nginx (точнее openresty c lua) перед веб-сервером и сниффинг
7 LuckyMMA
 
15.10.24
10:29
(6) вопрос то не в этом) касаемо веб сервера все стандартно apache/iis
8 Garykom
 
15.10.24
10:40
(7) если этот seanceId есть в обмене между браузером (веб-клиентом 1С) и веб-сервером (за которым сервер 1С) - он отловится
9 dmt
 
15.10.24
10:55
(3) а какой сейчас вариант?
лучше варианта, чем сервис на 1с, который принимает имя пользователя и кикает его сеансы, сложно придумать
10 LuckyMMA
 
15.10.24
10:56
(6) Такой возможности нет, тк в решении в которой это используется, использкют много клиентов
11 dmt
 
15.10.24
10:58
а по теме
https://infostart.ru/1c/articles/1534932/?ysclid=m2a5fjcnn6921696762
Подробности
Здесь применяется один интересный хак, как получить идентификатор текущего сеанса. Мы получаем идентификатор текущего сеанса из адреса временного хранилища – с недавней версии платформы в адрес временного хранилища включен параметр seanceId, который используется для взаимодействия между клиентом и сервером, для отправки запросов. Соответственно, мы можем поместить что-то в хранилище, получить его адрес, выдернуть оттуда seanceId и дальше использовать для своих запросов.
12 Garykom
 
15.10.24
11:05
(10) вероятно ты не понял, пофиг на клиентов и их браузеры
у тебя есть веб-сервер (apache/iis)
вот перед ним ставится openresty (nginx по сути) и в нем сниффится трафик
в итоге схема:
браузеры (веб-клиент) <-> nginx <-> веб-сервер <-> сервер 1С
13 LuckyMMA
 
15.10.24
11:03
(11) к сожалению вообще не по теме
14 Garykom
 
15.10.24
11:04
(12)+ плюсом можно сделать свою авторизацию вместо 1Сной для веб-клиентов
15 LuckyMMA
 
15.10.24
11:07
(12) я прекрасно понял) скажу так, подобными вещами не хочется заморачиваться по многим причинам, одно из главных - человекоресурсы
Коллеги, повторюсь я точно видел это на инфостарте, но к сожалению не вчитывался и не сохранил, но там был способ получения seanceId по ссылке временного хранилища
16 Garykom
 
15.10.24
11:07
17 Garykom
 
15.10.24
11:08
(15) то что там нечто было - это дико ненадежно и в любой момент перестанет работать
если еще работает
18 LuckyMMA
 
15.10.24
11:08
(14) а авторизацию планирую передалать на openid
19 LuckyMMA
 
15.10.24
11:10
(16) за данную статью спасибо)
20 Garykom
 
15.10.24
11:12
(13) ты хотя бы раскрой Подробности
21 dmt
 
15.10.24
11:13
(13) 🤦‍♂️

e1cib/tempstorage/675915e6-7a72-4735-a691-3a98893193cf?

seanceId=NWQ0ZDNhODQtZjY0OS00N2ZjLWI3ZjUtMDk4YzRhZjQ2Nzc1NHbDnvZQJkamwgWK8FusyAAAAAA
22 dmt
 
15.10.24
11:13
(20) чукча не читатель
23 LuckyMMA
 
15.10.24
11:20
Упс) похоже все таки стоило потратить 5 мин, чем писать здесь, прошу у всех прощения за потраченное время, и спасибо)
24 LuckyMMA
 
15.10.24
11:23
Я думал, что оно преобразовывается, не думал, что там в явном виде, как-то не особо обращал внимания)
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.