{"hashFunction":"HmacSHA256", // Способ получения hash-кода от интервала и секрета"passwordLength":3, // Число символов одноразового пароля"retailerKey":"AAAA", // Секретный ключ эмитента (hex string-представление) для формирования пароля"barcodeType":"CODE_39", // Тип штрих-кода для отображения barcodeTemplate. Поддерживаемые типы штрих-кодов: CODE_39, CODE_128, PDF_417, DataMatrix"barcodeTemplate":"CM{number}", // Шаблон для штрих-кода — комбинация произвольных символов и переменных, где {number} — номер карты"timeIntervalSec":30 // Интервал, в пределах которого одноразовый пароль считается действительным}
Для механизма TOTP критична синхронизация времени между клиентской и серверной стороной. Клиентское приложение должно получать временную метку от сервера и использовать ее в дальнейшем для генерации одноразовых паролей.
Реализуется партнером как GET-запрос к компоненту Time Service. В ответе необходимо передавать временную метку в миллисекундах, относительно которой приложение будет формировать новые одноразовые пароли.
Пример ответа
1518008632532 // разница в миллисекундах между текущим временем и точкой 'midnight, January 1, 1970 UTC'.
Мобильное приложение должно периодически запрашивать текущий номер ревизии конфигурации сервиса. Смена номера ревизии означает изменение конфигурации сервиса TOTP (например, произошла смена секретного ключа партнера) — в таком случае, вслед за получением нового номера ревизии приложению необходимо запросить обновление конфигурации.
Реализуется партнером как GET-запрос к компоненту Configuration Revision. В ответе передается порядковый номер ревизии.
Пример ответа
2 // номер ревизии конфигурации сервиса