Universal Passkeys for Developers
All devices. Any protocol. Zero shared secrets.
Goodbye, passwords! The Beyond Identity SDK for React Native is a wrapper around our native SDKs (Android and iOS), which allows you to embed the Passwordless experience into your product. A set of functions are provided to you through the Embedded namespace. This SDK supports OIDC and OAuth 2.0.
Using react-native init.
- Install the SDK:
yarn add @beyondidentity/bi-sdk-react-native
or
npm install @beyondidentity/bi-sdk-react-native
- Update Native Requirements in your ios/android folders:
Please make sure your iOS project supports "minimum deployment target" 13.0 or later.
In your ios/Podfile
set:
platform :ios, '13.0'
Go to your ios folder and run:
pod install
Make sure your android/build.gradle
supports minSdkVersion 26 or later
buildscript {
ext {
minSdkVersion = 26
}
}
Add the following maven url to your repositories in your android/build.gradle
allprojects {
repositories {
maven {
url "https://packages.beyondidentity.com/public/bi-sdk-android/maven/"
}
}
}
⚠️ This package requires custom native code and can be used with Development builds or prebuild and cannot be used with Expo Go.
- Install the SDK:
npx expo install @beyondidentity/bi-sdk-react-native
- Add the SDK config plugin to the plugins array of your app.{json,config.js,config.ts}:
{
"expo": {
"plugins": [
["@beyondidentity/bi-sdk-react-native"],
]
}
}
- Set native requirments with expo-build-properties. Add expo-build-properties to your app.{json,config.js,config.ts}:
npx expo install expo-build-properties
{
"expo": {
"plugins": [
["@beyondidentity/bi-sdk-react-native"],
[
"expo-build-properties",
{
"android": {
"minSdkVersion": 26
},
"ios": {
"deploymentTarget": "13.0"
}
}
]
]
}
}
- Next, rebuild your app as described in the "Adding custom native code" guide.
Check out the Developer Documentation and the SDK API Documentation for more information.
First, before calling the Embedded functions, make sure to initialize the SDK. This can be done where you register your root component.
import { Embedded } from '@beyondidentity/bi-sdk-react-native';
Embedded.initialize(
biometricAskPrompt: string,
allowedDomains?: string[]
): Promise<Success>;
You may also add a listener to log native events with Embedded.logEventEmitter
after initializing.
Embedded.logEventEmitter.addListener(
'BeyondIdentityLogger',
(message: string) => {
console.log(message);
}
);
Clone the following repo and use the available comands to see the SDK in action!
To set up (run this first):
yarn bootstrap
To run the example app on Android:
yarn example android
To run the example app on iOS:
yarn example ios
To start the packager:
yarn example start