All Projects → akanass → rx-otp

akanass / rx-otp

Licence: MIT license
HMAC-based (HOTP) and Time-based (TOTP) One-Time Password manager. Works with Google Authenticator for Two-Factor Authentication.

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to rx-otp

apache 2fa
Apache two-factor (2FA) authentication with Google Authenticator based on Time-based One-Time Password (TOTP) or HMAC-based one-time password (HOTP) Algorithms.
Stars: ✭ 63 (-20.25%)
Mutual labels:  totp, hotp, google-authenticator, two-factor-authentication
2FAuth
A Web app to manage your Two-Factor Authentication (2FA) accounts and generate their security codes
Stars: ✭ 664 (+740.51%)
Mutual labels:  otp, totp, hotp, two-factor-authentication
Andotp
Open source two-factor authentication for Android
Stars: ✭ 3,326 (+4110.13%)
Mutual labels:  otp, totp, hotp, two-factor-authentication
crotp
CrOTP - One Time Passwords for Crystal
Stars: ✭ 62 (-21.52%)
Mutual labels:  otp, totp, hotp, two-factor-authentication
Otpauth
One Time Password (HOTP/TOTP) library for Node.js, Deno and browsers.
Stars: ✭ 135 (+70.89%)
Mutual labels:  otp, totp, hotp, two-factor-authentication
otp-java
A small and easy-to-use one-time password generator library for Java according to RFC 4226 (HOTP) and RFC 6238 (TOTP).
Stars: ✭ 107 (+35.44%)
Mutual labels:  otp, totp, hotp, two-factor-authentication
php-totp
HOTP and TOTP token generation
Stars: ✭ 33 (-58.23%)
Mutual labels:  otp, totp, hotp, google-authenticator
Onetimepassword
🔑 A small library for generating TOTP and HOTP one-time passwords on iOS.
Stars: ✭ 243 (+207.59%)
Mutual labels:  otp, totp, hotp, two-factor-authentication
Aegis
A free, secure and open source app for Android to manage your 2-step verification tokens.
Stars: ✭ 2,692 (+3307.59%)
Mutual labels:  otp, totp, hotp
Multiotp
multiOTP open source strong two factor authentication PHP library, OATH certified, with TOTP, HOTP, Mobile-OTP, YubiKey, SMS, QRcode provisioning, etc.
Stars: ✭ 173 (+118.99%)
Mutual labels:  otp, totp, hotp
Twofactor totp
🔑 Second factor TOTP (RFC 6238) provider for Nextcloud
Stars: ✭ 203 (+156.96%)
Mutual labels:  otp, totp, two-factor-authentication
Otpclient
Highly secure and easy to use OTP client written in C/GTK that supports both TOTP and HOTP
Stars: ✭ 206 (+160.76%)
Mutual labels:  otp, totp, hotp
Freeotpplus
Enhanced fork of FreeOTP-Android providing a feature-rich 2FA authenticator
Stars: ✭ 223 (+182.28%)
Mutual labels:  otp, totp, hotp
extract otp secret keys
Extract two-factor authentication (2FA, TFA) secret keys from export QR codes of "Google Authenticator" app
Stars: ✭ 217 (+174.68%)
Mutual labels:  otp, totp, google-authenticator
Glewlwyd
Single Sign On server, OAuth2, Openid Connect, multiple factor authentication with, HOTP/TOTP, FIDO2, TLS Certificates, etc. extensible via plugins
Stars: ✭ 292 (+269.62%)
Mutual labels:  otp, totp, hotp
Otp.net
A .NET implementation of TOTP and HOTP for things like two-factor authentication codes.
Stars: ✭ 424 (+436.71%)
Mutual labels:  otp, totp, two-factor-authentication
Otphp
🔐 A PHP library for generating one time passwords according to RFC 4226 (HOTP) and the RFC 6238 (TOTP)
Stars: ✭ 857 (+984.81%)
Mutual labels:  otp, totp, hotp
Jsotp
Javascript One-Time Password module.
Stars: ✭ 71 (-10.13%)
Mutual labels:  otp, totp, hotp
OneTime
iOS, watchOS, & macOS One-Time Password client
Stars: ✭ 14 (-82.28%)
Mutual labels:  otp, totp, hotp
Otplib
🔑 One Time Password (OTP) / 2FA for Node.js and Browser - Supports HOTP, TOTP and Google Authenticator
Stars: ✭ 916 (+1059.49%)
Mutual labels:  otp, hotp, two-factor-authentication

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

$ npm install --save @akanass/rx-otp rxjs

or

$ yarn add @akanass/rx-otp rxjs

Super 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
});

Back to top

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.

Back to top

API in Detail

We implemented some functions and to see their details go to documentation folder:

Back to top

Contributing

To set up your development environment:

  1. clone the repo to your workspace,
  2. in the shell cd to the main folder,
  3. hit npm or yarn install,
  4. 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.

Back to top

Change History

  • 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 on es2015 and if you want an older support, your bundle system should transpile it to es5
    • Fix tests
    • Documentation
  • 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

Back to top

License

Copyright (c) 2021 Nicolas Jessel. Licensed under the MIT license.

Back to top

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].