Есть ли способ не хранить ключ и секрет woocommerce api в исходном коде приложения flutter для Android?

Я создаю приложение для Android Flutter для веб-сайта электронной коммерции, использующего woocommerce. Для выполнения грубых операций с API woocommerce он предоставляет consumer_key и consumer_secret. Прямо сейчас в моем приложении только те, что написаны в исходном коде. Однако я узнал, что злоумышленник может декомпилировать мое приложение, чтобы получить ключи.

Погуглив об этом, я нашел эти -

  1. Люди говорят, что аутентификация ограничивается серверами, но как это возможно в таком случае?
  2. Обфускация кода, при которой ключи остаются в приложении
  3. Пакет flutter_secure_storage не поможет, потому что мне все равно придется его сохранить, а это значит, что он все равно попадает в код.

Я ищу здесь какой-нибудь совет или решение этой проблемы. Это можно обойти?


person Rishav    schedule 25.08.2020    source источник
comment
Возможно, дубликат для stackoverflow.com / questions / 55663207 /   -  person Atamyrat Babayev    schedule 25.08.2020
comment
Я так не думаю. Я уже упоминал, что flutter_secure_storage не поможет, потому что я не получаю ключи в качестве ответа http. Это ключи API, которые необходимы для доступа к остальным API. Если я буду хранить их в безопасном коде, они все равно будут в исходном коде.   -  person Rishav    schedule 25.08.2020
comment
Прочтите комментарии из этого источника. Ваша проблема точно такая же.   -  person Rod    schedule 25.08.2020
comment
Извините, но я не понимаю, о чем вы говорите. Да, это та же проблема. В комментариях упоминается система входа в систему, с которой мы вернулись к исходной точке. И в другом ответе упоминается использование aws lambda или других серверов. Это оно?   -  person Rishav    schedule 25.08.2020
comment
хорошо, прочтите, пожалуйста, это: medium.com/@sokrato /   -  person Atamyrat Babayev    schedule 25.08.2020
comment
Самый безопасный способ сохранить свои ключи в секрете - НИКОГДА не помещать их в свое приложение. - из той статьи))   -  person Atamyrat Babayev    schedule 25.08.2020
comment
Я уже просмотрел эту статью. Я не ищу защиты своих ключей в публичном репо. Я хочу защитить их от кого-то, если он декомпилирует приложение. Если я никогда не добавлю их в свое приложение, они будут в безопасности, чего я и хочу добиться. Какой вариант есть для меня?   -  person Rishav    schedule 25.08.2020
comment
Что, если вы сохраните ключи где-нибудь в глубине своего кода, а затем примените обфускацию кода? Я не нашел ничего о том, как безопасно сохранить ключи. Ссылка на обфускацию: flutter.dev/docs/deployment/obfuscate   -  person Atamyrat Babayev    schedule 25.08.2020
comment
Кроме того, слишком сложно декомпилировать ваше приложение, если оно не находится в режиме отладки.   -  person Atamyrat Babayev    schedule 25.08.2020
comment
Да, обфускация - это один из вариантов, который я искал. Спасибо, в любом случае. Я рассмотрю часть о сложности декомпиляции.   -  person Rishav    schedule 25.08.2020
comment
Пожалуйста, опубликуйте свой ответ вместе с результатами поиска для следующих пользователей))   -  person Atamyrat Babayev    schedule 26.08.2020