Rocket.Chat.ReactNative/ios/NotificationService
Djorkaeff Alexandre e2f17a5a23
[NEW] Encrypt user credentials and preferences (#2247)
* install react-native-mmkv-storage

* wip ios migration

* change all js rn-user-defaults -> react-native-mmkv-storage

* remove all rn-user-defaults native references (iOS)

* android migration from rn-user-defaults to react-native-mmkv-storage

* ios app group accessible mmkv

* handle get errors

* remove access of credentials from legacy native apps

* remove data of user defaults

* remove no longer necessary import

* js mmkv encryption

* run migration only once

* reply from notification android

* fix app group key access at native level ios

* encrypt user credentials using a specific key

* ios encrypt with random key

* use a random key at the first encryption

* encrypt migrated data on js land

* remove unused function

* reply notifications ios should be working

* use fix instanceID

* android ejson retrieve encrypted data

* remove encryption migrated data for a while

* encryption working between app and share extension

* fix patch react-native-notifications

* ssl pinning working using mmkv encrypted data

* improve react-native-notifications

* run encrypt migration data only once

* fix build

* fix patches magic string

* fix mmkv id

* mmkv -> userPreferences

* fix instance id on android migration

* cast our oldest sharedPreferences string into an object

* revert log remove

* create currentServer Rocket.Chat key

* wrap mmkv api class

* change the get logic

* move userPreferences to lib

* move encrypt migrated data to userPreferences class

* check if the new object is new before insert

* invalidate ci yarn cache

* fix sort migration from android shared preferences

* fix splashscreen forever

* invalidate yarn cache

* invalidate yarn cache

* fix patch

* Minor change

* fix android notifications looking for wrong mmkv instance

* Fix some issues on iOS mmkv native access

* Remove unnecessary code

* Fix notification reply and ssl pinning

* WIP NotificationService use MMKV credentials

* Add KeychainGroup

* Notification idOnly get credentials from mmkv

* Some fixes

* Invalidate yarn cache

* Pods

* Use MMKVAppExtension on NotificationService

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-08-19 14:14:22 -03:00
..
Info.plist [NEW] Encrypt user credentials and preferences (#2247) 2020-08-19 14:14:22 -03:00
NotificationService-Bridging-Header.h [NEW] Encrypt user credentials and preferences (#2247) 2020-08-19 14:14:22 -03:00
NotificationService.entitlements [NEW] Encrypt user credentials and preferences (#2247) 2020-08-19 14:14:22 -03:00
NotificationService.swift [NEW] Encrypt user credentials and preferences (#2247) 2020-08-19 14:14:22 -03:00
SecureStorage.h [NEW] Encrypt user credentials and preferences (#2247) 2020-08-19 14:14:22 -03:00
SecureStorage.m [NEW] Encrypt user credentials and preferences (#2247) 2020-08-19 14:14:22 -03:00
String+Hex.swift [NEW] Encrypt user credentials and preferences (#2247) 2020-08-19 14:14:22 -03:00