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-dev
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',
});
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 lint
The plugin uses Mocha for the testing framework, and Chai for its assertions.
$ yarn test
The plugin is automatically built on yarn publish
. But, you can manually build the plugin using:
$ yarn build-plugin