[android][local-authentication] Add the ability to set confirmation requirement (#16793)Bonjour ! Good day to everyone ### # Why In the current setup iOS and Android behave differently
[android][local-authentication] Add the ability to set confirmation requirement (#16793)Bonjour ! Good day to everyone ### # Why In the current setup iOS and Android behave differently when using FaceId / IrisScan. Namely by default iOS will transparently validate a face and get back to the app. Android will by default require a confirmation by button press to the user. The propose change does not explicitly mean to align the behavior at the level of Expo, but rather offer developers the choice while respecting the Android API default. # How By adding a new optional variable to the API which calls the relevant [`setConfirmationRequired`](https://developer.android.com/reference/kotlin/androidx/biometric/BiometricPrompt.PromptInfo.Builder#setConfirmationRequired\(kotlin.Boolean\)) function of `PromptInfo.Builder` # Test Plan In an Expo application call the function: ```typescript await LocalAuthentication.authenticateAsync({ requiredConfirmation: false }); ``` Verify the prompt does not require button press upon face scan. _Note that this just passes a hint to the system, which the system may then ignore. For example, a value of false may be ignored if the user has disabled implicit authentication in Settings, or if it does not apply to a particular modality (e.g. fingerprint).
show more ...
[expo-local-authentication] Add support for `promptMessage`, `cancelLabel` and `disableDeviceFallback` on Android (#8219)* [ANDROID] Add local authentication options * Unify tests * Remove em
[expo-local-authentication] Add support for `promptMessage`, `cancelLabel` and `disableDeviceFallback` on Android (#8219)* [ANDROID] Add local authentication options * Unify tests * Remove empty space * Use Map * Change variables scope * Fix lint * Build * Unnecessary empty space removal * Add changelog * Update packages/expo-local-authentication/CHANGELOG.md Co-authored-by: Łukasz Kosmaty <[email protected]> Co-authored-by: Łukasz Kosmaty <[email protected]>
[local-authentication] Add more options to the iOS authenticateAsync options (#6891)# Why This resolves an open issue [#4799](https://github.com/expo/expo/issues/4799). I also added the option
[local-authentication] Add more options to the iOS authenticateAsync options (#6891)# Why This resolves an open issue [#4799](https://github.com/expo/expo/issues/4799). I also added the option to customize the cancel label. # How I reviewed the [Apple documentation](https://developer.apple.com/documentation/localauthentication/logging_a_user_into_your_app_with_face_id_or_touch_id?language=objc) and added the appropriate options to select the correct policy to evaluate against. # Test Plan I will test this on a number of devices by copying over the source into my node_modules, building the app, and testing on multiple devices.
[local-auth] Use a mock async function for iOS tests as wellThe Android tests use `mockImplementation(async () => ({ success: true }));` and this does the same for iOS now.
[local-auth] Use more realistic mock return value in tests, update tests to use non-deprecated promptMessage API
[jest] Update all packages to use jest-expo/universal instead of mocks (#5645)* Update index.js * Update jest-preset.js * Updated amplitude * updated segment tests * Updated brightness
[jest] Update all packages to use jest-expo/universal instead of mocks (#5645)* Update index.js * Update jest-preset.js * Updated amplitude * updated segment tests * Updated brightness universal tests * Updated Local Authentication tests * Updated Location tests * Updated SecureStore tests * Updated Contacts tests * Updated expo tests * Updated Facebook tests * Updated Web Browser tests * Updated sensors tests * Clean up unused mock methods * Fixed `it` quote format * Updated expo tests * Update CHANGELOG.md * feedback * Apply suggestions from code review Co-Authored-By: James Ide <[email protected]> * Update yarn.lock * fixed build files
[docs][ios][local-authentication][ncl] move promptMessageIOS into option object (#4631)# Why Followup #4612 # How Moved `promptMessageIOS` argument of `LocalAuthentication.authenticateAsy
[docs][ios][local-authentication][ncl] move promptMessageIOS into option object (#4631)# Why Followup #4612 # How Moved `promptMessageIOS` argument of `LocalAuthentication.authenticateAsync` into the new `options` object, under `promptMessage` key. This is a breaking change, but I hope this API will be better since this argument was required only on iOS (so it shouldn't be before options argument that is going to be used on both platform in the future). # Test Plan Tested on NCL example.
[expo-local-authentication] add fallbackLabel option for iOS (#4612)# Why Fixes #4589 # How Added `fallbackLabel` option to `LocalAuthentication.authenticateAsync` on iOS which allows to c
[expo-local-authentication] add fallbackLabel option for iOS (#4612)# Why Fixes #4589 # How Added `fallbackLabel` option to `LocalAuthentication.authenticateAsync` on iOS which allows to customize a title of the fallback button when the system doesn't recognize the user and asks to authenticate via device passcode.
[TypeScript] Migrated expo-local-authentication (#3414)* Added TypeScript * Updated Web * Added UnavailabilityError * Added unit tests * Added tests to CI * Changed to named imports * Up
[TypeScript] Migrated expo-local-authentication (#3414)* Added TypeScript * Updated Web * Added UnavailabilityError * Added unit tests * Added tests to CI * Changed to named imports * Update LocalAuthentication-test.ts * Updated Error