sendEmailVerification
AppDelegate.reachfive().sendEmailVerification(authToken, redirectUrl) (1)
1 | redirectUrl is optional. |
Description
Initiates the email verification process by sending a verification email to the user’s registered email address. The email contains a unique verification code required to confirm the email address.
This method requires the user to be authenticated and is typically used after signup or an email update.
|
Examples
import Reach5
let profileAuthToken: AuthToken = // Here paste the authorization token of the profile retrieved after login
AppDelegate
.reachfive()
.sendEmailVerification(
authToken: profileAuthToken,
redirectUrl: "https://example-email-verification.com" // optional
)
.onSuccess { emailVerificationResponse in
switch emailVerificationResponse {
case .Success:
// Email verification process completed successfully
case .VerificationNeeded(let continueEmailVerification):
// Verification email sent, use continueEmailVerification.verify(code: String, email: String, freshAuthToken: AuthToken? = nil) or AppDelegate.reachfive().verifyEmail to complete the flow
}
}
.onFailure { error in
// Return a ReachFive error
}
Parameters
Parameter | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Authorization token of the profile retrieved from login.
|
|||||||||||||
optional The URL to which the user will be redirected after clicking the verification link in the email. This URL must be whitelisted in the |
Response
Type: Future<EmailVerificationResponse, ReachFiveError>
The response is an EmailVerificationResponse
enum with two cases:
-
.Success
: Indicates the email verification process completed without requiring further action. -
.VerificationNeeded(ContinueEmailVerification)
: Indicates a verification email was sent, and further action (e.g., entering a verification code) is required to complete the process.
The promise is rejected and returns a ReachFiveError
if:
-
The parameters are invalid.
-
The email template is incomplete.
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[] |
|
Completing the flow
Use continueEmailVerification.verify(code: String, email: String, freshAuthToken: AuthToken? = nil)
or verifyEmail to complete the verification.