@gustash/react-native-smart-lock

1.1.0 • Public • Published

React Native Smart Lock

This package exposes Google Smart Lock for auto sign-in based on saved credentials.

Getting started

$ npm install @gustash/react-native-smart-lock --save

Mostly automatic installation (RN < 0.60)

$ react-native link @gustash/react-native-smart-lock

Usage

Request Credentials

import SmartLock from '@gustash/react-native-smart-lock';

async function request() {
  // You can also send a client server id as a paramenter as well
  // const {error, success, ...credentials} = await SmartLock.request('some.server.id');
  const {error, success, ...credentials} = await SmartLock.request();

  if (error) {
    console.error(error);
    return;
  }

  if (success) {
    // Account found. Do something with credentials.
    const {
      id,
      password,
      accountType,
      familyName,
      givenName,
      name,
      profilePictureUri,
      idTokens,
    } = credentials;
  }
}

Save Credentials

import SmartLock from '@gustash/react-native-smart-lock';

async function save() {
  const credentials = {
    id: 'some@email.com',
    profilePictureUri:
      'https://api.adorable.io/avatars/285/abott@adorable.png',
    name: 'John Doe',
    password: 'password',
  };

  const error = await SmartLock.save(credentials);

  // The save method might be canceled if the system wants to give priority
  // to the password manager UI instead.
  if (error && error !== 'canceled') {
    console.error(error);
  }
}

Delete Credentials

import SmartLock from '@gustash/react-native-smart-lock';

async function deleteCredential() {
  const error = await SmartLock.delete('some@email.com');

  if (error) {
    console.error(error);
  }
}

Disable Auto Sign-in

import SmartLock from '@gustash/react-native-smart-lock';

// This disables request() until a new save() is called.
// You should call this on logout to allow the user to change accounts, for example.
SmartLock.disableAutoSignIn();

Package Sidebar

Install

npm i @gustash/react-native-smart-lock

Weekly Downloads

18

Version

1.1.0

License

MIT

Unpacked Size

42.5 kB

Total Files

16

Last publish

Collaborators

  • gustash