Повторное включение проверки подлинности приложения в Mobilefirst 8.0 не работает

Во время тестирования проверки подлинности приложения в MobileFirst 8.0 я обнаружил странное поведение при переключении между включением и отключением параметра проверки подлинности приложения в консоли с использованием пакета отладки и пакета выпуска приложения (Android):

  • Выполните инструкции по подписанию приложения (выпускного пакета) с помощью инструмента mfp-app-authenticity-tool.jar, зарегистрировали файл .authenticity_data через консоль и настроили конфигурацию проверки безопасности приложения для использования параметра appAuthenticity со значением срока действия.

  • (Для первоначального подключения) После установки версии выпуска приложения на устройстве приложение успешно подключается к серверу MFF и вызывает адаптер.

  • (После удаления версии выпуска приложения с того же устройства) На устройстве установлена ​​отладочная версия приложения, и приложению не удается подключиться к серверу MFF, как и ожидалось.

  • Отключенная проверка подлинности приложения путем удаления файла проверки подлинности на консоли, отладочная версия приложения на устройстве успешно подключается к серверу MFF и вызывает адаптер.

  • «Повторно активировать» аутентификацию приложения с теми же инструкциями, что и в первом шаге, но отладочная версия приложения по-прежнему может подключаться к серверу MFF и вызывать адаптер. Я понимаю, что есть параметр «Максимальный период истечения срока действия токена» и «Срок действия», но я установил оба значения на 60 секунд только для тестирования. (Переустановка отладочной версии приложения и тестирование действия без изменений на сервере дает ожидаемое поведение, то есть невозможность подключения.)

Мне интересно, является ли это нормальным поведением при включении/отключении параметра проверки подлинности приложения в режиме реального времени на консоли... и предназначена ли эта функция только для одного набора действий: включить -> отключить.

Любая мысль?

Спасибо!


person Rick Choi    schedule 24.10.2016    source источник
comment
Где в вопросе часть, где это не работает?   -  person Idan Adar    schedule 24.10.2016
comment
В пуле № 5 (последняя) переключение с Disable на Enable не работает, т. е. отладочная версия все еще может подключаться к серверу.   -  person Rick Choi    schedule 24.10.2016
comment
Почему он не может подключиться?   -  person Idan Adar    schedule 24.10.2016
comment
Вы имеете в виду, что вы зарегистрировали отладочный apk, но подписали и загрузили файл подлинности релизного apk? Вы уверены, что между ними есть разница? вы уверены, что они не генерируются с одним и тем же ключом в инструментах ADT? Похоже, это одно и то же приложение   -  person Idan Adar    schedule 24.10.2016
comment
Я считаю, что при регистрации приложения на сервере требуются имя приложения, платформа (Android), идентификатор пакета и информация о версии, т. е. не подписано и не отлажено. Релизную версию apk следует рассматривать как приложение, полностью отличающееся от отладочной версии apk, поскольку (просто и в основном) размер этих приложений отличается. Нет? Как упоминалось в моих вопросах, действиях и (ожидаемые) результаты должны быть хорошими, от пули № 1 до 4, но проблема — то есть отладочный apk может подключиться к серверу, что не должно происходить, как пуля № 3 — при повторном включении проверки подлинности.   -  person Rick Choi    schedule 24.10.2016
comment
Я зарегистрировал приложение с информацией о приложении, упомянутой выше, загрузил файл проверки подлинности, созданный с помощью версии выпуска приложения, доступ к серверу с версией выпуска приложения в порядке, доступ к серверу с приложением отладки не может подключиться, отключение проверки подлинности в консоли, отладочный apk подключиться к серверу, повторно включив аутентификацию с тем же файлом аутентификации, который использовался ранее, отладочный apk по-прежнему может подключаться к серверу (даже после истечения срока действия токена).   -  person Rick Choi    schedule 24.10.2016


Ответы (1)


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

Чтобы запускать проверку подлинности приложения при каждом запросе токена, добавьте appAuthenticity в раздел Обязательная область действия вашего приложения в консоли. Затем установите expirationSec, например, на 60 секунд.

Руководство было изменено, чтобы прояснить это: https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/8.0/authentication-and-security/application-authenticity/#configuring-application-authenticity

person Nathan H    schedule 25.10.2016
comment
Только что протестировал комбинированную настройку Обязательная область применения и Конфигурации проверки безопасности, как вы предложили, и да, похоже, это работает! Большое спасибо, @Nathan! Я установил срок действия 5 секунд, просто для тестирования, и не будет ли это слишком большой нагрузкой для сервера MFF..? и я считаю, что возможность настройки сообщения об ошибке должна быть очень востребованной функцией, как предлагается здесь: stackoverflow.com/questions/38650913/ - person Rick Choi; 25.10.2016
comment
Я не думаю, что производительность хита, что большой. Но, может быть, 5 секунд - это перебор. Имейте в виду, что срок действия токена OAuth установлен на самый короткий срок действия, который у вас есть среди всех ваших проверок безопасности. Таким образом, если один из них составляет 5 секунд, это означает, что срок действия всего токена OAuth истекает каждые 5 секунд. - person Nathan H; 26.10.2016
comment
Я буду иметь в виду тот факт, что другие параметры, связанные с безопасностью на основе токена OAuth, специфичные для значения срока действия, предшествуют общей настройке значения срока действия токена. Спасибо @Натан. - person Rick Choi; 27.10.2016