1

Приложение на Wialon Hosting доступ с клиентского ПК

Тема: Приложение на Wialon Hosting доступ с клиентского ПК

Приложение, добавленное как ссылка в Apps разделено по функциональности на серверную и клиентскую часть, где в серверной части используется непосредственно Remote API.
При открытии приложения через Wialon Hosting производится dublecate сессии, однако оба sid-а создаются на стороне клиента, следовательно, если данных sid-ов использовать для запроса данных к Wialon Hosting через серверную часть не получится, так как сессия считается невалидной.
Выход из ситуации только авторизоваться дополнительно на серверной стороне что приводит к созданию доп. учетной записи, используемой в лишь в приложении.

Есть ли возможность авторизовавшись на клиентском ПК производить запросы к Wialon Hosting под этой же сессией но с другого хоста?

Евгений Максимов
+79169944009
www.geosmt.ru
www.en.geoservice24.ru
2

Приложение на Wialon Hosting доступ с клиентского ПК

Re: Приложение на Wialon Hosting доступ с клиентского ПК

geolead-msk пишет:

Есть ли возможность авторизовавшись на клиентском ПК производить запросы к Wialon Hosting под этой же сессией но с другого хоста?

Нет, по соображениям безопасности нельзя. Вам необходимо с вашего сервера создавать новую сессию посредством логина.

Mobile Development
Gurtam
3

Приложение на Wialon Hosting доступ с клиентского ПК

Re: Приложение на Wialon Hosting доступ с клиентского ПК

Можно создать дубликат и передать туда альтернативный IP как при логине. Это поможет?

At the dark side of telematics...
4

Приложение на Wialon Hosting доступ с клиентского ПК

Re: Приложение на Wialon Hosting доступ с клиентского ПК

shal пишет:

Можно создать дубликат и передать туда альтернативный IP как при логине. Это поможет?

пробовали, не помогает

Евгений Максимов
+79169944009
www.geosmt.ru
www.en.geoservice24.ru
5

Приложение на Wialon Hosting доступ с клиентского ПК

Re: Приложение на Wialon Hosting доступ с клиентского ПК

Может что-то доработать, например позволить получать информацию о сессии запросом к хостингу, после чего валидировать эту информацию и логиниться, либо еще что-то?

Евгений Максимов
+79169944009
www.geosmt.ru
www.en.geoservice24.ru
6

Приложение на Wialon Hosting доступ с клиентского ПК

Re: Приложение на Wialon Hosting доступ с клиентского ПК

geolead-msk пишет:
shal пишет:

Можно создать дубликат и передать туда альтернативный IP как при логине. Это поможет?

пробовали, не помогает

Но ведь именно это Вам и нужно, так?

At the dark side of telematics...
7

Приложение на Wialon Hosting доступ с клиентского ПК

Re: Приложение на Wialon Hosting доступ с клиентского ПК

shal пишет:
geolead-msk пишет:
shal пишет:

Можно создать дубликат и передать туда альтернативный IP как при логине. Это поможет?

пробовали, не помогает

Но ведь именно это Вам и нужно, так?

оговорился, вернее "пробовали, не получилось"

Евгений Максимов
+79169944009
www.geosmt.ru
www.en.geoservice24.ru
8

Приложение на Wialon Hosting доступ с клиентского ПК

Re: Приложение на Wialon Hosting доступ с клиентского ПК

Давайте попробуем вместе. Распишите схему и порядок запросов и определим почему не получилось.

At the dark side of telematics...
9

Приложение на Wialon Hosting доступ с клиентского ПК

Re: Приложение на Wialon Hosting доступ с клиентского ПК

Для выполнения операций на собственном сервере без необходимости повторной авторизации для него можно создавать дубликат сесcии куда опционально передается IP севера:

http://sdk.wialon.com/api/index.html#wi … hod_public

Метод Session.duplicate.

At the dark side of telematics...
10

Приложение на Wialon Hosting доступ с клиентского ПК

Re: Приложение на Wialon Hosting доступ с клиентского ПК

Проблемы с переходом к приложению с серверной частью. Для того чтобы использовать сессию на собственном сервере, создаю дубликат сессии на клиентской части с указание ip сервера, затем отправляю запросы на сервер, но ответы приходят с ошибкой {"error": 1}. Подскажите пожалуйста, что я неправильно делаю?

Код Javascript:
  var baseUrl = '<?php echo $_REQUEST["baseUrl"]; ?>'
  var ip = '<?php echo $_SERVER['SERVER_ADDR']; ?>'
  var sid = '<?php echo $_REQUEST["sid"]; ?>';

  var sess = wialon.core.Session.getInstance();
  sess.initSession( baseUrl );
  sess.duplicate( sid , "", true,
        function( code ) {
            if ( !code ) {
                console.log("Duplicate : old sid = " +  sid + "<br>");
                sid = sess.__cW;
                console.log("Duplicate : new sid = " +  sid + ", ip server = " + ip + "<br>");
                sendEvents();
            } else {
                console.log( "Duplicate : Error with code = " +  code + "<br>");
            }
             }, ip
);

Ответ с функции duplicate приходит нормальный, в параметре host указан, тот ip который я передавала в функцию, если использовать sid полученный с помощью авторизации на сервере, то ответы на запросы приходят без ошибок.

Gurtam Operator
www.gurtam.by
11

Приложение на Wialon Hosting доступ с клиентского ПК

Re: Приложение на Wialon Hosting доступ с клиентского ПК

daek
Уберите параметр ip из вызова и все должно работать.
Не понятно для чего у Вас вообще используется php, а javascript исполняется в браузере клиента и соответственно все запросы идут с ip клиента, поэтому и error:1.

Mobile Development
Gurtam
12

Приложение на Wialon Hosting доступ с клиентского ПК

Re: Приложение на Wialon Hosting доступ с клиентского ПК

kopa

Я пробовала убирать ip из функции, тогда сессия действительно только для запросов с javascript, а мне необходимо что бы без повторной авторизации, эта сессия была действительной на сервере( для этого и нужен php ). Поскольку приложение уже написано с использованием серверной части, то переписывать его заново на javascript не есть самое лучшее решение.

Gurtam Operator
www.gurtam.by
13

Приложение на Wialon Hosting доступ с клиентского ПК

Re: Приложение на Wialon Hosting доступ с клиентского ПК

daek
сессия привязывается к определенному ip адресу и она не может быть одной и той же для разных адресов. Используйте для запросов либо сервер (Remote Api), либо выполнение запросов с клиента (JS Api).

Mobile Development
Gurtam
14

Приложение на Wialon Hosting доступ с клиентского ПК

Re: Приложение на Wialon Hosting доступ с клиентского ПК

Может не совсем понятно объяснил, попробуем еще раз ;-).
Для создания сессии необходимо что бы пользователь аутентифицировался. В сессии хранится ip адрес, с которого проведена аутентификация, и только с этого адреса обрабатываются запросы. Второй путь создания сессии - это duplicate, который подразумевает ту же аутентификацию, только без ввода логина и пароля путем передачи идентификатора активной сессии. В результате создается новая сессия, и если при вызове duplicate был передан ip адрес - то запросы будут обрабатываться только с этого ip адреса. В Вашем коде вызов функции duplicate выполняется в браузере клиента, а передается ip сервера - в результате чего Вы получаете error:1. Вам нужно либо выполнять код с Вашей страницы на сервере, либо не подавать параметр ip в duplicate при выполнении в браузере.

Mobile Development
Gurtam
15

Приложение на Wialon Hosting доступ с клиентского ПК

Re: Приложение на Wialon Hosting доступ с клиентского ПК

kopa

То, что Вы предложили было очень хорошим решением, если бы не два НО)
1) Авторизация проходит через Wialon. В Apps есть приложение, в которое передается sid, полученный при авторизации. Если передать данный sid на сервер и вызвать там duplicate, то так же вернется ошибка 1. Остается только один вариант, у клиента, который открывает приложение вызвать duplicate с ip сервера куда направиться следующий запрос. Но как выяснилось, этот вариант не работает.
2) Подобный код был написан в где-то в пятницу и он работал, а вот примерно в обед понедельника перестал.

Gurtam Operator
www.gurtam.by
16

Приложение на Wialon Hosting доступ с клиентского ПК

Re: Приложение на Wialon Hosting доступ с клиентского ПК

Заработало!!!!!!!
И мы, лично, ничего не меняли))))
Очень надеемся, это не случайность? )))

Gurtam Operator
www.gurtam.by
17

Приложение на Wialon Hosting доступ с клиентского ПК

Re: Приложение на Wialon Hosting доступ с клиентского ПК

daek, и мы не меняли wink

At the dark side of telematics...