| #
8e6653a3 |
| 28-Aug-2023 |
Wojciech Dróżdż <[email protected]> |
[secure-store][android] Secure store audit (#23804)
# Why
ENG-6327
Secure-store was using the old modules API. We wanted to add synchronous
functions to the API, so it's possible to use SecureSto
[secure-store][android] Secure store audit (#23804)
# Why
ENG-6327
Secure-store was using the old modules API. We wanted to add synchronous
functions to the API, so it's possible to use SecureStore in the global
JS scope. During the migration I've also found some bugs/unexpected
behaviours which were corrected
# How
- Migrated `secure-store` to Kotlin and the new modules API
- Changed callback-based authentication prompt to Kotlin coroutines
- Added `getItemSync` and `setItemSync` functions
- Both functions call the same functions as Async versions, but on the
main thread
- It is now possible to save values which require authentication and
ones that don't under one keychain on the JS side. This is archived by
creating two separate keys on the native side.
- Before it wasn't possible to save a no-authentication value under a
keychain, which was initialised with a require-auth value (an exception
was thrown). It was possible to save a value which requires
authentication into a keychain which was already initialised as no-auth,
but it wasn't really encrypted with the necessity of auth and could've
been decrypted without authentication (although `secure-store` always
asked for biometrics correctly)
- It is now possible to save values under different keychains but the
same key. `Secure-store` can now differentiate between them. Before
saving `value1` under `key1` and `keychain1` and `value2` under `key1`
and `keychain2` would overwrite the `value1` under `key1` with a new
value. Now they are separate. This archived by saving the items in
shared preferences under a key which includes the keychain eq.
`keychain1-key1` and `keychain2-key1`. This emulates the `ios`
`secure-store` behavior
- Backwards compatibility with the current naming scheme of keystore
aliases has been kept
- Improved invalidated key exception handling. When removing a key from
the key store all values under that key will be removed from shared
preferences in order to avoid exceptions caused by decryption fails.
This doesn't apply to values stored with previous versions of
`expo-secure-store` as it is not possible to determine if value was
stored with a keychain without making an decryption attempt.
- Updated the docs
- Removed SDK20 read support
# Test Plan
Tested in Bare Expo and Expo Go on a physical android 13 and 7 devices
(forced api < 23 functions on android 7 only for testing since we don't
have such an old device)
---------
Co-authored-by: Expo Bot <[email protected]>
show more ...
|
| #
249b2999 |
| 14-Oct-2022 |
Tomasz Sapeta <[email protected]> |
[ios] Fix errors thrown from SecureStore and other legacy modules (#19555)
|
| #
98ca7d9f |
| 07-Oct-2021 |
Jakub Piasecki <[email protected]> |
[secure-store] Add option enabling user authentication while accessing SecureStore (#14512)
|
| #
b1a56215 |
| 11-Aug-2020 |
Evan Bacon <[email protected]> |
[secure-store] Created isAvailableAsync method (#9669)
* Create isAvailableAsync method
* Added changelog
* Remove unused secure store shim on web
|
| #
e331da1d |
| 18-Jun-2020 |
Evan Bacon <[email protected]> |
[chore] Fix lint and typescript errors in NCL (#8861)
* Fix lint errors
* Revice web unimplemented views
* Delete useDimensions.ts
* Remove unused screen object properties
* Convert to f
[chore] Fix lint and typescript errors in NCL (#8861)
* Fix lint errors
* Revice web unimplemented views
* Delete useDimensions.ts
* Remove unused screen object properties
* Convert to functional components
* Fix TypeScript errors
* Fix subscription bug
show more ...
|
| #
a47a1472 |
| 14-May-2019 |
Ville Immonen <[email protected]> |
[ncl][test-suite] Change imports to SDK 33 syntax with the codemod (#4219)
* [ncl][test-suite] Change imports to SDK 33 syntax with the codemod
* [ncl][test-suite] Add new imported packages to de
[ncl][test-suite] Change imports to SDK 33 syntax with the codemod (#4219)
* [ncl][test-suite] Change imports to SDK 33 syntax with the codemod
* [ncl][test-suite] Add new imported packages to dependencies
show more ...
|
| #
69185572 |
| 23-Apr-2019 |
Bartłomiej Bukowski <[email protected]> |
@bbarthec/migrate native component list to typescript (#3975)
* [ncl] Migrate to TypeScript
* [ncl] fix runtime on mobile devices
* [ncl] Apply review suggestions
|