@beyondidentity/bi-sdk-react-native


Beyond Identity

Universal Passkeys for Developers

All devices. Any protocol. Zero shared secrets.

Beyond Identity React Native SDK

License

Embedded SDK

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.

Installation

Using react-native init.

  1. Install the SDK:
yarn add @beyondidentity/bi-sdk-react-native

or

npm install @beyondidentity/bi-sdk-react-native
  1. 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/"
}
}
}

Using expo

:warning: This package requires custom native code and can be used with Development builds or prebuild and cannot be used with Expo Go.

  1. Install the SDK:
npx expo install @beyondidentity/bi-sdk-react-native
  1. Add the SDK config plugin to the plugins array of your app.{json,config.js,config.ts}:
{
"expo": {
"plugins": [
["@beyondidentity/bi-sdk-react-native"],
]
}
}
  1. 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"
}
}
]
]
}
}
  1. 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.

Embedded.logEventEmitter.addListener(
'BeyondIdentityLogger',
(message: string) => {
console.log(message);
}
);

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

Generated using TypeDoc