mfaStart(Registering credential)
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.
Email: If the user already has a verified email in their account, no additional verification code is sent. If an existing email exists but is unverified, it becomes automatically verified with mfaVerify(Credential). Mobile: If the user already has a verified phone number with the same value in their account, no additional verification code is sent. If an existing phone number exists with the same value but is unverified, it becomes automatically verified with mfaVerify(Credential). |
Examples
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
Authorization token of the profile retrieved from login.
|
|||||||||||||
The credential type to register.
This is a method that requires an You pass either For For Email example
PhoneNumber example
|
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.
ReachFiveError
Based on the problem, the ReachFiveError
will be:
-
AuthCanceled
: The user cancelled the request or no credential was available in the keychain. -
RequestError(apiError: ApiError)
for a Bad Request (status 400) error. -
AuthFailure(reason: String, apiError: ApiError?)
mainly for Unauthorized (status 401) error. -
TechnicalError(reason: String, apiError: ApiError?)
if it’s an Internal Server Error (status 500) or other internal errors.
ApiError
error |
The main error message. |
||||||
errorId |
The identifier of the error. |
||||||
errorUserMsg |
The user-friendly error message.
|
||||||
errorMessageKey |
The error message key. |
||||||
errorDescription |
The technical error message. |
||||||
errorDetails FieldError[] |
|