10 July 2025 (v2.138)

ReachFive v2.138 introduces a couple of improvements and needed bug fixes.

We also have a new UI SDK release where several enhancements have been made. As always, we made some general improvements and fixed a few items for you.


New audit log for when users are suspended

With this release, we’re introducing a new audit log for when users are suspended or unsuspended from the ReachFive Console. This helps you keep track of user account changes more effectively. It is available for use with Pub/Sub hooks.

For more details, see Audit logs.

  • Suspended

  • Unsuspended

{
    "total": 1,
    "items": [
        {
            "user_email": "admin@company.com",
            "entity_name": "console",
            "user_name": "Admin User",
            "action_name": "suspension",
            "created_at": "2025-07-10T14:21:45.123Z",
            "id": "a1b...g7h8i9j0",
            "action_data": {
                "userId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                "suspensionStatus": "temporary",
                "suspensionReason": "violatedTermsOfService"
            },
            "client_id": "Console Admin"
        }
    ]
}
{
    "total": 1,
    "items": [
        {
            "user_email": "admin@company.com",
            "entity_name": "console",
            "user_name": "Admin User",
            "action_name": "unsuspension",
            "created_at": "2025-07-10T14:22:45.123Z",
            "id": "a1b...g7h8i9j0",
            "action_data": {
                "userId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
            },
            "client_id": "Console Admin"
        }
    ]
}



CaptchaFox integration

You can now integrate CaptchaFox to enhance security during user authentication, in addition to the already available reCaptcha configuration option. This integration helps prevent automated login attempts and further strengthens account protection.

For more details, see Enable CaptchaFox from the console.

captchafox on console



New query parameter for logout

We now support a new query parameter for the logout endpoint: post_logout_redirect_uri.

This parameter allows you to specify a URL to redirect users to after they log out in the same way our redirect_to query parameter currently works for the logout endpoint.

For more details, see /logout.



UI SDK release 1.36.0

The latest version of the UI SDK, 1.36.0, introduces several enhancements:

  • We’ve added support for CaptchaFox including the following parameters:

    • captchaFoxEnabled: Boolean that specifies whether the CaptchaFox is enabled or not.

    • captchaFoxSiteKey: The CaptchaFox site key that comes from your CaptchaFox setup.

    • captchaFoxMode: Specifies how CaptchaFox is displayed.

  • The onSuccess() function now takes a SuccessEvent object which specifies what event triggered the success callback.

    onSuccess() function details

    onSuccess function

    Callback function called when the request was successful. Takes a SuccessEvent object which specifies what event triggered the success callback.

    For a full list of event types, user event types.

  • We’ve also made the postal address fields available in showAuth().

  • Additionally, you can allow users to view and update addresses through the showProfileEditor().



General improvements

  • We added translations for several address labels.

    See a comprehensive label list

    Label Description

    gender

    Gender

    givenName

    First name

    familyName

    Last name

    email

    Email address

    phoneNumber

    Phone number

    identifier

    Email address or phone number

    verificationCode

    Verification code

    password

    Password

    oldPassword

    Old password

    newPassword

    New password

    friendlyName

    Device’s name

    passwordConfirmation

    Password confirmation

    biometrics

    Biometrics

    birthdate

    Birth date

    save

    Save

    resetPassword

    Please enter your new password.

    send

    Send

    lastTimeYouLoggedInWith

    Last time you logged in with

    notYourAccount

    Not your account?

    unexpectedErrorOccurred

    Unexpected error occurred. Please retry later.

    confirmYourIdentity

    To continue, please confirm your identity.

    rememberMe

    Remember me

    or

    or

    back

    Back

    remove

    Remove

    add

    Add

    address.streetAddress

    Street address

    address.locality

    City

    address.region

    Region

    address.postalCode

    Postal code

    address.country

    Country

    address.title

    Title

    address.addressType

    Address type

    address.addressType.billing

    Billing address

    address.addressType.delivery

    Delivery address

    address.addressComplement

    Address complement

    address.raw

    Raw

    address.deliveryNote

    Delivery note

    address.recipient

    Recipient

    address.company

    Company

    address.phoneNumber

    Phone number

    login.title

    Log in

    login.submitLabel

    Log in

    login.withBiometrics

    Login with biometrics

    login.withPassword

    Login with password

    login.forgotPasswordLink

    Don’t remember your password?

    login.signupLinkPrefix

    Do not have an account?

    login.signupLink

    Sign up

    login.password.userAnotherIdentifier

    Use another identifier

    signup.title

    Sign up

    signup.submitLabel

    Sign up

    signup.loginLinkPrefix

    Already have an account?

    signup.loginLink

    Log in

    signup.withBiometrics

    Signup with biometrics

    signup.withPassword

    Signup with password

    forgotPassword.title

    Forgot password

    forgotPassword.prompt

    Enter the email address associated with your account, and we’ll email you a link to reset your password.

    forgotPassword.prompt.phoneNumber

    Please enter the phone number associated with your account. We will text you a code to reset your password.

    forgotPassword.useEmailButton

    Use email address

    forgotPassword.usePhoneNumberButton

    Use phone number

    forgotPassword.backToLoginLink

    Back to Login

    forgotPassword.submitLabel

    Send reset link

    forgotPassword.submitLabel.code

    Send reset code

    forgotPassword.verificationCode

    Please enter the verification code we’ve sent to your phone, along with your new password.

    forgotPassword.successMessage

    An email containing a link to update your password has been sent to you.

    passwordless.intro

    Enter your email to sign in or create an account.

    passwordless.emailSent

    We sent you a link to sign in to your email.

    passwordless.sms.intro

    Enter your phone number to sign in or create an account.

    passwordless.email.verification.intro

    Please enter the verification code we sent to your email.

    passwordless.sms.verification.intro

    Please enter the verification code we sent to your phone.

    passwordReset.title

    Reset your password

    passwordReset.intro

    Please type your new password.

    passwordReset.successTitle

    Password updated

    passwordReset.successMessage

    Your password has been modified. Go back to login page to authenticate yourself.

    passwordReset.loginLink

    Login

    accountRecovery.title

    Recover your account

    accountRecovery.prompt

    Enter the email address associated with your account, and we will send you a link to reset your credentials.

    accountRecovery.submitLabel

    Send reset link

    accountRecovery.successMessage

    An email containing a link to reset your credentials has been sent to you.

    accountRecovery.backToLoginLink

    Back to Login

    accountRecovery.password.title

    Create your password

    accountRecovery.passkeyReset.title

    Create a new passkey

    accountRecovery.passkeyReset.successTitle

    Passkeys updated

    accountRecovery.passkeyReset.successMessage

    Your previous passkeys have been invalidated. You can remove them from your credential manager as well. You can go back to the Login page to authenticate yourself.

    accountRecovery.passkeyReset.loginLink

    Login

    accountRecovery.passkeyReset.intro

    Sign-in faster and safer with passkeys.

    accountRecovery.passkeyReset.subtitle1

    What are passkeys?

    accountRecovery.passkeyReset.legend1

    Passkeys are encrypted digital keys you create using your fingerprint, face, or screen lock.

    accountRecovery.passkeyReset.subtitle2

    Where are passkeys saved?

    accountRecovery.passkeyReset.legend2

    Passkeys are saved to your password manager, so you can sign in on other devices.

    accountRecovery.passkeyReset.button

    Continue

    emailEditor.intro

    Please enter your new email address

    emailEditor.successMessage

    Your request has been processed successfully. Please check now your mailbox: a verification email has been sent to it.

    emailEditor.successMessage

    Your request has been processed successfully. Please check now your mailbox: a verification email has been sent to it.

    phoneNumberEditor.intro

    Please enter your new phone number

    phoneNumberEditor.verification.intro

    Please enter the verification code we sent to your phone.

    socialAccounts.noLinkedAccount

    No linked third-party account

    socialAccounts.linkNewAccount

    Link new account

    webauthn.registredDevices.list

    List of registered devices

    webauthn.registredDevices.no.list

    No registered device

    webauthn.registredDevices.add

    Enter a device name below to add a device

    webauthn.registredDevices.confirm.removal

    Do you confirm that you want to remove the device?

    webauthn.registredDevices.createdAt

    Created at

    webauthn.registredDevices.lastUsedAt

    Last used at

    webauthn.friendly.name

    Device’s name

    passwordStrength.minimum.required

    The minimum required strength is

    passwordStrength.score0

    Very weak

    passwordStrength.score1

    Weak

    passwordStrength.score2

    Medium

    passwordStrength.score3

    Good

    passwordStrength.score4

    Excellent

    day

    Day

    month

    Month

    year

    Year

    january

    January

    february

    February

    march

    March

    april

    April

    may

    May

    june

    June

    july

    July

    august

    August

    september

    September

    october

    October

    november

    November

    december

    December

    dateFormat

    mm/dd/yyyy

    genders.male

    Male

    genders.female

    Female

    genders.other

    Other

    form.required.fields

    Required fields

    validation.birthdate.dayOfMonth

    The day doesn’t look right. Be sure to use a 2-digit number that is a day of the month.

    validation.birthdate.yearLimit

    Age must be between 6 and 129.

    validation.birthdate.year

    The year doesn’t look right. Be sure to use an actual date of birth with four digits.

    validation.required

    This field is required.

    validation.checked

    Please check the box to continue.

    validation.email

    This is not a valid email.

    validation.phone

    This is not a valid phone number.

    validation.identifier

    This is not a valid email or phone number.

    validation.integer

    This is not a valid integer.

    validation.float

    This is not a valid float number.

    validation.date

    This is not a valid date. The expected format is 'mm/dd/yyyy'

    validation.passwordMatch

    Passwords are not the same.

    validation.password.must.contain

    Your password must contain:

    validation.password.minLength

    At least {min} characters.

    validation.password.maxLength

    Please limit your password to a maximum of {max} characters.

    validation.password.minStrength

    Some of the most used words and names may be prohibited.

    validation.password.specials.characters

    At least one special character.

    validation.password.specials.lowercase

    At least one lowercase character.

    validation.password.specials.uppercase

    At least one uppercase character.

    validation.password.specials.digit

    At least one digit character.

    mfa.register.email

    Enable email 2FA

    mfa.verify.email

    Please enter the code you received by Email

    mfa.email.explain

    Use your email identifier as a 2FA

    mfa.email.explain.required

    Please activate your email as second factor to log in

    mfa.email.registered

    Email registered as 2FA

    mfa.phoneNumber.explain

    Use this phone number as a 2FA

    mfa.verify.sms

    Please enter the code you received by SMS

    mfa.phoneNumber.registered

    Phone number registered as 2FA

    mfa.register.phoneNumber

    Enable 2FA

    mfa.email.alreadyRegistered

    Email already registered as a 2FA

    mfa.stepUp.start

    Start a strong authentication

    mfa.stepUp.trustDevice

    Trust this device

    mfa.select.factor

    Please select your factor

    mfa.email.remove.explain

    Disable email second factor

    mfa.phoneNumber.remove.explain

    Disable phone number second factor

    mfa.remove.email

    Disable email second factor

    mfa.remove.phoneNumber

    Disable phone number as second factor

    mfa.email.removed

    Email as a second factor has been disabled

    mfa.phoneNumber.removed

    Phone number disabled as a second factor

    mfaList.noCredentials

    No credentials.

    mfaList.createdAt

    Created at

  • We updated the library we use to validate phone numbers to the latest version.

  • We removed the risk_score scope from our B.connect connector since it is no longer used by the provider.



Fixes

Item Fixed

ReachFive wasn’t correctly sending a code_verifier for B.connect authentication attempts.

When merging an SLO user account with a managed profile using a pre-event webhook, has_password was being inadvertently set to false.

ReachFive Console

The ReachFive Console API was using the incorrect operator NOT_IN instead of the correct NOT IN operator.

In some limited cases, the display URL (label) in ReachFive Console links was not showing custom domains as defined in client settings.