Beyond Identity
Universal Passkeys for Developers
All devices. Any protocol. Zero shared secrets.
Beyond Identity React Native SDK
Embedded SDK
Goodbye, passwords! The Beyond Identity SDK for React Native is a wrapper around our Native Embedded SDKs (Android and iOS), which allows you to embed the Passwordless experience into your product. Users will not need to download the Beyond Identity Authenticator. This SDK supports OIDC and OAuth2.
Installation
bare expo or react-native init app.
Using a- 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/"
}
}
}
expo
Using
⚠️ This package cannot be used in "Expo Go" because it requires custom native code. However you can leverage this library with a development build or prebuild.
- Install the SDK:
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 either with expo-build-properties or modify project static files
A. Modify the following static files
android/gradle.properties
android.minSdkVersion=26
ios/Podfile.properties.json
"ios.deploymentTarget": "13.0"
or
B. Add expo-build-properties to your app.{json,config.js,config.ts}:
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.
Usage
Check out the Developer Documentation and the SDK API Documentation for more information.
Setup
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.
Example App
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