Security News
NVD Backlog Tops 20,000 CVEs Awaiting Analysis as NIST Prepares System Updates
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
@otplib/core-async
Advanced tools
Async aware versions of otplib methods
This library adds async
aware versions of methods that are found in @otplib/core
.
Refer to the main otplib documentation instead for the non-async
version.
npm install --save @otplib/core-async
There are 2 was to use async
- using async replacements, or handling digests separately.
This is the simplest way to get started. Other than allOptions()
and resetOptions
,
all other methods are converted to async and thus needs to be Promise.resolve
or await
.
eg: await .generate(...)
, await .check(...)
import { AuthenticatorAsync } from '@otplib/core-async';
const authenticator = new AuthenticatorAsync({
// ...options
// make sure you use async versions of
// required functions like createDigest.
});
// Note: await needed as all methods are async
const token = await authenticator.generate(secret);
In this method, you would essentially take over the digest generation, leaving the library to handle the digest to token conversion.
import { Authenticator } from '@otplib/core';
import { authenticatorDigestAsync } from '@otplib/core-async';
// This is a synchronous Authenticator class.
const authenticator = new Authenticator({
// ...options
});
// Override the digest generation.
const digest = await authenticatorDigestAsync(secret, {
...authenticator.allOptions(),
createDigest: async (algorithm, hmacKey, counter) => 'string'; // put your async implementation
});
authenticator.options = { digest };
const token = authenticator.generate(secret);
// recommended: reset to remove the digest.
authenticator.resetOptions();
// reference test in: ./packages/tests-builds/example.test.js
All async functions are suffixed with Async
except for class methods.
eg: await authenticatorTokenAsync(...)
instead of authenticatorToken(...)
Check the API Documentation for the full list of async functions.
The following options are modified for functions
and classes
which are suffixed with Async
.
eg: AuthenticatorAsync
, totpDigestAsync
, hotpTokenAsync
etc.
Option | Type | Output |
---|---|---|
createDigest | async function | function returns Promise<string> instead of string |
createHmacKey | async function | function returns Promise<string> instead of string |
createRandomBytes | async function | function returns Promise<string> instead of string |
keyEncoder | async function | function returns Promise<string> instead of string |
keyDecoder | async function | function returns Promise<string> instead of string |
@otplib/core-async
is MIT licensed
FAQs
async aware versions of core methods for otplib
The npm package @otplib/core-async receives a total of 320 weekly downloads. As such, @otplib/core-async popularity was classified as not popular.
We found that @otplib/core-async demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
Security News
Research
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.
Security News
PyPI now supports digital attestations, enhancing security and trust by allowing package maintainers to verify the authenticity of Python packages.