mfaStart

AppDelegate.reachfive().mfaStart(
    registering,
    authToken
)

About this command

Starts the MFA email registration flow. When the flow is started, an email or SMS is sent to the user for verification depending on which Credential is used.

Examples

  • Email

  • Phone number

import Reach5

AppDelegate.reachfive()
  .mfaStart(.Email(
        redirectUri: "reachfive-${clientId}://callback"),
        authToken: profileAuthToken)
  .onSuccess{ _ in
      // Do something
  }
  .onFailure { error in
      // Return a ReachFive error
  }
import Reach5

AppDelegate.reachfive()
  .mfaStart(.PhoneNumber(
        phoneNumber: "+3531235555"),
        authToken: profileAuthToken)
  .onSuccess{ _ in
      // Do something
  }
  .onFailure { error in
      // Return a ReachFive error
  }

Parameters

authToken AuthToken

Authorization token of the profile retrieved from login.

idToken string

The ID token JSON Web Token (JWT) that contains the profile’s information.

accessToken string

The authorization credential JSON Web Token (JWT) used to access the ReachFive API.

refreshToken string

The refresh token JSON Web Token (JWT) used to obtain new access tokens once they expire.

tokenType string

The type of token. Always equal to Bearer.

expiresIn number

The lifetime in seconds of the access token.

If expiresIn is less than or equal to 0, the AuthToken is expired.

user OpenIdUser

The user’s information contained in the ID token.

registering

The credential type to register. This is a method that requires an authToken.

You pass either .Email or .PhoneNumber.

For .Email, you also pass redirectUri as well.

For .PhoneNumber, you also pass the phoneNumber.

Email example
AppDelegate.reachfive()
  .mfaStart(.Email(
        redirectUri: "reachfive-${clientId}://callback"),
        authToken: profileAuthToken)
PhoneNumber example
AppDelegate.reachfive()
  .mfaStart(.PhoneNumber(
        phoneNumber: "+3531235555"),
        authToken: profileAuthToken)

Response

Future<MfaStartRegistrationResponse, ReachFiveError>

Credential verified

If the credential is already verified, you receive a success with the MFA credential item.

Credential unverified

If the credential is unverified, you receive ContinueRegistration allowing you to then use the mfaVerify method.

Error response

ReachFiveError

Based on the problem, the ReachFiveError will be:

  • RequestError(requestErrors: RequestErrors) if it’s a bad request error.

    error string

    The main error message.

    errorId string

    The identifier of the error.

    errorUserMsg string

    The user-friendly error message.

    This property is translated according to the user’s browser settings. Currently supported languages:
    Currently supported languages
    • ar - العربية Arabic

    • de - Deutsch German

    • en - English

    • es - Español Spanish

    • fr - Français French

    • hu - Magyar Hungarian

    • it - Italiano Italian

    • jp - 日本 Japanese

    • ko - 한국인 Korean

    • nl - Nederlands Dutch

    • pt - Portuguese

    • ru - Ру́сский Russian

    • sk - Slovenský Slovak

    • zh-CN - People’s Republic of China Simplified Chinese

    • zh-Hans - Simplified Chinese

    • zh-Hant - Traditional Chinese

    • zh-HK - Hong Kong Traditional Chinese

    • zh-MO - Macao Traditional Chinese

    • zh-SG - Singapore Simplified Chinese

    • zh-TW - Taiwan Traditional Chinese

    errorMessageKey string

    The error message key.

    errorDescription string

    The technical error message.

    errorDetails FieldError[]

    field string

    The field concerned by the error.

    message string

    The message error returned for the field.

    code string

    The code error returned for the field.

    • AuthFailure(reason: String) if the authentication has failed.

    • AuthCanceled if the authentication was cancelled.

    • TechnicalError(reason: String) if it’s an internal server error.