Skip to main content

Client

Github | npm

Install

Add @accounts/client to your app with yarn or npm:

# With yarn
yarn add @accounts/client

# Or if you use npm
npm install @accounts/client --save

Usage

import { AccountsClient } from '@accounts/client';

const accountsClient = new AccountsClient({}, myTransport);

Use cases

The @accounts/client module exposes a set of methods that can be used in any JavaScript framework.

Login

Login the user with a specific service.

await accountsClient.loginWithService('serviceName', credentials);

// For example with the password service
await accountsClient.loginWithService('password', {
user: {
email: values.email,
},
password: values.password,
});

Logout

Logout the user.

// For example with the password service
await accountsClient.logout();

Retrieve the current authenticated user

Will return the current logged in user informations. Must be logged in.

// For example with the password service
await accountsClient.getUser();

Impersonating another user

If you need to you can allow some users via server authorization to impersonate the other users accounts, e.g.: Only admin users can impersonate to other users. Your current session will be replaced by another impersonated session. Must be logged in.

await accountsClient.impersonate({ userId: 'userId' });

// When you are done, you must stop the impersonation process
// Your other session will be restored
await accountsClient.stopImpersonation();