Разъяснение по API RESTful-запрос - PullRequest
0 голосов
/ 31 декабря 2018

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

Я пытаюсь получить токен авторизации по следующему адресу:

Информация об учетной записи

GET Запросить токен авторизации https://environexus -us-oem-autha1.mios.com / autha / auth / username / {{user}}? SHA1Password = {{sha1-пароль}} & PK_Oem = 6 & TokenVersion = 2

API-интерфейс Nero является RESTful и не имеет состояния и поэтому требует токены аутентификации длясопровождать каждый запрос.После запроса этих токенов они могут быть сохранены в базе данных для быстрого повторного использования.

Это предварительный запрос к серверам API, который собирает токены и различные идентификаторы, необходимые для всех последующих вызовов.Токены действительны в течение 24 часов, но их следует всегда проверять по ответу в случае его изменения.

Запрос

  • {{user}} - логин портала

  • {{sha1-пароль}} - это хеш: sha1 (строчные буквы ({имя пользователя}). {Пароль} .oZ7QE6LcLJp6fiWzdqZc) (объединенные вместе - дополнительные символы вставлять не нужно, соль в концеstatic для всех учетных записей)

PK_Oem и TokenVersion являются статическими и указаны выше.

Однако я не уверен, что вставить в раздел "sha1-password".

Любая помощь будет оценена?

1 Ответ

0 голосов
/ 03 января 2019

Вам необходимо вычислить хеш SHA1 для приведенной выше информации, которая представляет собой имя пользователя, пароль и «статическую соль», объединенные вместе с каждым значением, разделенным точкой.

Не знаю, на каком языке вы говоритеиспользуя, но большинство языков имеют библиотеки, которые сделают это за вас (например, библиотека Apache Commons для Java)

Этот API не особенно хорошо разработан в этом отношении, так как хеширование на стороне клиента не дает никаких преимуществ (при передаче черезHTTPS) и «статическая соль», как они ее называют, совершенно бессмысленны, поскольку она публична.

...