1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/daimali-Daimali.ISV

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 5.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 01:05 fa2a524

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

Функции

  • Sign — подпись;
  • Приложение авторизуется;
  • Пользователь авторизуется.

Ошибки параметров

Глобальное описание возвращаемых параметров:

  1. Success — операция прошла успешно; 100000 — NULL — ошибка значения NULL; 100001 — SIGN_ERROR — сбой проверки подписи; 100002 — APP_AUTH_ERROR — приложение не авторизовано; 100003 — USER_AUTH_ERROR — пользователь не авторизован; 100004 — SYSTEM_ERROR — системная ошибка; 100006 — Failed — серверная операция не удалась.

Описание параметров

1. Системные параметры [method] — название интерфейса приложения, который должен быть вызван продавцом; timestamp — метка времени в едином формате yyyyMMddHHmmss; app_key — app_key, назначенный продавцу; version — номер версии соответствующего интерфейса; sign — подпись, полученная путём шифрования md5/rsa всех параметров API (кроме sign).

Примечание:

  1. системные параметры обязательны в каждом запросе;
  2. параметры приложения зависят от конкретного вызываемого интерфейса;
  3. app_secret используется только для шифрования, пожалуйста, не используйте его в параметрах запроса.

Sign — подпись При вызове API необходимо проверить подпись запроса, процесс проверки следующий:

  1. Расположите все параметры запроса в порядке букв, чтобы получить строку: keyvaluekeyvalue...keyvalue. Например: arong=1, mrong=2, crong=3, после сортировки получаем: arong=1, crong=3, mrong=2. Затем объедините имена и значения параметров, чтобы сформировать строку параметров: arong1crong3mrong2.
  2. Добавьте app_secret в начало строки параметров и зашифруйте с помощью MD5, зашифрованный результат должен быть в верхнем регистре. Это и есть подпись Sign.

Авторизация пользователя

  1. После успешной авторизации с учётной записью и паролем система возвращает токен авторизации, срок действия которого составляет 30 дней, и новый токен генерируется при каждой повторной авторизации.
  2. Токен добавляется к параметрам запроса и участвует в проверке подписи Sign. Примечание: общедоступные модули, которые не требуют аутентификации пользователя, не должны передавать токены для аутентификации. Обычно проверка подписи Sign является обязательной.

Пример запроса Получение списка продуктов: Название метода: GetProducts, требуется разрешение на проверку подписи, параметры: pageindex, pagesize, метод запроса: get. Пример:

  1. Создайте подпись в соответствии с правилами. После сортировки параметров добавьте app_secret в начале строки параметров, чтобы получить строку параметров: 212821ec2035d78f524a86da13a9dceeapp_key076ba2bcb4a0cb38ce721cc00d27426bpageindex1pagesize10timestamp20150507162828.

Как показано выше, это строка из четырёх необходимых параметров. Теперь выполните шифрование MD5. Получаем подпись Sign = bcc7c71cf93f9cdbdb88671b701d8a35. Обратите внимание, что она должна быть написана заглавными буквами. Это правильная подпись: Sign = BCC7C71CF93F9CDBDB88671B701D8A35. (Вы можете использовать онлайн-инструменты для проверки правильности вашей подписи.)

  1. Ссылка для запроса:
http://api.daimali.com/pro/getproducts?app_key=076ba2bcb4a0cb38ce721cc00d27426b&pageindex=1&pagesize=10&sign=BCC7C71CF93F9CDBDB88671B701D8A35
&timestamp=20150507162828

Известные ошибки

  1. Атака повторного воспроизведения URL.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/daimali-Daimali.ISV.git
git@api.gitlife.ru:oschina-mirror/daimali-Daimali.ISV.git
oschina-mirror
daimali-Daimali.ISV
daimali-Daimali.ISV
master