A simple mock authenticator client, written in JavaScript.
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.
$ yarn add authenticator-client-mock-js --dev$ npm install authenticator-client-mock-js --save-devFor 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',
});| Name | Required? | Description |
|---|---|---|
| debug | No | Set to true to log debug messages during utilization. Defaults to false. |
| ttl | No | Defaults to 0 (expires immediately). |
| Name | Type | Description |
|---|---|---|
| ttl | Number | The configured ttl before the generated token expires. (0 = expires immediately, -1 = never expires, <millis> = any positive integer) |
| state | Object | The mock state that is mutated for simulation purposes. |
All functions return Promises (except
resetState).
| Name | Parameters | Returns | Description |
|---|---|---|---|
| authenticateUser | creds = { 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. |
| expireUser | token = '<the_token>' |
{ success: true } |
|
| fetchUserInfo | token = '<the_token>' |
||
| resetState | (none) | (void) | Resets the instance state to the default values. |
[TBC]
The plugin uses ESLint for source code linting. The linting will run automatically on git commit.
$ yarn lintThe plugin uses Mocha for the testing framework, and Chai for its assertions.
$ yarn testThe plugin is automatically built on yarn publish. But, you can manually build the plugin using:
$ yarn build-plugin