1.1.0 • Published 2 years ago

react-native-windows-hello v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Installation & Usage

To install this module cd to your project directory and enter the following command:

yarn add -D react-native-windows-hello

or

npm install react-native-windows-hello --save

After having it installed you can import all the Windows Hello features like so:

import { SignIn, verificationResult, availabilityStatus } from 'react-native-windows-hello';

The API contains two methods: requestConsentVerification and getDeviceStatus each returning a promise with result object containing both value and message with pre-defined text (in english) describing the returned result. So the example of usage would be:

SignIn.requestConsentVerification("This customized message will be displayed in biometric prompt")
  .then(result => {
    Alert.alert(
      `${result === verificationResult.Verified ? "SUCCESS" : "ERROR"}`,
      result.message
    );
  })
  .catch(error => {
    Alert.alert("ERROR:", `${error}`);
  });

Check out the example project for more examples.


API

The following library provides you with the native modules exposing the following methods:

Method & DescriptionArgumentsReturns
SignIn.getDeviceStatus
Gets the status of biometric device on a user's machine and returns a promise with the result.The returned promise is resolved with a status, and is rejected in case of any internal issues/errors.-PromisewithavailabilityStatus
SignIn.requestConsentVerification
Displays the biometric scan prompt as a popup and returns a promise after user's actions.The returned promise is resolved no matter if the verification was successful or not, and is rejected in case of any internal failure/error or when incorrect promptMessage has been passed as an argument.promptMessage : StringAdditional text which will be placed in the login prompt popup.PromisewithverificationResult

Status result object

Each method returns one of the enumerated objects representing the result of called action (getDeviceStatus, requestConsentVerification). Each of these objects contain two properties:

  • value - contains numerical value matching the official values. This can be used by developers for internal implementation keeping the last result for simplicity.
  • message - official text (in english) saying exactly what the result is. This can be used to directly display the status without conversions.

There are two groups of result objects:

availabilityStatus

Resultvaluemessage
Available0"A biometric verifier device is available."
DeviceNotPresent1"There is no biometric verifier device available."
NotConfiguredForUser2"A biometric verifier device is not configured for this user."
DisabledByPolicy3"Group policy has disabled the biometric verifier device."
DeviceBusy4"The biometric verifier device is performing an operation and is unavailable."

and

verificationResult

Resultvaluemessage
Verified0"User consent verified"
DeviceNotPresent1"There is no biometric verifier device available."
NotConfiguredForUser2"A biometric verifier device is not configured for this user."
DisabledByPolicy3"Group policy has disabled the biometric verifier device."
DeviceBusy4"The biometric verifier device is performing an operation and is unavailable."
RetriesExhausted5"After 10 attempts, the original verification request and all subsequent attempts at the same verification were not verified."
Canceled6"The verification operation was canceled."

Contributing

If you would like to contribute to the react-native-windows-hello project, you are more than welcome! You can do this by:

  • Create an Issue and let the author handle it Each issue created in the Issues section gives a chance of improving the project and make it even more useful.
  • Create the Pull Request with the desired changes When creating the pull request please remember to describe changes you made and how to test them. A short demo of any kind is very appreciated.

Setting up the project

To start developing you need to fork this project, and clone your fork. After that you can:

  • yarn install
  • Implement changes (mostly in windows/ReactNativeWindowsHello/Source directory)
  • After implementation you can check the build by running: msbuild -p:Configuration=Debug -p:Platform=x64 .\windows\ReactNativeWindowsHello.sln Or launch the build through the Visual Studio.

Made with ❤️ at Callstack

react-native-windows-hello is an open source project and will always remain free to use. If you think it's cool, please star it 🌟. Callstack is a group of React and React Native geeks, contact us at hello@callstack.com if you need any help with these or just want to say hi!

Like the project? ⚛️ Join the team who does amazing stuff for clients and drives React Native Open Source! 🔥

1.1.0

2 years ago

1.0.0

2 years ago

0.9.1

3 years ago

0.9.0

3 years ago

0.8.1

3 years ago

0.8.0

3 years ago