1.0.6 • Published 2 years ago

@os1-platform/aaa-mobile v1.0.6

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

React native AAA mobile SDK

Introduction

Built on top of react-native, react-native-app-auth, typescript. This sdk can be used on mobile for authentication, to fetch access token and logout feature.

Installation

npm install @os1-platform/aaa-mobile

Install Peer dependencies

npm install react-native-app-auth@6.4.3
npm install @react-native-async-storage/async-storage@^1.15.14
npm install axios@^0.26.1

Peer dependencies:

{
  "@react-native-async-storage/async-storage": "^1.15.14",
  "react": ">=17.0.2",
  "react-native": ">=0.67.3",
  "react-native-app-auth": "^6.4.3",
  "axios": ">=0.26.1"
}

Add Manifest Placeholder in build.gradle (app level)

manifestPlaceholders = [appAuthRedirectScheme: "${applicationId}"]

Usage

Init AAA SDK

// Obtain domainId and clientId from  Auth0/ Keycloak dashboard
import { LoginHelper } from '@os1-platform/aaa-mobile';
await LoginHelper.initAuth0(
  'domain', //example.dev.io
  'clientId' //some-rn-app
);

//Note : domainId should start with https://

Initiate Login

import { LoginHelper } from '@os1-platform/aaa-mobile';

// Pass keys name for storing access Token and id Token
await LoginHelper.initLogin('Token', 'idToken').then((res: any) => {
  console.log('Result ', res);
});

// Result Type
export interface AuthorizeResult {
  accessToken: string;
  accessTokenExpirationDate: string;
  authorizeAdditionalParameters?: { [name: string]: string };
  tokenAdditionalParameters?: { [name: string]: string };
  idToken: string;
  refreshToken: string;
  tokenType: string;
  scopes: string[];
  authorizationCode: string;
  codeVerifier?: string;
}

Logout

import { LoginHelper } from '@os1-platform/aaa-mobile';

await LoginHelper.logoutUser('Token');

Fetch access Token

import { LoginHelper } from '@os1-platform/aaa-mobile';
const accessToken = await LoginHelper.fetchAccessToken();

//This will fetch the latest access token from the storage and if the token is expired then it calls refresh token internally and returns the new access token

Refresh Token

import { LoginHelper } from '@os1-platform/aaa-mobile';

await LoginHelper.refreshToken();
1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago