Я новичок в разработке приложений и в настоящее время занимаюсь разработкой приложения для ios, используя swift в xcode. В процессе разработки приложения мне стало известно, что я не должен хранить конфиденциальную информацию, такую как секреты API, в качестве локальных переменных. Я предполагаю, что это потому, что есть методы просмотра кода приложения.
Приложение, которое я разрабатываю, не имеет учетных записей или входа пользователя, и я не хочу этого. Для простоты я объясню это так:
Пользователь может создать «комнату» с определенным идентификатором комнаты, указанным этим пользователем. Устройство пользователя имеет связанный идентификатор, который сохраняется в базе данных, чтобы показать, что созданная комната принадлежит этому пользователю.
Другой пользователь, указанный в качестве гостя, может присоединиться к указанной комнате с указанным идентификатором комнаты. Когда они пытаются присоединиться к комнате, их идентификатор устройства сравнивается с базой данных, и указывается локальное логическое значение, указывающее, является ли этот пользователь хостом.
Независимо от того, является ли пользователь хостом, начинается переход к другому контроллеру представления, и также отправляется логическое значение. С этого момента существуют функции и операторы, которые вызываются только в том случае, если логическое значение указывает, что пользователь является хостом, и разрешает хостам только определенные разрешения.
Меня беспокоит то, что есть какой-то способ использовать это так, чтобы гости могли каким-то образом изменить или установить этот локальный логический параметр, чтобы показать, что они являются хостом, а они нет. Должен ли я беспокоиться об этом как о потенциальной проблеме безопасности? Никакая личная информация о хостах или гостях не сохраняется и не используется в этом приложении за пределами специфичных для устройства идентификаторов, которые сохраняются или проверяются в базе данных, но я все же хотел бы, чтобы безопасность позволяла хостам разрешать определенные комнаты.