Note: Make sure you have completed the React Native - Environment Setup instructions till "Creating a new application" step, before proceeding.
To install necessary dependencies, run
npm install
For iOS, you also need to run
cd ios
pod install
Issuing pod install
will generate a XCode workspace where you can run the example in an emulator.
To be able to run unreleased modules, you need to checkout the module repo and update the dependency to be file based. First, create the package:
git clone https://github.com/curityio/react-native-haapi-module.git
cd react-native-haapi-module
npm pack
This should create a .tgz
file.
Then we can update the depdencies.
npm uninstall @curity/react-native-haapi-module
npm install <path-to-file>.tgz --save
Alternatively, we can use the repo directly to be able to easily change the source code without having to pack the module for each change.
npm uninstall @curity/react-native-haapi-module
npm install <path-to-repo> --save
First, you will need to start Metro, the JavaScript bundler that ships with React Native.
To start Metro, run the following command from the root of your React Native project:
# using npm
npm start
# OR using Yarn
yarn start
Let Metro Bundler run in its own terminal. Open a new terminal from the root of your React Native project. Run the following command to start your Android or iOS app:
# using npm
npm run android
# OR using Yarn
yarn android
# using npm
npm run ios
# OR using Yarn
yarn ios
If everything is set up correctly, you should see your new app running in your Android Emulator or iOS Simulator shortly provided you have set up your emulator/simulator correctly.
This is one way to run your app — you can also run it directly from within Android Studio and Xcode respectively.
To configure clients needed for this example to run, there's config specs for android and ios that can be imported using the admin UI in Changes -> Run Config Spec
. Running a spec will prompt you for basic information needed to create the client. Some default values will be added, which for development purposes should not need to be changed. Redirect URI for the clients will configured as app:start
.
See Mobile Logins Using Passkeys article in the Curity resource library for setting up the authenticator and clients using the admin UI. For convenience, clients can be setup using android or ios config specs. Associated domains has to be added to the iOS workspace manually.
Android needs to have the fingerprint of the signing certificate configured when passkeys are enabled. To find your fingerprint, go to android/
folder in a terminal and issue:
./gradlew signingReport
Locate the SHA256 fingerprint in the report and configure it using the config spec.