Allow users to authenticate with their email address and OTP (One-Time Password).

Prerequisites

  • You need to have the Dynamic Client initialized.
  • You need to have the email authentication method enabled in your environment’s settings in the Dynamic dashboard.

Usage

import {
  sendEmailOTP,
  verifyOTP
} from '@dynamic-labs-sdk/client';

// With the user's email, call sendEmailOTP to get the otpVerification
// Then, once the user inputs the OTP code, call verifyOTP to verify it and complete the authentication

let otpVerification = null

const singInWithEmail = async () => {
  // Replace '[email protected]' with the user's email address
  otpVerification = await sendEmailOTP({ email: '[email protected]' });
  // Store the otpVerification for later use with the verifyOTP function
};

const verifyOTP = async () => {
  // Use the same otpVerification object that you got from the sendEmailOTP function
  // Replace '123456' with the OTP code entered by the user
  await verifyOTP({ otpVerification, otp: '123456' });
};