Приложение, которое обеспечивает чувствительную функцию, такую как электронное голосование, установлено на устройстве iOS / Android и устанавливает профиль.В случае, если пользователь теряет устройство, как мы можем идентифицировать это устройство, чтобы предотвратить использование приложения в текущем состоянии.
По сути, ассоциируйте идентификатор сервера с идентификатором устройства (хотите, чтобы пользователь мог отозвать разрешение украденному / потерянному устройству на доступ к услуге).
Банки предоставляют эту услугу для отзыва разрешений устройства на доступ к банковскому счету до тех пор, пока пользователь не войдет снова (или нет).
Изучаемые параметры:
Включите сертификат в приложение, поэтому после регистрации / входа пользователя загрузите другой сертификат, уникальный для пользователя, и сохраните его в Keystore или Keychain.Сертификат предназначен для всех последующих запросов.Пользователь отзывает разрешение на устройство, мы просто аннулируем сертификат.
Комбинация токенов доступа и токена устройства Firebase идентифицирует каждое устройство.Отправляется с каждым запросом.Пользователь отзывает устройство, делает недействительной комбинацию и ее повторное использование.
Android: IMEI, но возникает вопрос, доступен ли он на всех устройствах или нет.Проблема с рутированными телефонами, можно ли им манипулировать.На iOS с помощью устройства проверьте apis, чтобы узнать, проверьте состояние устройства.
Возможные проблемы:
Кажется, что это самый безопасный, но также включает в себя значительную работу.
Кажется работоспособным, но не уверен, как Firebase меняет свою политику токенов устройства.
Кажется работоспособным, но не уверен, будет ли это работать определеннокаждый вариант использования.
Подходит ли какой-либо из этих вариантов и какой из них лучше и наименее интенсивно использовать и обслуживать?Пожалуйста, предложите другие подходы и возможные дальнейшие недостатки в каждом из предложенных подходов.