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.
The following library provides you with the native modules exposing the following methods:
Method & Description | Arguments | Returns |
---|---|---|
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. | - |
Promise withavailabilityStatus
|
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 : String Additional text which will be placed in the login prompt popup.
|
Promise withverificationResult
|
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
Result | value |
message |
---|---|---|
Available | 0 | "A biometric verifier device is available." |
DeviceNotPresent | 1 | "There is no biometric verifier device available." |
NotConfiguredForUser | 2 | "A biometric verifier device is not configured for this user." |
DisabledByPolicy | 3 | "Group policy has disabled the biometric verifier device." |
DeviceBusy | 4 | "The biometric verifier device is performing an operation and is unavailable." |
and
verificationResult
Result | value |
message |
---|---|---|
Verified | 0 | "User consent verified" |
DeviceNotPresent | 1 | "There is no biometric verifier device available." |
NotConfiguredForUser | 2 | "A biometric verifier device is not configured for this user." |
DisabledByPolicy | 3 | "Group policy has disabled the biometric verifier device." |
DeviceBusy | 4 | "The biometric verifier device is performing an operation and is unavailable." |
RetriesExhausted | 5 | "After 10 attempts, the original verification request and all subsequent attempts at the same verification were not verified." |
Canceled | 6 | "The verification operation was canceled." |
If you would like to contribute to the react-native-windows-hello project, you are more than welcome! You can do this by:
To start developing you need to fork this project, and clone your fork. After that you can:
yarn install
msbuild -p:Configuration=Debug -p:Platform=x64 .\windows\ReactNativeWindowsHello.sln