History log of /expo/apps/native-component-list/src/screens/SecureStoreScreen.tsx (Results 1 – 7 of 7)
Revision Date Author Comments
# 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