Skip to main content

Type Alias: OneTimeTokenStore

OneTimeTokenStore = object

Defined in: auth-core/src/emailAuthTypes.ts:104

App-provided one-time token persistence.

Every method takes or returns a tokenHash, never a redeemable token, which makes storing a usable secret impossible rather than merely discouraged.

Properties

delete

delete: (args) => Promise<void> | void

Defined in: auth-core/src/emailAuthTypes.ts:125

Delete a token, enforcing single use.

Parameters

ParameterType
args{ purpose: OneTimeTokenPurpose; tokenHash: string; }
args.purposeOneTimeTokenPurpose
args.tokenHashstring

Returns

Promise<void> | void


deleteFor

deleteFor: (args) => Promise<void> | void

Defined in: auth-core/src/emailAuthTypes.ts:133

Delete every outstanding token of this purpose for this address, so issuing a new one invalidates whatever preceded it.

Parameters

ParameterType
args{ email: string; purpose: OneTimeTokenPurpose; }
args.emailstring
args.purposeOneTimeTokenPurpose

Returns

Promise<void> | void


find

find: (args) => Promise<StoredOneTimeToken | null> | StoredOneTimeToken | null

Defined in: auth-core/src/emailAuthTypes.ts:111

Look up by hash and purpose, so a token minted for one flow cannot be redeemed by another. This is the lookup for the link flows, where the token itself is the only thing the request carries.

Parameters

ParameterType
args{ purpose: OneTimeTokenPurpose; tokenHash: string; }
args.purposeOneTimeTokenPurpose
args.tokenHashstring

Returns

Promise<StoredOneTimeToken | null> | StoredOneTimeToken | null


findByEmail?

optional findByEmail?: (args) => Promise<StoredOneTimeToken | null> | StoredOneTimeToken | null

Defined in: auth-core/src/emailAuthTypes.ts:120

Look up the outstanding token for an address. Required when emailCode is enabled: a wrong code hashes to nothing on record, so the engine has to find the record by address before it can compare and count the attempt.

Parameters

ParameterType
args{ email: string; purpose: OneTimeTokenPurpose; }
args.emailstring
args.purposeOneTimeTokenPurpose

Returns

Promise<StoredOneTimeToken | null> | StoredOneTimeToken | null


incrementAttempts?

optional incrementAttempts?: (args) => Promise<void> | void

Defined in: auth-core/src/emailAuthTypes.ts:142

Record a failed attempt. Required when emailCode is enabled; the engine calls it on every wrong guess and destroys the token once maxAttempts is reached.

Parameters

ParameterType
args{ purpose: OneTimeTokenPurpose; tokenHash: string; }
args.purposeOneTimeTokenPurpose
args.tokenHashstring

Returns

Promise<void> | void


save

save: (token) => Promise<void> | void

Defined in: auth-core/src/emailAuthTypes.ts:105

Parameters

ParameterType
tokenStoredOneTimeToken

Returns

Promise<void> | void