Skip to content

Initiate a request to bind an MFA authentication factor

This document is automatically generated based on https://github.com/authing/authing-docs-factory based on the https://api-explorer.genauth.ai V3 API, and is consistent with the API parameters and return results. If the description of this document is incorrect, please refer to the V3 API.

When the user has not bound an MFA authentication factor, you can initiate a request to bind an MFA authentication factor. Different types of MFA authentication factor binding requests require different parameters, see profile parameters for details. After initiating the verification request, the GenAuth server will use different means to request verification based on the corresponding authentication factor type and the passed parameters. This interface will return the enrollmentToken, you need to bring this enrollmentToken when requesting the "Bind MFA Authentication Factor" interface and provide the corresponding credentials.

Method name

AuthenticationClient.sendEnrollFactorRequest

Request parameters

NameTypeRequiredDefault valueDescriptionSample value
profile<a FactorProfileYes-MFA authentication factor details{"phoneNumber":"188xxxx8888","phoneCountryCode":"+86"}
factorTypestringYes-MFA authentication factor type:
- OTP: OTP
- SMS: SMS
- EMAIL: Email
- FACE: Face
SMS

Sample code

ts
import { AuthenticationClient, Models } from "authing-node-sdk";

const authenticationClient = new AuthenticationClient({
  // Need to be replaced with your GenAuth AppId, Secret and Host
  appId: "GEN_AUTH_APP_ID",
  appSecret: "GEN_AUTH_APP_SECRET",
  appHost: "GEN_AUTH_APP_HOST",
});

(async () => {
  // Please call the login interface to get access_token first, and call the setAccessToken method to set access_token
  authenticationClient.setAccessToken("REPLACE_ME_WITH_REAL_ACCESS_TOKEN");

  const result = await authenticationClient.sendEnrollFactorRequest({
    factorType: Models.SendEnrollFactorRequestDto.factorType.SMS,
    profile: {
      phoneNumber: "188xxxx8888",
      phoneCountryCode: "+86",
      email: "test@example.com",
    },
  });

  console.log(JSON.stringify(result, null, 2));
})();

Request response

Type: SendEnrollFactorRequestRespDto

NameTypeDescription
statusCodenumberBusiness status code, which can be used to determine whether the operation is successful. 200 means success.
messagestringDescription
apiCodenumberSegmented error code, which can be used to get the specific error type (successful request does not return). For a detailed list of error codes, see: API Code List
requestIdstringRequest ID. Returned when the request fails.
data<a SendEnrollFactorRequestDataDtoResponse data

Sample result:

json
{
"statusCode": 200,
"message": "Operation successful",
"requestId": "934108e5-9fbf-4d24-8da1-c330328abd6c",
"data": {
"enrollmentToken": "TQoCISidM0kBji0dxRi3afSDtkvvMiUphenIgL

Agent infrastructure for identity, memory, and web action.