updatePassword

AppDelegate.reachfive().updatePassword(updatePasswordRequest)

Description

Update the profile’s password. The parameters required in addition to the new password are either:

  • A fresh access token (less than 5 minutes old).

  • The old password.

  • The profile’s email address/phone number and the verification code sent by email/SMS through a request password reset flow.

  • The profile must have been granted the full_write scope at the last authentication.

Examples

  • With an AT

  • With a fresh AT

  • With an email

  • With a phone number

import Reach5

let profileAuthToken: AuthToken = // Here paste the authorization token of the profile retrieved after login

AppDelegate
    .reachfive()
    .updatePassword(
        .AccessTokenParams(
            authToken: profileAuthToken,
            oldPassword: "gVc7piBn",
            password: "ZPf7LFtc"
        )
    )
    .onSuccess { _ in
        // Do something
    }
    .onFailure { error in
        // Return a ReachFive error
    }
import Reach5

let freshProfileAuthToken: AuthToken = // Here paste the authorization token of the profile retrieved after login (less than 5 min)
AppDelegate
    .reachfive()
    .updatePassword(
        .FreshAccessTokenParams(
            authToken: freshProfileAuthToken,
            password: "ZPf7LFtc"
        )
    )
    .onSuccess { _ in
    // Do something
    }
    .onFailure { error in
    // Return a ReachFive error
    }
import Reach5

AppDelegate
    .reachfive()
    .updatePassword(
        .EmailParams(
            email: "john.doe@example.com",
            verificationCode: "234",
            password: "ZPf7LFtc"
        )
    )
    .onSuccess { _ in
        // Do something
    }
    .onFailure { error in
        // Return a ReachFive error
    }
import Reach5

AppDelegate
    .reachfive()
    .updatePassword(
        .SmsParams(
            phoneNumber: "+33682234940",
            verificationCode: "234",
            password: "ZPf7LFtc"
        )
    )
    .onSuccess { _ in
        // Do something
    }
    .onFailure { error in
        // Return a ReachFive error
    }

Parameters

The UpdatePasswordRequest enum class consists into:

  • FreshAccessTokenParams

  • AccessTokenParams

  • EmailParams

  • SmsParams

FreshAccessTokenParams

Parameter Description

freshAccessToken AuthToken

Authorization token of the profile retrieved from login (less than 5 minutes old).

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.

password string

The new password of the profile. Password must meet the minimum requirements defined by the zxcvbn used. It must also be different from the old one.

AccessTokenParams

Parameter Description

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.

oldPassword string

The old password of the profile.

password string

The new password of the profile. Password must meet the minimum requirements defined by the zxcvbn used. It must also be different from the old one.

EmailParams

Parameter Description

email string

The email address of the profile.

verificationCode string

The verification code sent by email or SMS.

password string

The new password of the profile. Password must meet the minimum requirements defined by the zxcvbn used. It must also be different from the old one.

SmsParams

Parameter Description

phoneNumber string

The phone number of the profile.

Both the international format and the national conventions of the account’s country are accepted if configured in account settings.

verificationCode string

The verification code sent by email or SMS.

password string

The new password of the profile. Password must meet the minimum requirements defined by the zxcvbn used. It must also be different from the old one.

Response

Type: Future<(), ReachFiveError>

The profile’s password will be updated. If the parameters are invalid or if the full_write scope is missing, the promise will be rejected and will return a ReachFiveError.

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 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 OS and app 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.