0.0.8 • Published 4 years ago

authenticator-client-mock-js v0.0.8

Weekly downloads
6
License
-
Repository
-
Last release
4 years ago

Client Authenticator | Mock

A simple mock authenticator client, written in JavaScript.

Table of Contents

Introduction

The authenticator-client-mock-js is a simple client service, that mimics the common behaviors of HTTP-based authentication schemes. It does not transmit data over HTTP; it can be merely used for supporting offline/detached testing and development scenarios.

The implementation is designed to be compatible with the vuestrap-client-auth-support Authenticator interface.

How to Use

Install

with yarn:

$ yarn add authenticator-client-mock-js --dev

with npm:

$ npm install authenticator-client-mock-js --save-dev

Compatible with the Client Auth Support Vuestrap

For example:

import Vue from 'vue';
import store from './store'; // your vuex store instance
import router from './router'; // your vue-router instance
import MockAuthenticator from 'authenticator-client-mock-js';
import ClientAuthSupport from 'vuestrap-client-auth-support';

const MockAuth = new MockAuthenticator({ ttl: 5 * 60 * 1000 }); // expire session in 5 mins

Vue.use(ClientAuthSupport, {
  store,
  router,
  authenticator: MockAuth,
  persistType: 'local',
  tokenName: 'user-auth-token',
});

API

Constructor

Constructor Options

NameRequired?Description
debugNoSet to true to log debug messages during utilization. Defaults to false.
ttlNoDefaults to 0 (expires immediately).

Instance

Instance Properties

NameTypeDescription
ttlNumberThe configured ttl before the generated token expires. (0 = expires immediately, -1 = never expires, <millis> = any positive integer)
stateObjectThe mock state that is mutated for simulation purposes.

Instance Functions

All functions return Promises (except resetState).

NameParametersReturnsDescription
authenticateUsercreds = { username: <username>, password: <password> }{ token: '<the_token>', expires_at: <timestamp_in_seconds> }Performs a mock authentication request, that always succeeds if a username is provided. When authentication is granted, the service returns a user auth token, with an expiration timestamp per the configured ttl.
expireUsertoken = '<the_token>'{ success: true }
fetchUserInfotoken = '<the_token>'
resetState(none)(void)Resets the instance state to the default values.

Errors

TBC

For Developers

Dev Lint

The plugin uses ESLint for source code linting. The linting will run automatically on git commit.

$ yarn lint

Dev Test

The plugin uses Mocha for the testing framework, and Chai for its assertions.

$ yarn test

Dev Build

The plugin is automatically built on yarn publish. But, you can manually build the plugin using:

$ yarn build-plugin
0.0.8

4 years ago

0.0.7

4 years ago