1

Все вопросы по новому способу авторизации в Wialon (oAuth)

Topic: Все вопросы по новому способу авторизации в Wialon (oAuth)

В Wialon реализован новый более современный и безопасный способ авторизации.
Здесь постараемся ответить на все связанные вопросы и помочь со сложностями по его применению.
Статья в блоге
Файл с инструкциями

Head of Wialon Local Department
Gurtam
2

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Подскажите, вот на этих страницах находится устаревшая информация по способу авторизации: http://sdk.wialon.com/wiki/ru/sidebar/r … core/login или этот способ можно использовать и после 1 октября?

3

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Данный метод авторизации является устаревшим и будет работать до 1 октября.
На данный момент для авторизации в своих сайтах/аппсах нужно переходить на нашу
новую форму авторизации. Примеры использования есть на  http://sdk.wialon.com/playground/.
После успешной авторизации через форму в ответе получается токен, который можно подать
в sdk-запрос wialon.core.Session.getInstance().loginToken() или remote-api запрос
http://hst-api.wialon.com/wialon/ajax.h … _token>

Head of Wialon Local Department
Gurtam
4

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Добрый день!
Авторизуюсь в SDK запросом
http://hst-api.wialon.com/wialon/ajax.html?svc=core/login&params={"user":"****","password":"****"}
получаю "eid":"e7e7d0032cb8d2263c0f60e79d712f3f"
делаю запрос
http://hst-api.wialon.com/wialon/ajax.html?svc=token/update&params={"callMode":"create","userId":"***","h":"","app":"SDK_for_Apps","at":0,"dur":0,"fl":512,"p":"","items":[],"deleteAll":false}&sid=e7e7d0032cb8d2263c0f60e79d712f3f
получаю
{"error":7}
7 означает Доступ запрещен

Что делаю не так?

5

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Данный путь не верный т.к. он перестанет работать 1 октября.
Запрос с core/login нужно исключить до этого времени.

Второй запрос token/update для управления токенами ПОСЛЕ авторизации.
Думаю он Вам не нужен.

Сначала нужно корректно авторизоваться используя форму http://hosting.wialon.com/login.html
В результате авторизации будет получен токен, который дальше можно использовать в запросе
svc=token/login&params={"token":<text>}. В результате этого запроса получите sid и дальше все запросы
выполняйте с этим sid-ом.

Head of Wialon Local Department
Gurtam
6

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Посмотрите примеры на playground:
http://sdk.wialon.com/playground/demo/advanced_form
http://sdk.wialon.com/playground/demo/app_auth_token

Head of Wialon Local Department
Gurtam
7

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Так я как раз и хочу создать токен средствами SDK! Получается в документации ошибка и я не смогу создать токен средствами SDK. На текущий момент авторизация работает и я могу выполнять ей все необходимые действия. Получается что для того чтобы создать токен нужно обязательно получить его через Web.
Что касается длительности действия Токенов - могу ли я задать её =0, чтобы он действовал бесконечно долго?

8

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Вы можете создать токен средствами SDK (после авторизации).

В Вашем запросе нужно убрать userId (т.к. это для создания токена в другом пользователе), также на данный момент в "p" нужно подавать "{}" (пустой json). Параметр dur можно подать 0 - это т.н. бесконечный токен. Но если он не будет использоваться более 100 дней - автоматом удалится.

Head of Wialon Local Department
Gurtam
9

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Подскажите после получения токена хочу сделать запрос remote_api:
http://hst-api.wialon.com/wialon/ajax.h … _token>

но откуда взять sid? раньше этот параметр возвращался запросом, о чем писал dencorp :

Авторизуюсь в SDK запросом
http://hst-api.wialon.com/wialon/ajax.html?svc=core/login&params={"user":"****","password":"****"}
получаю "eid":"e7e7d0032cb8d2263c0f60e79d712f3f"

то есть в eid, сейчас где его взять?

10

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Для запроса token/login sid не нужен

Можно расценивать токен, как аналог пары/пароль.
Раньше для авторизации надо было знать логин/пароль, теперь - токен.

Раньше был запрос
http://hst-api.wialon.com/wialon/ajax.html?svc=core/login&params={"user":"****","password":"****"}
Теперь вместо него
http://hst-api.wialon.com/wialon/ajax.html?svc=token/login&params={"token":"****"}

Ответ сервера на эти запросы идентичен, в том числе в нём приходит eid для выполнения последующих запросов

11

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

это касается wialon pro также?

12

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

treasury wrote:

это касается wialon pro также?

Wialon Pro уже не дорабатывается, поэтому там механизм авторизации остался прежним.
Новый механизм авторизации коснулся Wialon Hosting и Wialon Local.

Head of Wialon Local Department
Gurtam
13

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Здравствуйте!
Каким образом отработает система, если получение токена и последующий post-запрос на аутентификацию будут выполнены с разных адресов?
Чтобы не было недомолвок, поясню. Есть система, ну например, на базе 1С. Раз аутентификация на сервере невозможна и придется переносить ее на клиента, планирую на клиенте показать форму oAuth и передать полученный токен на сервер, на котором собственно и должны в дальнейшем обрабатываться данные. Возможен ли такой путь?
Вообще, надо сказать, что подобная аутентификация несколько осложнит взаимодействие со сторонними системами, например, той-же 1С. Теперь предстоят финты с полями html, скриптами и парсингом, то есть не типичный сценарий для 1С, без гарантированного 100% успешного результата.

ЦЕНТР ТЕХНОЛОГИЙ
www.ct26.ru
14

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

IP адрес имеет значение только для активной сессии. А так токены можно получать в одном месте, а использовать - в другом.

At the dark side of telematics...
15

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

shal wrote:

IP адрес имеет значение только для активной сессии. А так токены можно получать в одном месте, а использовать - в другом.

Спасибо. Правильно ли я понял, что токен не имеет отношения к идентификации конкретной сессии, а представляет собой просто зашифрованную пару логин-пароль, плюс может быть какая-нибудь приправка? И единожды созданный токен, я могу использовать в течение 100 дней, без повторной аутентификации пользователя? Притом, зная этот самый токен, например, сохранив его себе, я могу авторизоваться с любого адреса, создавая сессию и авторизуясь, в не зависимости от того, как и откуда  ранее я проходил аутентификацию?
Если так, то это немного упрощает задачу.

ЦЕНТР ТЕХНОЛОГИЙ
www.ct26.ru
16

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Да, все верно. Также можно срок действия токена не ограничивать, главное его использовать раз в 100 дней.

At the dark side of telematics...
17

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

shal wrote:

Да, все верно. Также можно срок действия токена не ограничивать, главное его использовать раз в 100 дней.

Спасибо! Все понятно теперь.

ЦЕНТР ТЕХНОЛОГИЙ
www.ct26.ru
18

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Объясните пожалуйста в чем преимущества новой авторизации? Чем была плоха старая?

Вроде бы  только увеличивалось кол-во запросов.

Раньше было так:
http://hst-api.wialon.com/wialon/ajax.html?svc=core/login&params={"user":"****","password":"****"}

В скором времени:
http://hosting.wialon.com/oauth.html?pa … type=0x100

в ответе получаем  токен и далее
http://hst-api.wialon.com/wialon/ajax.html?svc=token/login&params={"token":"****"}

Далее выполняем любой другой запрос.

19

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Авторизация при помощи токенов - более современный и защищенный механизм.
Не нужно будет где-то хранить критически важные аутентификационные данные (логин и пароль),
которые могут быть перехвачены злоумышленниками.
Ввод логина и пароля разрешён только на нашей форме, что исключает их кражу и использование
в недобросовестных целях.
Кроме того логин и пароль не будут храниться в cookies и localStorage, что также усложнит задачу злоумышленникам.
Токен же может быть создан с заведомо ограниченными правами и сроком действия. И даже если такой токен будет
перехвачен - его можно спокойно удалить.
Конечно всех задач безопасности токены не решают, но делают серьёзный шаг в сторону защиты.
Ну и большинство известных сайтов, сервисов, социальных сетей и т.д., где присутствует авторизация, уже используют механизм oAuth.

Head of Wialon Local Department
Gurtam
20

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

deal wrote:

Авторизация при помощи токенов - более современный и защищенный механизм.
Не нужно будет где-то хранить критически важные аутентификационные данные (логин и пароль),
которые могут быть перехвачены злоумышленниками.
Ввод логина и пароля разрешён только на нашей форме, что исключает их кражу и использование
в недобросовестных целях.
Кроме того логин и пароль не будут храниться в cookies и localStorage, что также усложнит задачу злоумышленникам.
Токен же может быть создан с заведомо ограниченными правами и сроком действия. И даже если такой токен будет
перехвачен - его можно спокойно удалить.
Конечно всех задач безопасности токены не решают, но делают серьёзный шаг в сторону защиты.
Ну и большинство известных сайтов, сервисов, социальных сетей и т.д., где присутствует авторизация, уже используют механизм oAuth.

Спасибо за ответ. Но хотелось бы знать, можно ли, не показывая вашу форму с вводом логина и пароля пользователю, получить токен и далее использовать его в запросах?

21

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Теперь, не показывая форму, токен не получить, также как и не залогиниться без неё.
Но через форму можно один раз сгенерировать т.н. бесконечный токен и использовать в дальнейшем.

Head of Wialon Local Department
Gurtam
22

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

deal wrote:

Теперь, не показывая форму, токен не получить, также как и не залогиниться без неё.
Но через форму можно один раз сгенерировать т.н. бесконечный токен и использовать в дальнейшем.

Утверждение не верно. 15 строчек кода  и золотой токен в кармане.

Ещё раз спрашиваю, если я могу авторизоваться без формы и получить токен. Могу ли я его в дальнейшем использовать? От вас будут какие-либо претензии?

23

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Не можете. Эти строчки кода известны, но работают они только сейчас.
В ближайшее время эта возможность будет прикрыта, т.к. нарушает основопологающие принципы oAuth.
Токен можно получать только через нашу стандартную форму. Все остальные обходные пути не будут работать
и будут приравниваться к несанкционированному доступу.

Head of Wialon Local Department
Gurtam
24

Все вопросы по новому способу авторизации в Wialon (oAuth)

(edited by shreding.kot 20/08/2015 10:00:22)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

deal wrote:

Не можете. Эти строчки кода известны, но работают они только сейчас.
В ближайшее время эта возможность будет прикрыта, т.к. нарушает основопологающие принципы oAuth.
Токен можно получать только через нашу стандартную форму. Все остальные обходные пути не будут работать
и будут приравниваться к несанкционированному доступу.

А  какие основопологающие принципы oAuth нарушены?

Ок. Раз известны строчки кода. Тогда поделюсь с сообществом.

#!/usr/bin/python2.7

import urllib
import urllib2
import re

url = "http://hosting.wialon.com/oauth.html"
values = {"client_id": "wialon", "redirect_uri":"http://hosting.wialon.com/login.html", "access_type":"0x100", "activation_time":"0", "duration":"0", "flags":"0", "login":"", "passw":""}

data = urllib.urlencode(values)
req = urllib2.Request(url, data)

response = urllib2.urlopen(req)
#the_page = response.read()
redirect_url = response.geturl()
#print the_page
print "REDIRECT_URL: " + redirect_url

# 'http://hosting.wialon.com/login.html?access_token=b5f4f271c8953ae8778b24b99202e2003DCE1715AA1077E514E57D4A876394EB867B764F&svc_error=0'
pattern = re.compile(".*" + "access_token=([0-9a-fA-F]{72})" + "\&" + "svc_error=(\\d)" + ".*")
parser = pattern.match(redirect_url)
token = parser.group(1)
svc_error = parser.group(2)

print "TOKEN: " + token
print "SVC_ERROR: " + svc_error
25

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Стучаться на oauth.html напрямую с логином и паролем - это по сути уязвимость,
которую мы на первом этапе внедрения токенов не учитывали. Сама по себе задача по переходу на oAuth
совсем не простая и быстрая и потребовала множество правок, доработок и т.д.
На первом этапе мы сконцентрировались на корректной поддержке токенов и внедрению на всех сайтах.
Сейчас, когда все основные проблемы по работе с токенами решены, можно переключиться на
закрытие уязвимостей. Конкретно эту уже исправили и в ближайшем обновлении так токен нельзя будет получить.
Про существование этой мы знали, но откладывали правки.
Что касается Вашего кода - особым достижением я бы это не назвал.
Но в любом случае спасибо за то, что подтолкнули нас исправить эту уязвимость сейчас)

Head of Wialon Local Department
Gurtam
26

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

deal wrote:

Стучаться на oauth.html напрямую с логином и паролем - это по сути уязвимость,
которую мы на первом этапе внедрения токенов не учитывали. Сама по себе задача по переходу на oAuth
совсем не простая и быстрая и потребовала множество правок, доработок и т.д.
На первом этапе мы сконцентрировались на корректной поддержке токенов и внедрению на всех сайтах.
Сейчас, когда все основные проблемы по работе с токенами решены, можно переключиться на
закрытие уязвимостей. Конкретно эту уже исправили и в ближайшем обновлении так токен нельзя будет получить.
Про существование этой мы знали, но откладывали правки.
Что касается Вашего кода - особым достижением я бы это не назвал.
Но в любом случае спасибо за то, что подтолкнули нас исправить эту уязвимость сейчас)

Видимо браузер пользуется этой же уязвимостью.

Токен получен.... И видимо вы не обновили хостинг.

27

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Ближайшее обновление - понедельник. Но возможно завтра обновим.

Head of Wialon Local Department
Gurtam
28

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

deal wrote:

Ближайшее обновление - понедельник. Но возможно завтра обновим.

Я смотрю вы пофиксили баг с авторизацией.
Добавили  на странице http://hosting.wialon.com/login.html в html документ тег
<input type="hidden" name="sign" value="GZhR8TXwJBfx6bhezQVyd9+qOHCmMVisgiWGF9aetiE=">

Думаете тяжело выдрать вот этот ключ (GZhR8TXwJBfx6bhezQVyd9+qOHCmMVisgiWGF9aetiE=) и постучаться по ссылке http://hosting.wialon.com/oauth.html с доп. параметром.

И в результате получить токен.

По итогу... Ваша правка дала защиты 0. Обходится ваш костыль за 15 минут.

Рекомендую усилить защиту вот таким способом.

1 Пользователь звонит к вам.
2 Вы задаете секретный вопрос (Ваше любимое блюдо?/ Девичья фамилия матери?/ Ваш любимый фильм?)
3 Пользователь говорит правильный ответ
4 Вы выдаете токен.

29

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Ещё раз повторимся:
обращаться в oauth.html напрямую минуя форму логина http://hosting.wialon.com/login.html - не допускается.
Данная брешь закрыта 2 недели назад.

P.S. На гениев криптоанализа естественно это не распространяется.

Head of Wialon Local Department
Gurtam
30

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Добрый день.
Делаю POST запрос к http://hosting.wialon.com/oauth.html в итоге возвращается ответ 200 вместо 301 и в теле "{"error": "insecure or allowed time expired"}" с чем это может быть связано? Авторизационные данные верные

31

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Bartezz wrote:

Добрый день.
Делаю POST запрос к http://hosting.wialon.com/oauth.html в итоге возвращается ответ 200 вместо 301 и в теле "{"error": "insecure or allowed time expired"}" с чем это может быть связано? Авторизационные данные верные

Читайте выше - обращаться в oauth.html напрямую минуя форму login.html НЕ допускается.
Поэтому вы и получаете такой ответ.

Head of Wialon Local Department
Gurtam
32

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Здравствуйте!
Можно ли использовать token выданный при авторизации одного из клиентов для авторизации других ?
Вопрос связан с тем, что наша система на базе 1С (в основном используется web-клиент), и все общение с телематами (в том числе и с вашим) осуществляется с клиентов.
В результате многие клиенты не довольны необходимостью операторов вводить логин/пароль от телемата (или хотя бы его знать, на случай если авторизация истечет).

В связи с этим конкретный вопросы:
1) Обязательно ли IP должен быть одним и тем же при получении token и его использовании для авторизации ?
2) Сколько авторизаций можно осуществить с одним token (и если "да", то сколько одновременных сессий возможно от одного token) ?

33

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Здравствуйте.
1. Нет, токен можно использовать с любого IP так же как  логин и пароль.
2. На токены нет особых ограничений, все те же что и на пару логин/пароль

Mobile Development
Gurtam
34

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Просто замечательно!

И небольшое уточнение...

В описании oAuth не говорится, о бессрочном действии докена (упоминается только о действии по умолчанию - 30 дней), а в этой теме говорится, что если задать атрибут duration в 0, то токен будет бессрочным, если используется хотя бы раз в течении 100 дней (как я понимаю, как после выдачи, так и после последнего использования).

Действительно ли можно использовать один и тот же токен неопределенное время, если он используется чаще 100 дней ?

35

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Да. Для токена с duration 0, чтобы он продолжал существовать нужно его использовать хотя бы раз в 100 дней. Иначе он автоматически удалится.

Head of Wialon Local Department
Gurtam
36

Все вопросы по новому способу авторизации в Wialon (oAuth)

(edited by dark_max 30/09/2015 21:14:20)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Раньше у нас на сайте была сделана "сквозная" авторизация посредством отправки формы вот такого типа:

<form action='http://hosting.wialon.com/login_action.html' method='post'>
               <input type='hidden' name='user' value='user}'>
               <input type='hidden' name='passw' value='password'>
               <input type='hidden' name='action' value='login'>
               <input type='hidden' name='skip_auto' value='1'>
               <input type='hidden' name='lang' value='ru'>
             </form>

Теперь такая штука не проходит. Собственно, вопрос: Можно ли с новой системой авторизации сделать так, чтобы пользователь, который один раз получил токен введя логин и пароль на http://hosting.wialon.com/login.html при следующем входе не вводил логин и пароль, а как-то передавал свой токен (ну не лично, конечно, а из БД сайта), что-бы таки вернуть "автологин" хоть в каком-то  виде.  А-то неудобно каждый раз сначала логиниться в нашу систему, а потом ещё отдельно и в мониторинг слежения...

37

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

dark_max, Вы можете реализовать сохранение полученного токена в localStorage браузера после формы login.html.
При следующем запуске сайта можно по этому токену пробовать залогиниться при помощи запроса svc=token/login&params={"token":"<access_token>","operateAs":"<optional_sub_user>"}.
А вообще, можно не изобретать велосипед, а посмотреть в сторону упрощённой формы авторизации, пример - http://sdk.wialon.com/playground/demo/t … mple_form.

Head of Wialon Local Department
Gurtam
38

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

dark_max
Если токен уже есть в БД, то ссылка вида http://hosting.wialon.com/?token=<USER_TOKEN> выполнит автологин

39

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

deal wrote:

Ещё раз повторимся:
обращаться в oauth.html напрямую минуя форму логина http://hosting.wialon.com/login.html - не допускается.
Данная брешь закрыта 2 недели назад.

P.S. На гениев криптоанализа естественно это не распространяется.

#!/bin/bash

import urllib
import urllib2
import re
import time
from bs4 import BeautifulSoup

content = urllib2.urlopen("http://hosting.wialon.com/login.html").read()
soup = BeautifulSoup(content, 'lxml')

signKey = ""

for input in soup.find_all('input'):
    if input.get('name') == 'sign':
      signKey =  input.get('value')
      break

url = "http://hosting.wialon.com/oauth.html"
values = {"client_id": "Wialon Hosting", "redirect_uri":"http://hosting.wialon.com/login.html", "access_type":"0x100", "activation_time":"0", "duration":"2592000", "flags":"6", "login":"", "passw":"", "sign": signKey}

print values

time.sleep(1)

data = urllib.urlencode(values)
req = urllib2.Request(url, data)

response = urllib2.urlopen(req)
#he_page = response.read()
redirect_url = response.geturl()
#print the_page

print "REDIRECT_URL: " + redirect_url

pattern = re.compile(".*" + "access_token=([0-9a-fA-F]{72})" + "\&" + "svc_error=(\\d)" + ".*")
parser = pattern.match(redirect_url)
token = parser.group(1)
svc_error = parser.group(2)

print "TOKEN: " + token
print "SVC_ERROR: " + svc_error

Данная брешь не закрыта. С помощью скрипта выше можно получить токен.

40

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Уважаемый shreding.kot, Вы можете использовать вышеуказанный способ
(если Вам так хочется и для Вас ничего не значат наши слова "не допускается").
Однако Вы должны сами понимать, что если это работает сейчас,
то нет никаких гарантий что оно будет работать завтра.
Мы в любой момент можем скорректировать и усложнить защиту.
И Вам придётся заново переписывать свои обходные пути.

Head of Wialon Local Department
Gurtam
41

Все вопросы по новому способу авторизации в Wialon (oAuth)

(edited by mulder-203 01/10/2015 22:03:41)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Добрый день!  У меня небольшое некоммерческое веб-приложение по отслеживанию автобусов до нашего района. До 1 октября оно работало как надо, а сейчас авторизация не проходит. Есть какие-то инструкции по новому API авторизации и как ее организовать теперь?

Я довольно слаб в вопросе, но успешно пользовался допиленным кодом с github.

Вся моя программа укладывается в 1 файл вот тут (в кодировке UTF-8): http://suvorovski.ru/auto_bus/route.js

А саму функцию авторизации приведу ниже:

  /** App login
     * @param {String} user   wialon username (@default: 'Cebit')
     * @param {String} password   password (@default: 'cebit')
     * @param {String} url   serher host url (@default: '[url]https://hst-api.wialon.com[/url]')
     */
    self.login = function (user, password, url) {
        user = user || 'Cebit';
        password = password || 'cebit';
        url = url || '[url]https://hst-api.wialon.com[/url]';
        if (wialon) {
            session = wialon.core.Session.getInstance();
            session.initSession(url); // init session
            session.login(user, password, '', function (code) { // login callback
                // if error code - print error message
                if (code) {
                    msg(wialon.core.Errors.getErrorText(code));
                } else {
                    msg('Logged successfully');
                    // hide overlay
                    //document.getElementById('overlay').style.display = 'none';
                    // when login succeed then run init() function
                    init();
                }
            });

        } else {
            msg('wialon.js load error');
        }
    };

Вызов этой функции: self.login("ЛОГИН", "ПАРОЛЬ");

Может, вы можете подсказать, как преобразовать эту функцию или в чем дело, если не в ней? Спасибо!

42

Все вопросы по новому способу авторизации в Wialon (oAuth)

(edited by a_titeev 02/10/2015 00:00:35)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

shreding.kot wrote:

Данная брешь не закрыта. С помощью скрипта выше можно получить токен.

да бросьте Вы в самом деле. с помощью данного механизма решилась довольно важная проблема - необходимость промежуточного сохранения связки логин-пароль для выполнения серии запросов из внешней системы. действительно таким образом можно говорить о "безопасном входе" в свою систему с учеткой wialon...

43

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

deal wrote:

....

Добавьте капчу...?

44

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Я преобразовал старую функцию логина в эту (тут выдуманный токен, а вообще я его получил через форму http://hosting.wialon.com/login.html):

    /** 
     * 
     * App login
     *
     */
    function login() {
    var sess = wialon.core.Session.getInstance(); // get instance of current Session
    var user = sess.getCurrUser(); // get current User
        
    sess.initSession("https://hst-api.wialon.com"); // initialize Wialon session
    sess.loginToken(token, "2242424245954766A508", // trying login 
        function (code) { // login callback
            if (code) msg(wialon.core.Errors.getErrorText(code)); // login failed, print error
            else msg("Logged successfully"); // login succeed
        }
    );
}

В итоге пишет Uncaught ReferenceError: token is not defined...

45

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Замените эту строку:

sess.loginToken(token, "2242424245954766A508", // trying login 

на

sess.loginToken("2242424245954766A508", // trying login 
Mobile Development
Gurtam
46

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

a_titeev wrote:

Добавьте капчу...?

Добавление капчи это крайний случай.
Конечно это защитит, скажем так, от недобросовестных разработчиков.
Но вместе с тем усложнит вход обычным пользователям.
Пока мы пойдём другим путём, т.е. сделаем ещё более хитрую защиту,
но незаметную обычным пользователям и разработчикам.

Head of Wialon Local Department
Gurtam
47

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

a_titeev wrote:
shreding.kot wrote:

Данная брешь не закрыта. С помощью скрипта выше можно получить токен.

да бросьте Вы в самом деле. с помощью данного механизма решилась довольно важная проблема - необходимость промежуточного сохранения связки логин-пароль для выполнения серии запросов из внешней системы. действительно таким образом можно говорить о "безопасном входе" в свою систему с учеткой wialon...

Я не говорю, что новая система авторизации плоха и скорей всего, кому-то она помогла решить его вопросы.  Вот допустим вам помогла решить проблему. А вот мне она создала дополнительные проблемы.

Просто  новая система авторизации ничего прогрессивного не принесла.  Раньше нужно было вводить логин и пароль, теперь ещё нужно использовать токен. Раньше можно было сделать свою форму, теперь я должен использовать форму гуртам. Т.е. новая система авторизации создает дополнительные проблемы, разработчикам, которые разрабатывают клиентские приложения. И мне приходится городить костыли, для того чтобы зайти на веб форму и получить токен, который я должен использовать. И не понятно, какого черта гуртам на словах запрещает использовать доп скрипты для эмуляции обычной авторизации, если таким же образом поступает обычный браузер.

48

Все вопросы по новому способу авторизации в Wialon (oAuth)

(edited by titeev-an 03/10/2015 14:01:18)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Нашел ошибку в описании. Написано про флаги уровня доступа

-1 или 0xffff — полные права

. На самом деле "0xffff" полных прав не дает, а значение "-1" дает. По флагу "0xffff", например, не смог получить доступ к изменениям флагов учетной записи и т.п.
В списке токенов права для "0xffff" обозначены как

Слежение онлайн; Просмотр данных; Редактирование малозначительных данных; Редактирование важных данных; Редактирование критических данных; Выполнение команд

А для "-1" как

Полный доступ

Вопрос: Какая ошибка в операции будет возвращена если токен удален или просрочен? Попробовать очистить все боюсь, так как есть работающие пользователи. А в списке токенов кто есть кто - не видно.

Отсюда второй вопрос: В запросе есть флаг "0x1 — возвращать в ответе имя пользователя"? Нельзя ли в списке токенов показывать то самое имя пользователя и дату создания/срок токена? Это было бы очень удобно админу. А сейчас получается просто список с одним и тем-же именем приложения (а оно действительно одно) и уровнем доступа (а он тоже один).

ЦЕНТР ТЕХНОЛОГИЙ
www.ct26.ru
49

Все вопросы по новому способу авторизации в Wialon (oAuth)

(edited by Diana 03/10/2015 23:10:51)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Если токен удален (Просроченные токены удаляются автоматически), то при логине с ним будет ошибка - {"error":8}

>>> Нельзя ли в списке токенов показывать то самое имя пользователя и дату создания/срок токена?
если вы про запрос svc=token/list  тут как раз и возращается дата создания
на сайте мониторинга в свойствах пользователя ,да, только имя приложения и права доступа - имя пользователя нет смысла тут выводить,
а дата создания для пользователей будет лишней на просмотр

возможно как для администратора вам будет удобно пользоваться следующим приложением http://apps.gurtam.by/tman/ работает с Wialon Hosting, логин/пароль как и для Hosting
Удобно управлять токенами, в том числе и дочерними (создавать, редактировать, удалять) для тестирования, каких-то проверок
Будем рады фидбеку на support@gurtam.by

Diana Cheley
Wialon Hosting Expert
Gurtam
50

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Понял, спасибо! Будем для тестов этим приложением и пользоваться. В рабочем режиме оно скорее всего не потребуется, конечно. Но на данном этапе куча бессрочных токенов насоздавалась.

ЦЕНТР ТЕХНОЛОГИЙ
www.ct26.ru
51

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Вопрос: скорее не про новый способ авторизации, но очень близкий. Полученный после логина sid можно использовать с другого ip? Это о наболевшем. Пройдя аутентификацию на сайте мониторинга хотелось бы перейти к приложению без повторной аутентификации. Но приложение серверное...

ЦЕНТР ТЕХНОЛОГИЙ
www.ct26.ru
52

Все вопросы по новому способу авторизации в Wialon (oAuth)

(edited by kopa 05/10/2015 08:46:28)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

После авторизации вызывайте core/create_auth_hash, далее передаете его на сервер и вызываете core/use_auth_hash.
В принципе аналогично можно сделать через токены, отличие в том что один auth_hash можно использовать один раз и ограниченное время.
sid привязан к ip адресу и использовать его с другого не получится.

Mobile Development
Gurtam
53

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

titeev-an wrote:

возможно как для администратора вам будет удобно пользоваться следующим приложением http://apps.gurtam.by/tman/ работает с Wialon Hosting, логин/пароль как и для Hosting
Удобно управлять токенами, в том числе и дочерними (создавать, редактировать, удалять) для тестирования, каких-то проверок
Будем рады фидбеку на support@gurtam.by

Неплохо бы было, чтоб там можно было управлять не только своими токенами, но и токенами своих юзеров...  А-то админу лазить по всем своим пользователям, чтоб посмотреть, чего у них там насоздавалось - не очень удобно...

54

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

dark_max wrote:
titeev-an wrote:

возможно как для администратора вам будет удобно пользоваться следующим приложением http://apps.gurtam.by/tman/ работает с Wialon Hosting, логин/пароль как и для Hosting
Удобно управлять токенами, в том числе и дочерними (создавать, редактировать, удалять) для тестирования, каких-то проверок
Будем рады фидбеку на support@gurtam.by

Неплохо бы было, чтоб там можно было управлять не только своими токенами, но и токенами своих юзеров...  А-то админу лазить по всем своим пользователям, чтоб посмотреть, чего у них там насоздавалось - не очень удобно...

в данном приложении как раз и можно управлять токенами своими дочерними пользователями - из выпадающего списка Пользователей выбираете нужного и  далее создаете новый токен для него, редактируете уже имеющиеся и т.д

Diana Cheley
Wialon Hosting Expert
Gurtam
55

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

chdi wrote:

в данном приложении как раз и можно управлять токенами своими дочерними пользователями - из выпадающего списка Пользователей выбираете нужного и  далее создаете новый токен для него, редактируете уже имеющиеся и т.д

О, точно, только сейчас заметил...  smile  Спасибо...
Видимо, в 3 часа ночи смотрел куда-то не туда...

56

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

А можно сюда как-то залогиниться браузером без  ввода логина/пароля если у меня уже есть токен с полным доступом для соответствующего пользователя? А-то хотел вставить эту штуку в нашу внутреннюю систему, а что-то не получается входить аналогично входу в CMS или Монитор (через передачу параметра token=...)

57

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

dark_max wrote:

А можно сюда как-то залогиниться браузером без  ввода логина/пароля если у меня уже есть токен

Можно, используте ссылку вида
http://apps.gurtam.by/tman/?access_token=<token>

58

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Как задать свои стили форме login, аналогично login_simple через css_url не получается. Либо как сделать переадресацию с login_simple, аналогично форме login redirect_url, т.к. мне не нужно что б после авторизации мне выкидывались ссылки на CMS, Mobile и Demo, а сразу переходило в мою программу, пусть хотя бы даже с token в адресной строке.
P.S. Очень недоработанная и неудобная система авторизации.

59

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Добавление возможности стилизовать форму авторизации login.html путём передачи css_url не по стандарту oauth.
Форма всё-таки не должна кардинально меняться в различных приложениях.
Самое важное, что может меняться на форме - это логотип, который берётся из скина сайта.
Добавление css_url в login.html не планируется.

Что касается login_simple.html, то у этой формы несколько иные цели - она для встраивания в сайты-визитки и быстрой авторизации в сайты. Чтобы заменить самописные формы, которые перестанут работать.
Параметр css_url тут для того чтобы была возможность органичнее вписать в дизайн сайта эту форму.
Расширение функционала login_simple также пока не планируется.

Head of Wialon Local Department
Gurtam
60

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

deal wrote:

Добавление возможности стилизовать форму авторизации login.html путём передачи css_url не по стандарту oauth.
Форма всё-таки не должна кардинально меняться в различных приложениях.
Самое важное, что может меняться на форме - это логотип, который берётся из скина сайта.
Добавление css_url в login.html не планируется.

Что касается login_simple.html, то у этой формы несколько иные цели - она для встраивания в сайты-визитки и быстрой авторизации в сайты. Чтобы заменить самописные формы, которые перестанут работать.
Параметр css_url тут для того чтобы была возможность органичнее вписать в дизайн сайта эту форму.
Расширение функционала login_simple также пока не планируется.

Хм... что за бред? У меня было готовое приложение, с адаптированной под дизайн формой авторизации, по которой клиент сразу переходил в интерфейс своего личного  кабинета. Теперь я  должен вставить либо вашу форму login.html с редиректом, которая мне не нравится и совсем никак не вписывается в дизайн , либо использовать форму login_simple.html, и выводить никому не нужные ссылки на Demo, Mobile, CMS, вместо того что нужно... Чушь какая то... Вместо того, что бы помогать и облегчать работу простым пользователям, Вы ориентируетесь априори на недобросовестных программистов, которые якобы не смогут получить то что им нужно даже из вашей формы, лишая при этом остальных нужного и важного функционала...
Теперь получить доступ стало ещё проще, вместо того что бы воровать 2 параметра(логин и пароль), достачно одного токена, который можно сохранить себе из адресной строки редиректа с login.html

P.S.

deal wrote:

Добавление возможности стилизовать форму авторизации login.html путём передачи css_url не по стандарту oauth.

А вы уверенны что хорошо знаете стандарт oauth ?

P.P.S.

deal wrote:

Форма всё-таки не должна кардинально меняться в различных приложениях.
.

Я не собирался "кардинально" её менять, нужно поменять ширину строк и добавить чуть стиля, под дизайн.

P.P.P.S. 

deal wrote:

Что касается login_simple.html, то у этой формы несколько иные цели - она для встраивания в сайты-визитки и быстрой авторизации в сайты. Чтобы заменить самописные формы, которые перестанут работать.
.

Именно это мне и нужно, но там совсем не нужна прокладка Demo, Mobile, CMS

61

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

nds88, укажите где вы видели, что в стандарте oauth в форму можно подавать свои стили?

Если стилизация основной формы логина действительно важна многим клиентам - мы рассмотрим возможность поддержать и в ней css_url.

Просьба не разводить тут полемику и споры вокруг нового механизма авторизации, эмоционально описывая свои сложности.
Эта ветка на форуме создана для конструктивных вопросов и предложений с вашей стороны и оперативной помощи с нашей.

Теперь получить доступ стало ещё проще, вместо того что бы воровать 2 параметра(логин и пароль), достачно одного токена, который можно сохранить себе из адресной строки редиректа с login.html

Токены в том числе для того и созданы, чтобы передавать третьим лицам. Хозяин в любой момент может удалить токен.

Касательно login_simple.html - ссылки на Demo, Mobile, CMS, Lite отображаются только если вы сами подадите в запрос соответствующие переменные cms_url, lite_url, mobile_url, demo_url.

Если нужно получить токен из формы login_simple.html, находящейся в iframe - можно его получить слушая событие в основном окне:

window.addEventListener("message", onMessage);

function onMessage(e) {
            // get message from login window
            var msg = e.data;
            if (typeof msg == "string" && msg.indexOf("access_token=") >= 0) {
                var token = msg.replace("access_token=", "");
                console.log(token);
            }
        }

Однако такая возможность появится при следующем обновлении.

Head of Wialon Local Department
Gurtam
62

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

deal, Прошу простить, если некоторые мои слова показались излишне эмоциональными, а вопросы, предложения и критика не конструктивными.
Но тем не менее, после них, Вы узнали и больше обратили внимания на эти моменты, нежели просто отрицанием решения.

Если стилизация основной формы логина действительно важна многим клиентам - мы рассмотрим возможность поддержать и в ней css_url.

Думаю, многие клиенты это оценят. Прошу отписаться если рассмотрение возможности поддержки будет положительным.

nds88, укажите где вы видели, что в стандарте oauth в форму можно подавать свои стили?

login_simple.html не по стандарту oauth ? Добавьте пожалуйста и в login.html, будет ещё одна, и есть ещё, безопасности это не ведь не вредит .

Если нужно получить токен из формы login_simple.html, находящейся в iframe - можно его получить слушая событие в основном окне:

Однако такая возможность появится при следующем обновлении.

С нетерпением ждем обновлений. Спасибо за понимание и оперативную поддержку.

63

Все вопросы по новому способу авторизации в Wialon (oAuth)

(edited by agrogps 22/10/2015 11:49:39)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Добрый день.

Ранее у Вас работал пример - http://sdk.wialon.com/playground/demo/app_auth_token
на данный момент не работает, сломался 2-3 недели назад, до этого в приложении все сделали по примеру все работало.
Раньше окно закрывалось при вводе логина\пароля и при закрытии постилось сообщение с токеном которое мы могли отловить в основном окне

http://c2n.me/3pb7JwA

токен ловили вот так - window.addEventListener("message", tokenRecieved);
"http://hosting.wialon.com/post_token.html" постил сообщение с токеном, сейчас не постит.

Что то изменилось?

Александр Любан, agrocontrol.ru
"АгроКонтроль" - и Ваши поля расскажут многое...
64

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

agrogps, добрый день.

Да, проблема есть. Уже исправили. Обновление с фиксом будет в понедельник.
Спасибо, что указали на это.

Head of Wialon Local Department
Gurtam
65

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Здравствуйте. Каким запросом сделать logout из формы login_simple, не нажимая на "Выход" в самой форме?

«Ваше благополучие зависит от Ваших собственных решений»
Д. Д. Рокфеллер
66

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

West-Kaz Group, на данный момент такой возможности нет.
Сам логаут в форме login_simple.html ничего сверхъестественного не производит,
кроме удаления из localStorage авторизированного токена. Но сделать это самостоятельно не получится
т.к. Ваш сайт или приложение в другом домене нежели сама форма авторизации.
Мы рассмотрим целесообразность добавления метода по удалению токена из localStorage в форме login_simple.html.

Head of Wialon Local Department
Gurtam
67

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

deal wrote:

West-Kaz Group, на данный момент такой возможности нет.
Сам логаут в форме login_simple.html ничего сверхъестественного не производит,
кроме удаления из localStorage авторизированного токена. Но сделать это самостоятельно не получится
т.к. Ваш сайт или приложение в другом домене нежели сама форма авторизации.
Мы рассмотрим целесообразность добавления метода по удалению токена из localStorage в форме login_simple.html.

Спасибо. Мы уже поняли, что дело в параметре wwt localStorage . Так же ,насколько мы поняли, login_simple.html отличается от login.html, тем, что при авторизации через login.html, параметр wwt не записывается в localStorage, а лишь создает авторизированный токен. Например для нашей задачи, это то, что нужно, но сильно разочаровывает отсутствие возможности стилизации формы. Поэтому подходит только login_simple.html, но проблема в том, что после авторизации юзер попадает во Frontend приложения, форма login_simple.html скрывается, за ненадобностью, и пропадает возможность сделать logout, нашли один выход, это полностью удалять токен, но это тоже не выход, т.к. как тут уже упоминалось

deal wrote:

Токены в том числе для того и созданы, чтобы передавать третьим лицам.

. Просим Вас рассмотреть возможности, либо стилизации login.html , либо добавления метода по удалению токена из localStorage в форме login_simple.html, а лучше и то, и то ))

«Ваше благополучие зависит от Ваших собственных решений»
Д. Д. Рокфеллер
68

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Не появилось ли случайно каких - нибудь решений?

«Ваше благополучие зависит от Ваших собственных решений»
Д. Д. Рокфеллер
69

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

West-Kaz Group, на следующей неделе будет решение.

Head of Wialon Local Department
Gurtam
70

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

West-Kaz Group, в следующий понедельник параметр css_url появится в login.html.
Также с понедельника в iframe с login_simple.html можно отправить сообщение:

myframe.contentWindow.postMessage("logout", "*");
Head of Wialon Local Department
Gurtam
71

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

deal wrote:

West-Kaz Group, в следующий понедельник параметр css_url появится в login.html.
Также с понедельника в iframe с login_simple.html можно отправить сообщение:

myframe.contentWindow.postMessage("logout", "*");

Спасибо. Это хорошие новости. Ценим Вашу поддержку. "Следующий понедельник", это сегодня 16 ноября, или 23?

«Ваше благополучие зависит от Ваших собственных решений»
Д. Д. Рокфеллер
72

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Сегодня! Просто по определённым причинам было решено обновлять вечером.
Думаю через полчаса сможете проверить.

Head of Wialon Local Department
Gurtam
73

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Каким образом сделать логаут для закрытия всех сессий пользователя ?
На текущий момент пользователь логинится затем может скопипастить адрес с идентификатором сессии и в соседнем окне этого браузера открыть.
Логаут в  первом окне не обеспечивает логаут во втором.

Wialon development experts, Easy Logic Experts, Заказная разработка
Интегратор  и разработчик систем GPS/ГЛОНАСС мониторинга - watchit.ru
Interra Team, CEO Кравчик Юрий,  тел. +7 863 218-11-74, +7 863 218-11-73, emal wialon@watchit.ru

Принимаем заказы на разработку. Примеры наших коробочных решений и облачных сервисов
74

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

kravchik, дело в том, что когда Вы копируете строку с sid-ом в новую вкладку - создаётся дубликат сессии, по сути новая сессия.
И sid там другой. При этом обе сессии продолжают существовать и продлеваться (т.к. в каждой вкладке продолжают идти запросы).
Логаут удаляет только текущую сессию, дубликаты продолжают работать - такова наша концепция.
Однако стоит учесть, что время любой сессии ограничено 5 минутами бездействия. Под бездействием имеется ввиду отсутствие любых запросов, в том числе avl_evts, которые выполняются в мониторинге каждые 2 секунды. Т.е. через 5 минут после закрытия вкладки эта сессия удалится.
Если речь идёт о ситуации, когда sid был передан другому человеку и нужно чтобы по Вашему логауту его сессия тоже удалилась, то для этого нужно логиниться при помощи токена (или выставлять галочку Запомнить при логине). После этого даже если передать стороннему человеку sid или токен - его дубликат сессии будет удалён после Вашего логаута (т.к. при логауте удаляется токен).
Только у это дела есть некоторая инерционность - около минуты.

Head of Wialon Local Department
Gurtam
75

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

deal wrote:

по сути новая сессия.
И sid там другой.

Неправда ваша. Открываем в браузере окно с Виалоном. Копируем из него строку-адрес. Открываем в том-же экземпляре браузера ещё одно окно, вставляем ему скопированный ранее адрес - получаем сессию с тем-же SID.

76

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

BoolAB , чтобы такое заявлять предлагаю вооружиться хотябы скриншотами, а для пущей убедительности снятым видео, где вы копируете адрес с сидом из одной вкладки в другую и при этом в обоих вкладках в итоге сид одинаковый.
На всякий случай сообщу, что это проверено во всех современных браузерах для хостинга и локала.

Head of Wialon Local Department
Gurtam
77

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

deal , приношу свои извинения. Перепроверил: на самом деле SID разный. А исходный мой вопль был навеян тем, что вторая сессия открывается сразу залогиненной.

78

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

deal wrote:

kravchik, дело в том, что когда Вы копируете строку с sid-ом в новую вкладку - создаётся дубликат сессии, по сути новая сессия.
И sid там другой. При этом обе сессии продолжают существовать и продлеваться (т.к. в каждой вкладке продолжают идти запросы).
Логаут удаляет только текущую сессию, дубликаты продолжают работать - такова наша концепция.
Однако стоит учесть, что время любой сессии ограничено 5 минутами бездействия. Под бездействием имеется ввиду отсутствие любых запросов, в том числе avl_evts, которые выполняются в мониторинге каждые 2 секунды. Т.е. через 5 минут после закрытия вкладки эта сессия удалится.
Если речь идёт о ситуации, когда sid был передан другому человеку и нужно чтобы по Вашему логауту его сессия тоже удалилась, то для этого нужно логиниться при помощи токена (или выставлять галочку Запомнить при логине). После этого даже если передать стороннему человеку sid или токен - его дубликат сессии будет удалён после Вашего логаута (т.к. при логауте удаляется токен).
Только у это дела есть некоторая инерционность - около минуты.

Логин выполняю через authHash созданные при условии авторизации по токену.
При логауте  - если пользователь авторизовался через authHash - токен видимо не удалятся и сессии живут.

С другой стороне само по себе копирование сессии и создание дубликата сессии при этом - это некий скрытый дополнительный вид авторизации - по моему мнению неестественный.

Так получается что если в интерфейсе нажать на пользователя - затем пункт меню ВЫХОД - после этого попадаем на окно ввода логина пароля - затем нажимаем на браузеере кнопку НАЗАД и опять становимся как бы авторизованными это тоже концепция ???

Wialon development experts, Easy Logic Experts, Заказная разработка
Интегратор  и разработчик систем GPS/ГЛОНАСС мониторинга - watchit.ru
Interra Team, CEO Кравчик Юрий,  тел. +7 863 218-11-74, +7 863 218-11-73, emal wialon@watchit.ru

Принимаем заказы на разработку. Примеры наших коробочных решений и облачных сервисов
79

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

BoolAB, если не нужно, чтобы делался дубликат сессии (в новой вкладке был "не залогиненный" Wialon) - не подавайте туда действующий sid. И тогда получите форму авторизации.

По поводу дубликатов сессии - они нужны для аппсов, для возможности войти из-под нижестоящего пользователя, для возможности авторизовавшись один раз с этим сидом заходить в разные сайты, для возможности работы нескольких людей под одним пользователем и при этом не мешать друг другу. У каждой сессии (в том числе у дубликатов) свой рендерер, свои датафлаги и т.д. Такова наша концепция. Целесобразность этой концепции мы тут не обсуждаем.

kravchik, приведите строки с Вашей авторизацией в ЛС. Возможно тут есть неучтённые моменты с нашей стороны.

Head of Wialon Local Department
Gurtam
80

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Коллеги, а может кто-нибудь поделиться примером встраивания формы авторизации в собственную страничку? Что-то playground у меня криво открывается, а сам сообразить не могу...:(

81

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

gofk, если речь о встраивании формы авторизации в свой сайт (визитку)
для возможности с Вашего сайта попасть сразу в мониторинг,
то для этого Вы можете воспользоваться упрощённой формой авторизации (login_simple.html).
Сделать это можно добавив iframe в нужную область на сайте примерно так:

<iframe name="simple_form" src="http://hosting.wialon.com/login_simple.html?title=Monitoring&lang=en" scrolling="no" style="width: 230px; height: 290px; border: 0; margin: 10px;"></iframe>

Описание параметров здесь http://sdk.wialon.com/wiki/ru/sidebar/r … gin/login.

Head of Wialon Local Department
Gurtam
82

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Некоторое время назад сделал небольшое приложение для Андроида, которое использует SDK (http://forum.gurtam.com/viewtopic.php?id=7170). Недавно обнаружилось, что механизм логина, используемый там, уже не работает. Вот теперь пытаюсь разобраться как все правильно сделать с новым способом аутентификации. Первый вопрос который всплывает: пользователю нужно будет теперь вносить в настройки приложения семидесятизначный токен что ли?
Если нет, то как это должно правильно делаться? Могу ли я как-то сам запрашивать токен используя логин/пароль? В смысле не заставляя пользователя заполнять какие-то формы и копировать строки неимоверной длины?

83

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

kalaschnikow, в приложении теперь необходимо показывать нашу новую форму авторизации http://hosting.wialon.com/login.html или ваш.днс/login.html. Эту фому можно стилизовать при помощи стороннего css. Есть также ряд других параметров.

Для отображения формы на адроиде можно воспользоваться компонентом типа WebView.
Пользователь вводит логин/пароль -> происходит редирект -> вы проверяете наличие параметра access_token ->
если он есть, вызваете запрос svc=token/login&params={"token":"<access_token>"} с полученным токеном ->
в результате получаете json с sid-ом, который и используете во всех дальнейших запросах.

Также дальше Вы можете запомнить полученный токен пользователя в устройстве и в следующий раз не показывать форму авторизации. Токен можно создавать с различным уровнем прав и сроком действия.

Описание http://sdk.wialon.com/wiki/ru/sidebar/r … ogin/login
Примеры http://sdk.wialon.com/playground/demo/app_auth_token

Head of Wialon Local Department
Gurtam
84

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Спасибо, deal. Попробую.
Идеально было бы без WebView обойтись... Почему нет такого запроса API? Даешь ему усера/пароль, а получаешь токен взамен. По идее ведь все так и работает. В чем необходимость WebView?

85

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

kalaschnikow, такова наша (и не только) концепция, чтобы форма авторизации была гарантированно доверенная (только наша). Это должно исключить или минимизировать попытки взлома, кражи учётных данных, повысить защищённость.
А по поводу того, что всё так и работает (на входе логин/пароль, на выходе токен) - да действительно примерно так, но только помимо логина и пароля ещё передаётся специально сгенерированная подпись, которая есть только на форме. Без корректной подписи запрос не вернёт токен.

Head of Wialon Local Department
Gurtam
86

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

deal wrote:

kalaschnikow, такова наша (и не только) концепция, чтобы форма авторизации была гарантированно доверенная (только наша). Это должно исключить или минимизировать попытки взлома, кражи учётных данных, повысить защищённость.

Я не спорю с этим. Мне примерно понятна мотивация введения авторизации по токену.

deal wrote:

А по поводу того, что всё так и работает (на входе логин/пароль, на выходе токен) - да действительно примерно так, но только помимо логина и пароля ещё передаётся специально сгенерированная подпись, которая есть только на форме. Без корректной подписи запрос не вернёт токен.

А вот тут как раз есть с чем поспорить. Если появится скажем запрос "core/gettoken", то для внешнего "вызывателя" совершенно ничего не изменится. Сейчас я через WebView должен сделать HTTP-запрос, производится редирект и я должен считать URL и выделить из него токен. Чем это принципиально отличается от HTTP-запроса "core/gettoken"? Вы уж извините за критику, но по-моему только неудобством использования.
Вы аргументируете тем, что "компонента" делающая из усера/пароля токен "ваша" и имеет подпись и всякие другие сертифицирующие прибабахи. Ну дык если будет скажем HTTP API, то эта компонента и останется вашей. И сертифицируйте там внутри что хотите и как хотите. Просто вместо неудобной формы с редиректом, дополнительной компоненты WebView и прочих прибабахов, останется простой и удобный интерфейс.
Я не ожидаю что всех "прям щас переубедю", и Gurtam бросится делать для меня интерфейс "core/gettoken", но по-моему если просто задать себе пару (возможно глупых) вопросов, то ясно, что форма ни к чему.

87

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

kalaschnikow, поясню на примере.
Допустим кто-то создал свою форму со старым способом авторизации или с гипотетическим запросом "core/gettoken".
В этом случае мы никак не сможем обезопасить конечного пользователя, вводящего в эту форму свои реальные учётные данные от того, что эта форма сначала не сохранит или не передаст куда-то эти данные и ими не воспользуются третьи лица.
При вводе логина и пароля в нашу форму перехватить эти данные намного сложнее.

Старый механизм авторизации вообще почти никак не был защищён. С введением токенов, даже если токен попадёт к третьим лицам, владелец токена в любой момент может удалить его.
Кроме того есть возможность создания токенов с различным уровнем прав, например с ограниченным как раз для передачи третьим лицам.

Удивительно что Вы поднимаете этот вопрос сейчас, а не полгода назад, когда это вводилось и все были заранее предупреждены.

В общем не вижу смысла поднимать холивар по этому поводу сейчас. Это был наш осознанный шаг в сторону усиления безопасности при авторизации пользователей т.к. были определённые ситуации ну и чтобы идти в ногу со временем.
Маловероятно что мы в ближайшее время добавим запрос "core/gettoken" (во всяком случае в таком простом виде).

Просьба отнестись с пониманием, профессионально. Вместо отрицания и суровой критики эффективнее писать конструктивные предложения (на которые мы можем пойти), например не так давно просили возможность стилизовать форму и мы добавили параметр css_url и т.д.
Если есть какие-то сложности с внедрением формы - мы обязательно поможем, для чего и создана данная ветка форума.

Head of Wialon Local Department
Gurtam
88

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

deal wrote:

В этом случае мы никак не сможем обезопасить конечного пользователя, вводящего в эту форму свои реальные учётные данные от того, что эта форма сначала не сохранит или не передаст куда-то эти данные и ими не воспользуются третьи лица.
При вводе логина и пароля в нашу форму перехватить эти данные намного сложнее.

OK, кажется до меня дошло самое важное в этом методе. Эти все финты ушами нужны чтоб не давать усера/пароль мне.

Все ясно спасибо за объяснения.

89

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Добрый день! Сделана своя страница входа в WL (форма авторизации встроена через iframe и стилизована под свой дизайн). Насколько я понимаю, возможности вернуть пользователя при logout'е из WL на свою страницу входа нет? Или есть какие-то варианты?

90

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Сейчас такой возможности нет, но если это многим актуально - подумаем как это можно реализовать.

Head of Wialon Local Department
Gurtam
91

Все вопросы по новому способу авторизации в Wialon (oAuth)

(edited by pavel-galant 21/03/2016 20:19:26)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

deal
Думается, что многим такая возможность была бы интересна. Спасибо.

92

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Добрый день.
Создал свое приложение, авторизация в котором идет через http://hosting.wialon.com/login.html.
Я добавил его в список Apps, то есть теперь могу открывать его в виалоне. Но получается, что мне в приложении приходится повторно авторизовываться. Не подскажите, как можно обойтись без повторной авторизации? В приложение передается sid, но запросы через remote API выполнять у меня не получается.

93

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

sanya, просьба указать с какими настройками Вы добавили приложение в Wialon, а также каким образом осуществляете авторизацию в самом приложении.

Head of Wialon Local Department
Gurtam
94

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

deal,
В настройках приложения выбраны дополнительные параметры URL: Active SID, Current user, Base URL, Host URL, Language.

Само приложение сначала открывает http://hosting.wialon.com/login.html, откуда после авторизации приложение получает имя пользователя и токен. Далее делаю запрос:
https://hst-api.wialon.com/wialon/ajax.html?svc=token/login&params={"token":"<токен>"}
откуда получаю eid, который использую для всех последующих запросов.

95

Все вопросы по новому способу авторизации в Wialon (oAuth)

(edited by deal 31/03/2016 11:56:28)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

sanya, всё должно работать. В приложении сначала нужно получить get-параметр sid, и:
1. если он не пустой:
     a. выполнить запрос core/duplicate (https://hst-api.wialon.com/wialon/ajax.html?svc=core/duplicate&params={"continueCurrentSession":true}&sid=<sid>)
     б. если пришёл корректный ответ - взять из него новый сид из параметра eid
     в. выполнять все дальнейшие запросы с этим сидом
2. если параметра sid нету, или после попытки выполнить запрос core/duplicate новый сид не получен нужно показать форму login.html, получить токен, по нему авторизоваться и получить сид.

Ещё как вариант в настройках приложения есть параметр Authorize hash. Если его выставить - в приложение придёт get-параметр authHash.
Если он задан - можно выполнить запрос svc=core/use_auth_hash&params={"authHash":<text>} и на выходе получить сид в параметре eid.
И дальше действовать по такой же схеме.

Head of Wialon Local Department
Gurtam
96

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Добрый вечер коллеги. Передо мной поставили несколько задач, по интеграции WialonPro аккаунта и нашего стороннего ресурса:
1. Выгрузка отчетов
2. Выгрузка треков

Мне как "человеку со стороны", непонятно несколько вещей, даже не технических, а "виалоновских". Документация API не помогла.

Выполнение отчета
https://sdk.wialon.com/wiki/ru/pro/remo … xec_report

Что такое ИД ресурса, и где его брать?

97

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

anovoselof, в качестве id ресурса можно использовать id учётной записи, к которой относится текущий пользователь.
Id учётной записи приходит в ответе на логин в свойстве "bact" https://sdk.wialon.com/wiki/ru/pro/remo … core/login
Также можно подать id другого ресурса. Для этого нужно найти все доступные ресурсы https://sdk.wialon.com/wiki/ru/pro/remo … arch_items и взять id интересующего ресурса.
P.S. Эта ветка посвящена только новому способу авторизации в Wialon Hosting и Wialon Local. Просьба задавать вопросы в соответствующих ветках или создавать новые.

Head of Wialon Local Department
Gurtam
98

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Помогите разобраться что не так
После авторизации получаю токен
делаю запрос
https://hst-api.wialon.com/wialon/ajax.html?svc=token/login&params={"token":"мойтокен"}
получаю eid
делаю следующий запрос
https://hst-api.wialon.com/wialon/ajax.html?svc=core/search_item&params={"id":14830215,"flags":1025}&eid="04726d61f2f7dfe6025883311ec4dc21"

получаю
{
    "error": 1
}
Недействительная сессия ((((



99

Все вопросы по новому способу авторизации в Wialon (oAuth)

(edited by snowkam 01/03/2017 12:40:31)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

прошу прощение сид указывается без кавычек

Но назрел другой вопрос Возможно выполнить запрос  без sid  имея только токен?

100

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

snowkam, нет. Сначала нужно авторизоваться с использованием токена и получить sid, который в дальнейшем и использовать.

Head of Wialon Local Department
Gurtam
101

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Добрый день, Пытаюсь выполнить идентификацию, получаю error;4. Что может означать?
Не выполнено: Ошибка при отправке команды на сервер Wialon.
Ошибка при передаче запроса на сервер!
    Команда: https://hst-api.wialon.com/wialon/ajax.html?svc=token/login&params={"token":9.....3}
    Ответ: {"error":4}

102

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Добрый день

Похоже на невалидный JSON params, проверьте кавычки

params={"token":"токен в кавычках"}
103

Все вопросы по новому способу авторизации в Wialon (oAuth)

(edited by Olelykoye 02/03/2017 06:29:41)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Спасибо, Заработало. - Это в демо конфигурации, скачанной с сайта.

104

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Подскажите пожалуйста а есть ли такие же примеры на php?

Истина где то рядом.
105

Все вопросы по новому способу авторизации в Wialon (oAuth)

(edited by novac 15/08/2017 12:28:05)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Добрый день!
Не получается выполнить логин через http://hosting.wialon.com/login.html
Сервер возвращает ошибку error=1011
Location: http://hosting.wialon.com/login.html?client_id=Wialon Hosting&access_type=0x100&activation_time=0&duration=2592000&flags=6&response_type=token&svc_error=1011

POST запрос к серверу и ответ отправляю во вложении.
По описанию это "Время сессии истекло либо ваш IP изменился"
Подскажите в чем может быть причина?
Спасибо!

106

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

novac, в целях безопасности форма авторизации валидна в течении одного часа при условии что IP не изменился. Иначе в ответе будет 1011 и нужно заново её показать и логиниться.

Head of Wialon Local Department
Gurtam
107

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

deal wrote:

novac, в целях безопасности форма авторизации валидна в течении одного часа при условии что IP не изменился. Иначе в ответе будет 1011 и нужно заново её показать и логиниться.

IP не меняется, а ошибка возникает сразу при попытке выполнить логин.
В чем может быть причина?

108

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

novac wrote:

POST запрос к серверу и ответ отправляю во вложении.

Какой запрос? Через форму нельзя авторизовываться по логину/паролю автоматически, единственный вариант — чтобы пользователь руками ввёл имя/пароль, затем произошёл редирект и уже оттуда взялся токен/хеш.

109

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

novac, важно чтобы форма авторизации (login.html) отдавалась не из кэша. Такое может быть на стороне интернет-провайдера, когда проксирующий сервер отдаёт закэшированную форму с устаревшей подписью. Можете сравнить содержимое страницы с формой за разное время - они не должны полностью совпадать.

Head of Wialon Local Department
Gurtam
110

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Спасибо за ответы!

111

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Вопрос с авторизацией решён

112

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Im getting some troubles about that

113

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

monitoreo2, give more details (description, screenshots, errorcodes, ...)

Head of Wialon Local Department
Gurtam
114

Все вопросы по новому способу авторизации в Wialon (oAuth)

(edited by tdt66 04/01/2018 17:56:02)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

правильно я понимаю .. что если я захочу написать сервис .. мне нужен будет человек который должен ручками вводить логин и пароль ?
тоесть никакой автоматизации

и поправьте чтоли документацию .. там как бы не по русски написано ..
у вас система какая то для составления документации из исходных кодов ?

подпись сломали .. впрочем не удивительно
115

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

опять же к чему этот огород .. что помешает злоумышленнику хранить этот токен ))) в чем различие токен поймает злоумышленик или логин пароль ..
ссуть не ясна ..
ну да .. токен типа кончится через 100 дней .. так пользователь опять и опять будет заходить .. и опять и опять будет сохранятся токен ..

в любом случае дыра никуда не денется ..

или есть какойто мега тайный смысл ?

подпись сломали .. впрочем не удивительно
116

Все вопросы по новому способу авторизации в Wialon (oAuth)

(edited by rual 05/01/2018 11:27:03)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

tdt66 wrote:

опять же к чему этот огород .. что помешает злоумышленнику хранить этот токен ))) в чем различие токен поймает злоумышленик или логин пароль ..
ссуть не ясна ..
ну да .. токен типа кончится через 100 дней .. так пользователь опять и опять будет заходить .. и опять и опять будет сохранятся токен ..

в любом случае дыра никуда не денется ..

или есть какойто мега тайный смысл ?

Предположим, вы пользователь и хотите воспользоваться сторонним аппом. Если вы им напрямую дадите логин-пароль, то апп получит полный доступ ко всему, что вы имеете и можете делать.

Авторизация по токену имеет следующие плюшки:

  • Можно отозвать авторизацию одним кликом и только для одного аппа, а не менять пароль, а затем менять их у всех других аппов.
  • При авторизации видно, какие права получит приложение и они могут быть гораздо меньше, чем полные

Вопрос кражи токенов это вопрос доверия. Вы доверяете аппу и предоставляете ему токен. Если он пересылался по https (а так же все сертификаты доверенные) и разработчики аппа заботятся о безопасности (если хранят токен у себя на серверах, а не используют только на клиенте), то никуда он не денется дальше аппа.

В случае же ввода логина-пароля напрямую, его может утащить любой скрипт на сайте (любой счётчик/баннер/etc).

tdt66 wrote:

правильно я понимаю .. что если я захочу написать сервис .. мне нужен будет человек который должен ручками вводить логин и пароль ?
тоесть никакой автоматизации

Вам нужно один раз показать форму авторизации пользователю, выдать себе токен на какое-то время, запомнить его и пользоваться. Когда истечёт — выдать новый. Пользователю в любом случае когда-нибудь нужно будет заходить в вашу систему, чтобы как-нибудь с ней взаимодействовать.

Если же она подразумевает какие-то фоновые длительные процессы, которые могут не трогаться сто дней — отправьте на 95 день уведомление, что человеку хорошо бы ещё раз залогиниться. Если бы авторизация была по паролю — то была бы куда большая вероятность, что за три месяца человек сменит себе пароль и сервис совсем потеряет возможность логиниться.

117

Все вопросы по новому способу авторизации в Wialon (oAuth)

(edited by tdt66 10/01/2018 09:31:56)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

rual wrote:

Вам нужно один раз показать форму авторизации пользователю, выдать себе токен на какое-то время, запомнить его и пользоваться. Когда истечёт — выдать новый. Пользователю в любом случае когда-нибудь нужно будет заходить в вашу систему, чтобы как-нибудь с ней взаимодействовать.

я захочу написать сервис , в плане что там пользователь не учавствует , допустим биллинг которого нет
человек заходит чтобы выписать счета , по количеству объектов , или кто блокирован

или передачу в 1С данных о чем нибуть
тоесть у меня НЕТ веб формы , чтобы показать её , человек жмет кнопку и хочет получить цифру .. да и выдавать ему на руки пароль который он должен вводить раз в сто дней )))) не особо надо ..

сторонние сервисы такого плана умерли ?
и теперь я понимаю чуть чуть насчет документации ...

подпись сломали .. впрочем не удивительно
118

Все вопросы по новому способу авторизации в Wialon (oAuth)

(edited by tdt66 10/01/2018 09:32:45)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

rual wrote:

Авторизация по токену имеет следующие плюшки:

Можно отозвать авторизацию одним кликом и только для одного аппа, а не менять пароль, а затем менять их у всех других аппов.
При авторизации видно, какие права получит приложение и они могут быть гораздо меньше, чем полные

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

подпись сломали .. впрочем не удивительно
119

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

tdt66 wrote:

человек заходит чтобы выписать счета , по количеству объектов , или кто блокирован .

Так человек же "заходит".

tdt66 wrote:

или передачу в 1С данных о чем нибуть

tdt66 wrote:

человек жмет кнопку и хочет получить цифру

Получаете один раз токен. И прописываете его в настройках ПО, которое передаёт данные в 1С. Для этого ведь не обязательно под конечным пользователем авторизоваться. А если экспорт будет регулярно выполняться - и токен будет вечный.

Этот вариант я на практике применял. Именно для кабинета пользователя. тот же самый биллинг обсчитывать. Или, например, дать возможность пользователю сменить свой тарифный план, внести деньги на счёт и т.д.

120

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

tdt66 wrote:

или передачу в 1С данных о чем нибуть
тоесть у меня НЕТ веб формы , чтобы показать её , человек жмет кнопку и хочет получить цифру .. да и выдавать ему на руки пароль который он должен вводить раз в сто дней )))) не особо надо ..

Кроме того, токен не живёт максимум 100 дней, а будет удалён, если по нему не происходило никаких логинов в их течении.

Token is deleted automatically through 100 days of inaction (even with dur:0)

Достаточно один раз его получить с duration=0 и затем просто использовать не реже, чем раз в сто дней.

tdt66 wrote:

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

Вне веба всё равно есть WebView.

121

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

oauth норм авторизация

122

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Вне веба всё равно есть WebView

сервис , или в веб вью позволяет заменить пользователя ?  допустим запускать сервис в кроне .. и складывать данные в базу ..
или как обычно ?

подпись сломали .. впрочем не удивительно
123

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Добрый день.
Неудачно пытаюсь получить список токенов командой token/list, учитывая, что параметр userid, согласно документации, является опциональным
Выполняю запросы
https://hst-api.wialon.com/wialon/ajax. … ;params={} - ответ {"error":1}
https://hst-api.wialon.com/wialon/ajax.html?svc=token/list&params={"userId":} - ответ {"error":4,"reason":"WRONG_PARAMS"}
https://hst-api.wialon.com/wialon/ajax.html?svc=token/list&params={"userId":""} - {"error":1}
https://hst-api.wialon.com/wialon/ajax. … token/list - {"error":4,"reason":"WRONG_PARAMS"}

как правильно получить список всех токенов через remoteApi?
Задача у меня следующая - при логине, определить, действующий токен или нет и если нет, создать новый.
Такое возможно? или токены создавать только сторонними средствами?

124

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Dmitry Dmitriev wrote:

Добрый день.
Неудачно пытаюсь получить список токенов командой token/list, учитывая, что параметр userid, согласно документации, является опциональным
Выполняю запросы
https://hst-api.wialon.com/wialon/ajax. … ;params={} - ответ {"error":1}
https://hst-api.wialon.com/wialon/ajax.html?svc=token/list&params={"userId":} - ответ {"error":4,"reason":"WRONG_PARAMS"}
https://hst-api.wialon.com/wialon/ajax.html?svc=token/list&params={"userId":""} - {"error":1}
https://hst-api.wialon.com/wialon/ajax. … token/list - {"error":4,"reason":"WRONG_PARAMS"}

как правильно получить список всех токенов через remoteApi?

error:1 значит, что в запросе нет параметра sid, или он истёк. Во втором в params некорректный json, в четвёртом нет params.

sid можно получить залогинившись используя token/login или core/use_auth_hash

Dmitry Dmitriev wrote:

Задача у меня следующая - при логине, определить, действующий токен или нет и если нет, создать новый.
Такое возможно? или токены создавать только сторонними средствами?

Лучший способ определить, действующий токен или нет — сделать собственно token/login.

Единственный правильный способ получать токены — использовать /login.html.

125

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Спасибо за развернутый ответ.
добавил в запрос sid, получаю ошибку {"error":7}. Согласно описания - не хватает прав.
Необходимо генерировать новый токен или можно добавить этому токену прав? как?

126

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Dmitry Dmitriev, добавить токену прав нельзя. Можно создать новый токен с правами 0xffff или -1, а старый удалить.

Head of Wialon Local Department
Gurtam
127

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Имеется приложение которое собирает текущие данные по объектам, но через 100 дней токен все равно удаляется. Подскажите пожалуйста, как избежать данной проблемы и что является критерием активности токена при котором он остается сущестовать более 100 дней?

128

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Добрый день.
Не загружаются данные с сайта в программу 1С.

Ошибка при подключении объекта к сессии
Команда: https://hst-api.wialon.com/wialon/ajax.html?svc=core/update_data_flags&sid=092b7060b26e88cfb164dd1085d87757&params={"spec":[{
"type":"type",
"data":"avl_resource",
"flags":2001,   
"mode":0}]}
Ответ: {"error":1}

129

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Добрый день
Не могу получить token через 1С 8.3

вот запрос
HTTPСоединение = Новый HTTPСоединение("hosting.wialon.com");
HTTPЗапрос = Новый HTTPЗапрос("/oauth.html?client_id=1C&access_type=-1&activation_time=0&duration=2592000&lang=ru&flag=0x1&login="+Пользователь+"&passw="+Пароль+"&redirect_uri=http://hosting.wialon.com/login.html&response_type=token");

возвращает Location: http://hosting.wialon.com/login.html?&a … error=1011
(Время сессии истекло либо ваш IP изменился)

подскажите в чем проблема?

130

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

aboema wrote:

HTTPЗапрос = Новый HTTPЗапрос("/oauth.html?client_id=1C&access_type=-1&activation_time=0&duration=2592000&lang=ru&flag=0x1&login="+Пользователь+"&passw="+Пароль+"&redirect_uri=http://hosting.wialon.com/login.html&response_type=token");

возвращает Location: http://hosting.wialon.com/login.html?&a … error=1011
(Время сессии истекло либо ваш IP изменился)

подскажите в чем проблема?

Проблема в том, что авторизовываться можно только используя login.html, нельзя слать прямые запросы с логином/паролем на oauth.html/authorize.html.

Авторизоваться можно только вручную введя логин/пароль в форму. Если нужно авторизовываться автоматически — один раз получите токен и запомните его.

131

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

если использовать login.html, то не происходит перенаправления, получаем код 200 и содержимое login.html, никакого перенаправления
т.е. получается что нельзя автоматизированно получить токен с помощью 1С

а с токеном, полученным через форму невозможно получить список всех токенов (svc=token/list), возвращает {"error":7} Доступ запрещен

132

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Разобрался сам. Все работает. 1С сама получает токен с нужными правами, видит список (svc=token/list)

133

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

нужен токен который видит доступ 100 и 200
в менеджере токенов создаю который либо видит но не может листать сообщения
либо листает сообщения но не видит доп свойств .. типа типа оборудования и тд ..
что странно .. они взаимоисключающие ?

подпись сломали .. впрочем не удивительно
134

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

0x100 | 0x200 = 0x300 ( 768 )

http://hosting.wialon.com/login.html?access_type=768

Похоже что работает. У прав токена нет взаимоисключающих флагов.

135

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

rual wrote:
0x100 | 0x200 = 0x300 ( 768 )

http://hosting.wialon.com/login.html?access_type=768

Похоже что работает. У прав токена нет взаимоисключающих флагов.

все точно , блин взял скрипт из примеров .. там ЖС и оно почему то выдало странную цифру при суммировании этих значений

подпись сломали .. впрочем не удивительно
136

Все вопросы по новому способу авторизации в Wialon (oAuth)

(edited by tdt66 17/09/2019 20:16:54)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

создаю токен с 100+200+400 вижу УИД оборудования
убираю 200 не вижу уид .. оборудования хотя судя по описанию .. токена должно !
насолько я понимаю 100 - включает и просмотр подробных свойст ?

судя из этого описания ... хотя 200 назван просмотр данных .. но описание пунктов .. почему то странноватое ..
0x200 — Просмотр данных
• Действовать от имени этого пользователя
• Просмотр уведомлений
• Просмотр заданий
• Просмотр интервалов техобслуживания

виалон локал
https://blog.gurtam.com/storage/old_ru/ … lon_RU.pdf

подпись сломали .. впрочем не удивительно
137

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Здравствуйте! Есть задача, сделать сквозную авторизацию в нескольких сервисах. Основной сайт компании "site.ru", сайт с сервисом виалон "wialon.site.ru". Можно ли сделать так, чтоб при авторизации на сайте "site.ru", автоматически происходила авторизация на сайте сервиса виалон "wialon.site.ru".

138

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

freezbeer wrote:

Здравствуйте! Есть задача, сделать сквозную авторизацию в нескольких сервисах. Основной сайт компании "site.ru", сайт с сервисом виалон "wialon.site.ru". Можно ли сделать так, чтоб при авторизации на сайте "site.ru", автоматически происходила авторизация на сайте сервиса виалон "wialon.site.ru".

У логин-страниц есть возможность передать в url-параметрах authHash либо token. Что произведёт автоматический логин в систему.

На вашей странице вы можете реализовать кнопку «Войти в систему», по нажатию на котором вы можете создать/получить токен для конкретного пользователя, который можно создать из-под master-токена от топовой учётной записи. Передать его пользователю и перенаправить на wialon.example.org/?token=xxx.

Сделать так, чтобы имея авторизацию на example.org при заходе на wialon.example.org оно так же автоматически залогинило, сложнее и документированных способов нет. Единственный механизм для реализации этого — возможность добавить свой js-скрипт на логин-страницу (просится у тех.поддержки, его нужно где-то захостить самому). Который каким-то образом сможет узнать, что есть авторизация на example.org, получить токен, перезагрузить страницу с ним. И каким-то образом не зациклиться, если он окажется невалидным.

139

Все вопросы по новому способу авторизации в Wialon (oAuth)

(edited by ansarBTSd 13/02/2020 09:16:21)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Добрый день!

Некоторые запросы получают такой ответ, как на скрине (прикрепленное фото).

Пример запроса

curl -X GET "https://nimbus.wialon.com/api/depot/4418/routes" -H "accept: application/json" -H "Authorization: Token 1......"

при этом, последующий запрос может ( а может и нет) дать положительный ответ.
В общем случае наблюдается это как плавающая ошибка, которая не понятно по какой причине происходит и в какой момент?
Кстати, почему у вас этот объект

{
  "error": ...,
  "details": "..."
}

Отделен от всех ответов? Может удобно было бы в каждый респонс вставлять что-то вроде metadata?

  • Все вопросы по новому способу авторизации в Wialon (oAuth)
140

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Добрый день ansarBTSd
ошибка 1003 связана с ограничением количества запросов из наших аппов к хостингу, эту проблему планируем пофиксить ориентировочно на следующей неделе. Дополнительно сообщим, когда проблема будет решена.
Не совсем понятно, что вы имеете ввиду под

Отделен от всех ответов?

141

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

niel wrote:

Добрый день ansarBTSd
ошибка 1003 связана с ограничением количества запросов из наших аппов к хостингу, эту проблему планируем пофиксить ориентировочно на следующей неделе. Дополнительно сообщим, когда проблема будет решена.
Не совсем понятно, что вы имеете ввиду под

Отделен от всех ответов?

Будем ждать фикса smile

142

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Добрый день!
Есть вопрос по авторизации в виалоне через токен.
У нашей организации есть техника, которую мы должны показывать людям в режиме онлайн.
Мы настроили учётку, сделали токен, сделали короткую ссылку под него, всё работает.
Теперь возник вопрос - можно ли сделать чтобы при запуске определенного токена запускался нужный мне отчёт? Т.е. чтобы люди также запускали эту короткую ссылку и у них сразу же на экране в виалоне был отчет с улицами, которые посещала техника.
Заранее спасибо

143

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Добрый день!

К сожалению, такого автоматического метода нет.
Если пользователь зашел в Виалон , по клику на ссылку с токеном , то ему нужно самому все дальнейшие действия выполнять самому.
Другой вариант - вы можете сделать свое web-приложение, при нажатии на ссылку (кнопку) это приложение будет запускаться:
выполнять логин в систему от нужного пользователя, отправлять запрос на получение нужного отчета (шаблона отчета лучше заранее создать в Виалоне), и отображать результаты отчета в браузере, например, в таблице.

Diana Cheley
Wialon Hosting Expert
Gurtam
144

Все вопросы по новому способу авторизации в Wialon (oAuth)

(edited by EfrosiniaPetrovna 25/02/2021 14:52:29)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Добрый день!
Возможно ли продлить время жизни активированного токена?
Использую token/update, передавая сам токен и параметры, которые хочу изменить:
params={ "callMode":'update', "h":token,  "dur":18000, "p":{} }

В ответ получаю 4 - неверный ввод

145

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Приведите, пжл, пример кода JS расширенной формы авторизации. В вэбинаре описана только упрощенная. Спасибо.

146

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

Добрый день. Обратились недавно к вашим партнерам как получить токен, минуя форму авторизации

Нам прислали ответ, который подготовил Wialon:

Вы можете попробовать получить токен, выполнив запрос через утилиту curl (или любую другую подобную программу, либо компонент системы/языка программирования).

Например, вы можете отправить подобный запрос через curl:

curl -X POST -O -i -d "login=ИМЯПОЛЬЗОВАТЕЛЯ&passw=ПАРОЛЬ" [url]https://hst-api.wialon.com/oauth/authorize.html[/url]
начал настраивать параметры в postman получаю ответ: {"error": "invalid_request"}

Начал читать эту ветку - сказано, что такой способ не работает

Но ответ нам прислали 21 марта 2024 года

Что делать? Как получить токен минуя форму авторизации?

147

Все вопросы по новому способу авторизации в Wialon (oAuth)

Re: Все вопросы по новому способу авторизации в Wialon (oAuth)

chernavskikh уточните, пожалуйста, тему запроса или с какого почтовика отправляли. Возможно в ответе ошибка. Нельзя сгенерировать токен минуя форму. Можно использовать token/update, но все равно нужен sid, а для sid нужен токен, который только через форму.