Second Factor
These are all methods on the SignIn
class that allow you to handle the second factor of a multi-factor authentication flow.
prepareSecondFactor()
function prepareSecondFactor(params: PrepareSecondFactorParams): Promise<SignIn>;
Begins the second factor verification process. This step is optional in order to complete a sign in.
A common scenario for the second step verification (2FA) is to require a one-time code (OTP) as proof of identity. This is determined by the accepted strategy
parameter values. Each authentication identifier supports different strategies.
While the phone_code
strategy requires preparation, the totp
strategy does not - the user can directly attempt the second factor verification in that case.
PrepareSecondFactorParams
Name | Type | Description |
---|---|---|
strategy | 'phone_code' | 'totp' | The strategy to be used for second factor verification. Possible strategy values are currently:
|
Returns
Type | Description |
---|---|
Promise<SignIn> | This method returns a Promise which resolves with a SignIn object. Check the secondFactorVerification attribute for the status of the second factor verification process. |
attemptSecondFactor()
function attemptSecondFactor(params: AttemptSecondFactorParams): Promise<SignIn>;
Attempts to complete the second factor verification process (2FA). This step is optional in order to complete a sign in.
For the phone_code
strategy, make sure that a verification has already been prepared before you call this method, by first calling SignIn.prepareSecondFactor
. Depending on the strategy that was selected when the verification was prepared, the method parameters should be different.
The totp
strategy can directly be attempted, without the need for preparation.
AttemptSecondFactorParams
Name | Type | Description |
---|---|---|
strategy | 'phone_code' | 'totp' | The strategy to be used for second factor verification. Possible strategy values are
|
code | string |
|