1.0.1 • Published 4 years ago

mushroomjs-auth-rn v1.0.1

Weekly downloads
1
License
ISC
Repository
-
Last release
4 years ago

Install

npm install mushroomjs-auth-rn

Dependent on

mushroomjs

Import

import mushroom from "mushroomjs-auth-rn";

Or

import mushroom from "mushroomjs";
import "mushroomjs-auth-rn";

Usage

Login

var remember = true; // true - no expired, false - will auto expired after mushroom.$auth.expiredTime minute(s) inactive
let token = await mushroom.$auth.loginAsync("your account", "your password", remember);

Logout

const logoutMode = "invalidClientSession"; // or invalidServerSession, invalidAllSession
await mushroom.$auth.logoutAsync({ mode: logoutMode });

Status

let status = await mushroom.$auth.statusAsync();

Me

let me = await mushroom.$auth.meAsync();

Register

let result = await mushroom.$auth.registerAsync("your account", "your password");

Activate

await mushroom.$auth.activateAsync("your account", "activation code");

Recover password

await mushroom.$auth.recoverPasswordAsync("your account");

Reset password

await mushroom.$auth.resetPasswordAsync("your account", "your code", "your new password");

Change password

await mushroom.$auth.changePasswordAsync("your account", "your old password", "your new password")

Events

// mushroom.$auth.on(eventName, fnHandler);
mushroom.$auth.on("ready", () => {});
mushroom.$auth.on("loggedin", () => {});
mushroom.$auth.on("loggedout", () => {});

State

mushroom.$auth.isReady will be true right before 'ready' event is fired
mushroom.$auth.expiredTime config the minutes that session will be expired if doesn't set remember=true in login method

Override

If you want to override the built-in methods above, define your custom method like:

mushroom.foo.registerAsync = function(account, password, type) {
	return mushroom.__createAsyncRestFunction({
		name: "$auth.register", // Identify your method
		method: "POST",
		blankBody: false,
		url: mushroom._fnGetRootApiUrl() + "custom register url"
	})({account: account, password: password, type: type, x: 1, y: 2});
};