Совместное использование токена между приложениями на Android/IOSAndroid

Форум для тех, кто программирует под Android
Anonymous
Совместное использование токена между приложениями на Android/IOS

Сообщение Anonymous »

Мне нужно разделить токены между двумя приложениями от одного и того же автора. В приложении 1 пользователь входит в систему и получаетrefresh_token и access_token. Приложение 1 — это устаревшее приложение, написанное на Cordova, а приложение 2 написанное на React Native.
Что мне нужно, так это: когда пользователь входит в приложение 1, приложение сохраняет токены в общей папке (например). Когда тот же пользователь открывает приложение 2, оно проверяет, существуют ли эти токены. Если они это сделают, приложение 2 будет использовать обновить_токен для получения нового access_token, если текущий недействителен.
что я уже пробовал:
  • Внешние библиотеки: я оценивал существующие библиотеки, такие как Reaction-native-shared-group-preferences, но они полагаются на Внешнее хранилище (общедоступные папки) Андроид. Это угроза безопасности для токенов аутентификации, которая устарела в современных версиях Android (SDK 30+).
  • Стандарты шифрования. Первоначально я столкнулся с проблемами расшифровки токенов, поскольку Cordova и React Native используют разные преобразования шифрования по умолчанию. Мне пришлось вручную переопределить реализацию React Native, чтобы использовать RSA/ECB/PKCS1Padding, чтобы устаревший Java-код Cordova мог успешно расшифровать данные.
  • Обслуживание плагинов: Я обнаружил, что большинство плагинов Cordova KeyStore не обновлялись более 6 лет. Мне пришлось вручную исправить код Java для поддержки контекстаsharedUserId, а это значит, что нам нужно будет поддерживать локальную вилку плагина в течение этого периода миграции.
  • Native Bridge: я пришел к выводу, что собственный Native Module в React Native — единственный надежный способ использовать createPackageContext для безопасного доступа к Cordova SharedPreferences без раскрытия данных остальной части ОС."
В данный момент я могу читать токены в Cordova из React Native, но не могу читать токены в React Native из Cordova.

Вернуться в «Android»