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.
- Installation
- Super simple to use
- Build your project with Webpack
- API in Detail
- Contributing
- Change History
- License
$ npm install --save @akanass/rx-otp rxjs
or
$ yarn add @akanass/rx-otp rxjs
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
});
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
.
We implemented some functions and to see their details go to documentation folder:
To set up your development environment:
- clone the repo to your workspace,
- in the shell
cd
to 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
.
- v2.0.0 (2021-10-11)
- Upgrade all packages' versions to move on
rxjs:7.4.0
and delete incompatible packages - Delete browser single version due to incompatibility
- Delete
es5
version and now module is only ones2015
and 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
typings
support - Use
JEST
for testing - Use json-schema and ajv library to validate functions' parameters
- Add scope to library and move to
Copyright (c) 2021 Nicolas Jessel. Licensed under the MIT license.