@cybavo/react-native-auth-service

React version of CYBAVO AUTH SDK

Usage no npm install needed!

<script type="module">
  import cybavoReactNativeAuthService from 'https://cdn.skypack.dev/@cybavo/react-native-auth-service';
</script>

README

CYBAVO Auth SDK

React-native version of CYBAVO Ayth SDK. Learn more on our website: https://www.cybavo.com/

image image image

Getting started

Install dependency

$ npm install @cybavo/react-native-auth-service --save

Link native modules (before React Native 0.60)

  • React Native >= 0.60

    React Native 0.60 introduced autolinking, manual linking should not be necessary

  • React Native < 0.60

    $ react-native link @cybavo/react-native-auth-service
    

Setup native SDK repository

Android

Edit android/build.gradle to setup CYBAVO private maven repository

allprojects {
    repositories {
        // other repositories...
        // add CYBAVO private maven repository
        maven {
            url {CYBAVO_MAVEN_REPO_URL}
            credentials {
                username = {CYBAVO_MAVEN_REPO_USRENAME}
                password = {CYBAVO_MAVEN_REPO_USRENAME}
            }
        }
    }
}

iOS

  1. Append this line in Podfile:

    source 'https://bitbucket.org/cybavo/specs_501.git' if using Xcode 10.2.1, Xcode 10.3

    source 'https://bitbucket.org/cybavo/specs_512.git' if using >= Xcode 11.2

  2. Go to ./ios, run pod install to install all dependencies.

  3. Open ./ios/{{your project}}.xcworkspace in XCode

  4. In XCode, run your project (Cmd+R)<

Upgrade SDK

Upgrade React-Native SDK

yarn upgrade @cybavo/react-native-auth-service

Since React-Native SDK is built upon native SDKs, you may need to upgrade native SDKs by the following method:

  • Android

    Gradle has a cache mechanism so it may not always upgrade native dependency to latest version. Run the following command when necessary to force Gradle to upgrade Android native dependency to latest.

    cd android; ./gradlew assembleDebug --refresh-dependencies
    
  • iOS

    $ cd ios
    $ rm -rf Podfile.lock
    $ pod update
    

Usage

import { createAuthenticator } from '@cybavo/react-native-auth-service';

// create Authenticator instance
const authenticator = createAuthenticator(SERVICE_ENDPOINT, SREVICE_API_CODE);

// pair device
authenticator.pair(...);
// observe pairing state
authenticator.addPairingStateListener(pairings -> {
  // update pairing list
});
// fetch 2-FA actions
authenticator.getTwoFactorAuthentications(...)
  .then(actions => {
    // display actions
  });
// approve 2-FA action
authenticator.approve(...);
// reject 2-FA action
authenticator.reject(...);
// unpair devices
authenticator.unapir([deviceId]);

Check documents of individual module for detail usage

Sample app

Check our sample app on GitHub: https://github.com/CYBAVO/auth-sdk_react-native_example