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.
$ 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:
cd
to the main folder,npm or yarn install
,npm or yarn run test
.
./coverage/lcov-report/index.html
.rxjs:7.4.0
and delete incompatible packageses5
version and now module is only on es2015
and if you want an older support, your bundle system should transpile it to es5
@akanass/rx-otp
Typescript
typings
supportJEST
for testingCopyright (c) 2021 Nicolas Jessel. Licensed under the MIT license.