@imajin/rx-otp v2.0.0
One-Time Password manager
One Time Password manager is fully compliant with HOTP (counter based one time passwords) and TOTP (time based one time passwords). It can be used in conjunction with the Google Authenticator, for Two-Factor Authentication, which has free apps for iOS, Android and BlackBerry.
All methods described in both RFC are implemented in API.
Now RxJS compliant, wrote in full Typescript | ES6 for client and server side.
Table of contents
- Installation
- Super simple to use
- Build your project with Webpack
- API in Detail
- Contributing
- Change History
- License
Installation
$ npm install --save @akanass/rx-otp rxjs
or
$ yarn add @akanass/rx-otp rxjsSuper simple to use
RX-OTP is designed to be the simplest way possible to generate and verify OTP.
It's fully Typescript | ES6 written, so you can import it :
import {HOTP} from "@akanass/rx-otp";or use CommonJS:
const HOTP = require('@akanass/rx-otp').HOTP;Now, it's easy to perform a generation of HOTP:
HOTP.generate('12345678901234567890').subscribe({
next: token => console.log(token), // display 125165 in the console
error: err => console.error(err) // show error in console
});Build your project with Webpack
If you want to include this library inside a project builds with webpack for a client application, you must add this configuration inside your webpack configuration:
{
target: "web",
node: {
fs: "empty",
net: "empty",
tls: "empty"
}
}For a server application, target will be node, node block in configuration doesn't exist and uglify plugin must be disabled.
API in Detail
We implemented some functions and to see their details go to documentation folder:
Contributing
To set up your development environment:
- clone the repo to your workspace,
- in the shell
cdto the main folder, - hit
npm or yarn install, - run
npm or yarn run test.- It will lint the code and execute all tests.
- The test coverage report can be viewed from
./coverage/lcov-report/index.html.
Change History
- v2.0.0 (2021-10-11)
- Upgrade all packages' versions to move on
rxjs:7.4.0and delete incompatible packages - Delete browser single version due to incompatibility
- Delete
es5version and now module is only ones2015and if you want an older support, your bundle system should transpile it toes5 - Fix tests
- Documentation
- Upgrade all packages' versions to move on
- v1.1.0 (2019-07-12)
- Change repository owner name
- Latest packages' versions
- Fix tests
- Documentation
- v1.0.0 (2019-03-08)
- Add scope to library and move to
@akanass/rx-otp - Rewritten all library and test files in
Typescript - Add
typingssupport - Use
JESTfor testing - Use json-schema and ajv library to validate functions' parameters
- Add scope to library and move to
License
Copyright (c) 2021 Nicolas Jessel. Licensed under the MIT license.
3 years ago