### Start MFA Phone Number Registration Example Source: https://developer.reachfive.com/sdk-android/startMfaPhoneNumberRegistration.html Example of starting the MFA phone number registration flow with authentication token and phone number. Handles success and failure callbacks. ```kotlin import com.reach5.identity.sdk.core.models.AuthToken val authToken: AuthToken = // The authentication token obtained from login or signup. client.startMfaPhoneNumberRegistration( authToken = authToken, phoneNumber = "+33612345678", success = { _ -> ... }, // Do something failure = { error -> ... } // Handle a ReachFive error ) ``` -------------------------------- ### showAuth implementation example Source: https://developer.reachfive.com/sdk-ui/showAuth.html Example configuration for the authentication widget, including custom signup fields and theme settings. ```javascript // The SMS feature is disabled on the ReachFive account client.showAuth({ container: 'auth-container', auth: { redirectUri: 'https://example.com/auth-callback' }, allowForgotPassword: false, allowPhoneNumberResetPassword: false, allowAuthentMailPhone: true, initialScreen: 'login', redirectUrl: 'https://example-email-validate.com', signupFields: [ { key: 'given_name', label: 'Given name', required: false }, { key: 'family_name', label: 'Family name', required: false }, 'email', 'password', 'password_confirmation', 'consents.newsletter', 'custom_fields.loyalty_card_number', 'address.addressType', 'address.streetAddress', 'address.locality', 'address.postalCode', 'address.country' ], socialProviders: ['facebook', 'google'], showLabels: true, showRememberMe: true, countryCode: 'US', onReady: instance => { // Destroy the widget // if (...) instance.destroy() }, onSuccess: (event: SuccessEvent) => { console.log("Success!") }, onError: (error: ErrorResponse) => { console.error(error) }, theme: { primaryColor: '#274890', borderRadius: '25', socialButton: { inline: true } }, i18n: { email: 'Email' } }) ``` -------------------------------- ### Response Sample for Get Client Permissions Source: https://developer.reachfive.com/api/management.html Provides an example of the JSON array returned when fetching the list of available client permissions. ```json [ "read:consents", "manage:users", "manage:custom-fields-schema", "read:clients", "read:segments", "import:users", "export:facebook-likes", "read:users", "export:users", "read:facebook-likes", "read:user-events", "read:custom-fields-schema", "manage:clients", "manage:consents" ] ``` -------------------------------- ### showMfa Implementation Example Source: https://developer.reachfive.com/sdk-ui/showMfa.html A complete example showing how to initialize the MFA widget with custom theme settings and event handlers. ```javascript const accessToken = // Here paste the authorization token of the profile retrieved after login client.showMfa({ container: 'mfa-container', accessToken, showIntro: true, showRemoveMfaCredentials: true, onReady: instance => { // Destroy the widget // if (...) instance.destroy() }, onSuccess: (event: SuccessEvent) => { console.log("Success!") }, onError: (error: ErrorResponse) => { console.error(error) }, theme: { primaryColor: '#274890', borderRadius: '#374890' } }) ``` -------------------------------- ### Install Project Dependencies Source: https://developer.reachfive.com/sdk-core/index.html Installs all the necessary packages listed in the package.json file for the project to run. ```bash npm install ``` -------------------------------- ### Verify MFA Email Registration Example Source: https://developer.reachfive.com/sdk-android/verifyMfaEmailRegistration.html Implementation example showing how to handle success and failure callbacks. ```kotlin import com.reach5.identity.sdk.core.models.AuthToken val authToken: AuthToken = // The authentication token obtained from login or signup. client.verifyMfaEmailRegistration( authToken = authToken, verificationCode = "0123456", success = { _ -> ... }, // Do something failure = { error -> ... } // Handle a ReachFive error ) ``` -------------------------------- ### List WebAuthn Devices Example Source: https://developer.reachfive.com/sdk-core/listWebAuthnDevices.html Usage example for retrieving a list of device credentials using an access token. ```javascript client .listWebAuthnDevices('eyJ0eXAiOiJKV1QiL...') .then(deviceCredentials => { // Display the list of device credentials }) .catch(err => console.error(err)) ``` -------------------------------- ### Update email implementation example Source: https://developer.reachfive.com/sdk-android/updateEmail.html A practical implementation example showing the required parameters and callback handlers. ```kotlin import com.reach5.identity.sdk.core.models.AuthToken val authToken: AuthToken = // The authentication token obtained following signup or login. client.updateEmail( authToken = authToken, email = "johnatthan.doe@gmail.com", redirectUrl = "https://example-email-update.com" success = { updatedProfile -> ... }, // Get the updated profile failure = { error -> ... } // Handle a ReachFive error ) ``` -------------------------------- ### listTrustedDevices usage example Source: https://developer.reachfive.com/sdk-core/listTrustedDevices.html A basic example of calling the listTrustedDevices method with an access token string. ```javascript client.listTrustedDevices('eyJ0eXAiOiJKV1QiL...') ``` -------------------------------- ### Implement passwordless authentication examples Source: https://developer.reachfive.com/sdk-ui/showPasswordless.html Provides implementation examples for email and SMS-based passwordless authentication flows. ```javascript client.showPasswordless({ container: 'passwordless-container', showSocialLogins: true, socialProviders: ['facebook', 'google'], auth: { redirectUri: 'http://localhost:3000/local-sandbox/auth-callback' }, onReady: instance => { // Destroy the widget // if (...) instance.destroy() }, onSuccess: (event: SuccessEvent) => { console.log("Success!") }, onError: (error: ErrorResponse) => { console.error(error) }, theme: { primaryColor: '#274890', borderRadius: '25', socialButton: { inline: true } }, i18n: { 'passwordless.intro': 'Enter your email to sign in.' } }) ``` ```javascript client.showPasswordless({ container: 'passwordless-container', showSocialLogins: true, socialProviders: ['facebook', 'google'], authType: 'sms', countryCode: 'US', onReady: instance => { // Destroy the widget // if (...) instance.destroy() }, onSuccess: (event: SuccessEvent) => { console.log("Success!") }, onError: (error: ErrorResponse) => { console.error(error) }, theme: { primaryColor: '#274890', borderRadius: '25', socialButton: { inline: true } }, i18n: { 'passwordless.sms.intro': 'Enter your phone number to sign in.', } }) ``` -------------------------------- ### Load Social Providers Implementation Example Source: https://developer.reachfive.com/sdk-android/loadSocialProviders.html An example showing how to implement the success and failure callbacks when calling loadSocialProviders. ```kotlin client.loadSocialProviders( this, success = { providers -> /* update the providers you display */}, failure = { Log.d(TAG, "Loading providers failed ${it.message}") } ) ``` -------------------------------- ### showStepUp Implementation Example Source: https://developer.reachfive.com/sdk-ui/showStepUp.html Demonstrates initializing the Stepup widget with container, authentication, and event handling configurations. ```javascript const accessToken = // Here paste the authorization token of the profile retrieved after login client.showStepUp({ container: 'mfa-container', auth: { redirectUri: 'https://example.com/auth-callback' }, accessToken, onReady: instance => { // Destroy the widget // if (...) instance.destroy() }, onSuccess: (event: SuccessEvent) => { console.log("Success!") }, onError: (error: ErrorResponse) => { console.error(error) }, theme: { primaryColor: '#274890', borderRadius: '#374890' } }) ``` -------------------------------- ### Retrieve All Providers Source: https://developer.reachfive.com/sdk-ios/getProviders.html Call this method to get a list of all providers registered with your ReachFive client. Ensure the ReachFive client is initialized according to the SDK installation guide. ```swift AppDelegate.reachfive().getProviders() ``` ```swift import Reach5 let providers = AppDelegate.reachfive().getProviders() ``` -------------------------------- ### Signup with Request Implementation Source: https://developer.reachfive.com/sdk-ios/signupWithRequest.html An asynchronous example demonstrating how to handle the signup process and potential errors. ```Swift import Reach5 do { let authToken = try await AppDelegate.reachfive().signup(withRequest: PasskeySignupRequest(passkeyProfile: profile, friendlyName: username, anchor: window)) // Get the profile's authentication token } catch { // Return a ReachFive error } ``` -------------------------------- ### Example Filter: User ID starts with AX Source: https://developer.reachfive.com/docs/export-consent-logs.html Demonstrates the 'starts with' operator for filtering User IDs that begin with a specific string. Supports String. ```text User ID starts with AX ``` -------------------------------- ### Android SDK Social Login Example Source: https://developer.reachfive.com/sdk-android/loginWithProvider.html Example demonstrating how to log in a user with a social provider using the Android SDK. Requires provider setup and scope definition. ```kotlin import android.support.v7.app.AppCompatActivity import com.reach5.identity.sdk.core.ReachFive class MainActivity : AppCompatActivity() { // List the providers created on your ReachFive client val providers = ReachFive.getProviders()[0] // List of ReachFive scope values assigned to the user val scope = setOf("openid", "email", "profile", "phone_number", "offline_access", "events", "full_write") client.loginWithProvider(providers[0].name, scope, "home", this) } ``` -------------------------------- ### Signup User Example Source: https://developer.reachfive.com/sdk-core/signup.html Example of creating and authenticating a new user with provided data and a redirect URL. This is useful for initiating the user registration process. ```javascript client .signup({ data: { givenName: 'John', familyName: 'Doe', email: 'john.doe@example.com', password: 'N5uiKvve' }, redirectUrl: 'https://example-email-validate.com' }) .then(authResult => { // Retrieve the access token }) .catch(err => console.error(err)) ``` -------------------------------- ### Initiate MFA Registration Source: https://developer.reachfive.com/sdk-ios/mfaStart.html Examples for starting MFA registration using either an email address or a phone number. ```swift AppDelegate.reachfive() .mfaStart(.Email( redirectUri: "reachfive-${clientId}://callback"), authToken: profileAuthToken) ``` ```swift AppDelegate.reachfive() .mfaStart(.PhoneNumber( phoneNumber: "+3531235555"), authToken: profileAuthToken) ``` -------------------------------- ### startMfaEmailRegistration usage example Source: https://developer.reachfive.com/sdk-core/startMfaEmailRegistration.html Demonstrates a practical implementation of the method with an access token, redirect URL, and action. ```javascript client.startMfaEmailRegistration({ accessToken: 'eyJ0eXAiOiJKV1QiL...', redirectUrl: 'https://example.com/redirect', action: 'stepup' }) ``` -------------------------------- ### Get Consents with Pagination Source: https://developer.reachfive.com/openapi/management Retrieve a list of consents, paginated to show 10 items per page, starting from the second page. ```http GET https://YOUR_DOMAIN/api/v1/consents?page=2&count=10 ``` -------------------------------- ### signupWithWebAuthn implementation example Source: https://developer.reachfive.com/sdk-android/signupWithWebAuthn.html A concrete implementation showing the profile request object and callback handlers. ```kotlin private lateinit var webAuthnId: String client.signupWithWebAuthn( profile = ProfileWebAuthnSignupRequest( givenName = "John", familyName = "Doe", gender = "male", email = "john.doe@gmail.com" ), origin = "https://dev-sandbox-268508.web.app", friendlyName = "Nexus 5" success = { _ -> ... }, // Initial call success failure = { error -> ... }, // Handle a ReachFive error activity = activity ) ``` -------------------------------- ### Example of Verifying Email Source: https://developer.reachfive.com/sdk-core/verifyEmail.html An example demonstrating how to use the `verifyEmail` command with sample data. Ensure the `accessToken` is less than five minutes old and the profile has the `full_write` scope. ```javascript client.verifyEmail({ accessToken: 'eeJ1eXAiOiJKV1Qi...', email: 'first.last@example.com', verificationCode: '123456' }) ``` -------------------------------- ### Text Search Operator Examples Source: https://developer.reachfive.com/api/management.html Illustrates text search operators (CONTAINS, STARTS WITH, ENDS WITH) for partial matching in text fields. ```HTTP email CONTAINS "john" ``` ```HTTP email ENDS WITH "@gmail.com" ``` ```HTTP email STARTS WITH "john.doe" ``` -------------------------------- ### Blocked IPs API Response Source: https://developer.reachfive.com/release-notes/previous-years/2114.html Example response from the GET /api/v2/ips endpoint, providing a paginated list of blocked IP addresses and their expiration details. ```json { "total": 2, "items": [ { "ip" : "1.1.1.1", "report": { "expires": "2026-11-21T13:51:50Z", "created_at": "2026-11-25T13:51:50Z" } }, { "ip" : "2.2.2.2", "report": { "expires": "2026-11-21T13:51:50Z", "created_at": "2026-11-25T13:51:50Z" } } ] } ``` -------------------------------- ### showSocialLogin Implementation Example Source: https://developer.reachfive.com/sdk-ui/showSocialLogin.html Demonstrates a practical implementation of showSocialLogin with specific providers and event handlers for success, error, and readiness. ```javascript client.showSocialLogin({ container: 'social-login-container', socialProviders: ['facebook', 'google', 'linkedin', 'apple'], auth: { redirectUri: 'https://example.com/auth-callback' }, onReady: instance => { // Destroy the widget // if (...) instance.destroy() }, onSuccess: (event: SuccessEvent) => { console.log("Success!") }, onError: (error: ErrorResponse) => { console.error(error) }, }) ``` -------------------------------- ### Implement showMfaCredentials with Callbacks Source: https://developer.reachfive.com/sdk-ui/showMfaCredentials.html A complete implementation example including container selection, event callbacks, and theme customization. ```javascript const accessToken = // Here paste the authorization token of the profile retrieved after login client.showMfaCredentials({ container: 'mfa-container', accessToken, showRemoveMfaCredential: false, onReady: instance => { // Destroy the widget // if (...) instance.destroy() }, onSuccess: (event: SuccessEvent) => { console.log("Success!") }, onError: (error: ErrorResponse) => { console.error(error) }, theme: { primaryColor: '#274890', borderRadius: '#374890' } }) ``` -------------------------------- ### Get Client Permissions API Example Source: https://developer.reachfive.com/openapi/management Fetches the list of available client permissions. Requires `read:clients` authorization. The response is an array of permission strings. ```http GET /api/v1/clients/public/permissions HTTP/1.1 Host: YOUR_DOMAIN Authorization: Bearer {token} ``` -------------------------------- ### startMfaPhoneNumberRegistration Usage Example Source: https://developer.reachfive.com/sdk-core/startMfaPhoneNumberRegistration.html Demonstrates how to call the method with an access token, phone number, and action string. ```javascript client.startMfaPhoneNumberRegistration({ accessToken: 'eyJ0eXAiOiJKV1QiL...', phoneNumber: '+33606060606', action: 'stepup' }) ``` -------------------------------- ### Get Client Secret API Example Source: https://developer.reachfive.com/openapi/management Retrieve the secret for a specific client. Requires `manage:clients` authorization. The response contains the client secret value. ```http GET /api/v1/clients/{clientId}/client-secret HTTP/1.1 Host: YOUR_DOMAIN Authorization: Bearer {token} ``` -------------------------------- ### Filter Users by MFA Credentials Source: https://developer.reachfive.com/release-notes/previous-years/2123.html Use the GET api/v2/users endpoint with the 'filter' query parameter to retrieve users based on their MFA credentials. This example filters for users where the MFA credential type is 'email'. ```bash GET api/v2/users?filter=credentials.type=="email"Copy ``` -------------------------------- ### mfaStart Method Source: https://developer.reachfive.com/sdk-ios/mfaStart.html Initiates the MFA registration process for a user. ```APIDOC ## mfaStart ### Description Initiates the MFA registration process. Requires an authentication token and the credential type (Email or PhoneNumber) to register. ### Parameters #### Request Body - **authToken** (AuthToken) - Required - Authorization token of the profile retrieved from login. - **registering** (CredentialType) - Required - The credential type to register (.Email or .PhoneNumber). - **redirectUri** (string) - Optional - Required for .Email registration. - **phoneNumber** (string) - Optional - Required for .PhoneNumber registration. - **trustDevice** (boolean) - Optional - Indicates if the device should be trusted. - **action** (string) - Optional - A string describing the action for the MFA flow (e.g., 'login', 'transaction'). ### Response #### Success Response (200) - **MfaStartRegistrationResponse** - Returns the MFA credential item if verified, or ContinueRegistration if unverified. #### Error Response - **ReachFiveError** - Returns specific error types: AuthCanceled, RequestError, AuthFailure, or TechnicalError. ``` -------------------------------- ### Example JSONL Log Entry Source: https://developer.reachfive.com/docs/delete-users-bulk.html This is an example of a log entry in JSONL format, showing the level, content, and timestamp of a job event. It includes an error example. ```json {"Level":"LOG","Content":"Export profiles from beginning","Date":"2023-04-02T00:00:00.899Z"} {"Level":"LOG","Content":"Total profiles to export: 47","Date":"2023-04-02T00:00:01.296Z"} {"Level":"LOG","Content":"Uploading to path: /uploads/weekly-export.csv","Date":"2023-04-02T00:00:01.298Z"} {"Level":"ERROR","Content":"Error occurred: Invalid SFTP credentials.","Date":"2023-04-02T00:00:06.991Z"} ``` -------------------------------- ### login(withRequest) Implementation Example Source: https://developer.reachfive.com/sdk-ios/loginWithRequest.html An example of implementing the login flow with async/await, handling successful authentication and specific error cases like AuthCanceled. ```swift do { let loginFlow = try await AppDelegate.reachfive().login(withRequest: NativeLoginRequest(anchor: window), usingModalAuthorizationFor: [.Passkey, .Password, .SignInWithApple], display: .IfImmediatelyAvailableCredentials) // handle successful auth or MFA challenge } catch ReachFiveError.AuthCanceled { return // No credentials are available. If called at app launch, do nothing. If called in `viewDidAppear`, presents other options for the user to login. } catch { // Real failure. } ``` -------------------------------- ### Get a consent Source: https://developer.reachfive.com/api/management.html Get information about a consent, identified by its unique key. ```APIDOC ## Get a consent get /api/v1/consents/:key Server URL https://YOUR_DOMAIN/api/v1/consents/:key Get information about a consent, identified by its unique key. ##### Authorizations: OAuth2 (`read:consents`) ##### path Parameters key required | string [a-z][a-z0-9]*(_[a-z][a-z0-9]*)* Example: billeterieThe unique consent identifier in `snake_case`. ---|--- ##### query Parameters fields| Array of strings Example: fields=key,consent_type,versions,tags,statusFields to retrieve in the response for the consents API. Specifying a field retrieves **only** that field in the response. ---|--- ##### header Parameters Authorization required | string Bearer `{token}` for a valid OAuth token. ---|--- ### Responses **200** Returns the consent object ### Response samples * 200 Content type application/json Copy Expand all Collapse all { * "versions": [ * { * "version_id": 2, * "author_name": "auser@mailbox.com", * "translations": { * "fr": { * "description": "La newsletter billeterie (date d'ouvertures des ventes matchs, offres exclusives).", * "title": "Newsletter billeterie" }, * "en": { * "description": "Tickets newsletter (on-sale dates, special offers).", * "title": "Tickets newsletter" } } }, * { * "version_id": 1, * "author_name": "auser@mailbox.com", * "translations": { * "fr": { * "description": "La newsletter billeterie", * "title": "Newsletter billeterie" } } } ], * "status": "active", * "key": "billeterie", * "consent_type": "opt-in", * "tags": [ * "web", * "weekly" ] } ``` -------------------------------- ### application(_:didFinishLaunchingWithOptions:) Source: https://developer.reachfive.com/sdk-ios/application/applicationDidFinishLaunchingWithOptions.html Initializes the ReachFive iOS SDK by fetching client information and configuring providers. This method should be called in response to the equivalent UIKit method. ```APIDOC ## application(_:didFinishLaunchingWithOptions:) ### Description Allows ReachFive to initialize the iOS SDK, by fetching information from the server about the client (e.g., default scopes, enabled features) and initializing any configured providers. Call this method in response to the equivalent UIKit method `application(_:didFinishLaunchingWithOptions:)`. ### Parameters #### Path Parameters - **application** (UIApplication) - The UIKit Application instance. For more details, see Apple: UIApplication. - **launchOptions** ([UIApplication.LaunchOptionsKey: Any]?) - A dictionary indicating the reason the app was launched (if any). ### Request Example ```swift AppDelegate.reachfive().application(application, didFinishLaunchingWithOptions: launchOptions) ``` ### Response #### Success Response (200) This method returns a Boolean indicating whether the app successfully launched. ### Response Example ```swift return AppDelegate.reachfive().application(application, didFinishLaunchingWithOptions: launchOptions) ``` ``` -------------------------------- ### Initialize iOS SDK with Full Configuration and Social Providers Source: https://developer.reachfive.com/sdk-ios/index.html This example demonstrates a full initialization of the ReachFive SDK, including multiple social providers (Google, Facebook, WeChat) and essential application lifecycle methods. ```swift import UIKit import Reach5 import Reach5Facebook import Reach5Google import Reach5WeChat class AppDelegate: UIResponder, UIApplicationDelegate { let DOMAIN = "Here paste your ReachFive domain" // e.g. integ-sandbox-squad2.reach5.dev let CLIENT_ID = "Here paste your ReachFive client ID" // e.g. zhU43aRKZtzps551nvOM let reachfive = ReachFive( // The configuration parameters required to initialize the ReachFive client sdkConfig: SdkConfig(domain: DOMAIN, clientId: CLIENT_ID), // The list of the social providers needed by the application providersCreators: [GoogleProvider(), FacebookProvider(), WeChatProvider()] ) // Return the ReachFive client static func reachfive() → ReachFive { let app = UIApplication.shared.delegate as! AppDelegate return app.reachfive } func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) → Bool { reachfive.addPasswordlessCallback { // Check result and extract the authToken if the callback was successful, then continue your flow (for example redirect to the profile page) } // Initialize the ReachFive client return reachfive.application(application, didFinishLaunchingWithOptions: launchOptions) } func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) → Void) → Bool { reachfive.application(application, continue: userActivity, restorationHandler: restorationHandler) } func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) → Bool { reachfive.application(app, open: url, options: options) } func applicationDidBecomeActive(_ application: UIApplication) { reachfive.applicationDidBecomeActive(application) } } ``` -------------------------------- ### verifyPhoneNumber usage example Source: https://developer.reachfive.com/sdk-core/verifyPhoneNumber.html A practical example of calling verifyPhoneNumber with required parameters. ```javascript client.verifyPhoneNumber({ accessToken: 'eyJ0eXAiOiJKV1QiL...', phoneNumber: '+33606060606', verificationCode: '123456' }) ``` -------------------------------- ### Update Email Example Source: https://developer.reachfive.com/sdk-core/updateEmail.html A practical example of calling updateEmail with required parameters. ```javascript client.updateEmail({ accessToken: 'eyJ0eXAiOiJKV1QiL...', email: 'johnatthan.doe@gmail.com', captchaToken: 'pyJ0e9WiOimld1Qiqm', captchaProvider: 'recaptcha', redirectUrl: 'https://example-email-update.com' }) ``` -------------------------------- ### Signup form examples Source: https://developer.reachfive.com/docs/password-authentication/authenticate-with-password-sdk.html HTML form structures for different signup methods. ```html
``` ```html ``` ```html ``` -------------------------------- ### Valid Email Format Example Source: https://developer.reachfive.com/docs/email-address-management.html This is an example of a valid email address format. ```text name@email.com ``` -------------------------------- ### Example Social Email Source: https://developer.reachfive.com/docs/email-address-management.html This is an example of an email address provided by a social login. ```text alice.work@gmail.com ``` -------------------------------- ### Signup with email Source: https://developer.reachfive.com/sdk-android/signup.html Example of signing up a user using an email address, handling both successful login and pending verification states. ```kotlin import com.reach5.identity.sdk.core.ReachFive import com.reach5.identity.sdk.core.models.ProfileSignupRequest import com.reach5.identity.sdk.core.models.SignupResponse client.signup( profile = ProfileSignupRequest( givenName = "John", familyName = "Doe", gender = "male", email = "john.doe@gmail.com", customIdentifier = "coolCat55", password = "hjk90wxc" ), scope = listOf("openid", "profile", "email"), success = { response -> when (response) { is SignupResponse.AchievedLogin(authToken) -> { // Signup succeeded and the user is logged in // Handle authenticated session } is SignupResponse.AwaitingIdentifierVerification -> { // Signup succeeded but requires email verification before login // Prompt the user to verify their email } } }, failure = { error -> // Handle a ReachFive error } ) ``` -------------------------------- ### Example Primary Email Source: https://developer.reachfive.com/docs/email-address-management.html This is an example of a user's primary email address. ```text alice@example.com ``` -------------------------------- ### getPasswordStrength Usage Example Source: https://developer.reachfive.com/sdk-core/getPasswordStrength.html An example of calling the getPasswordStrength method and handling the returned promise. ```javascript client .getPasswordStrength(clientId,password) .then(PasswordStrength => { // Display strength of password }) .catch(err => console.error(err)) ``` -------------------------------- ### Example Social Email for Jack Source: https://developer.reachfive.com/docs/email-address-management.html This is an example of an email address provided by Facebook for Jack. ```text jack.fb@gmail.com ``` -------------------------------- ### Example Primary Email for Jack Source: https://developer.reachfive.com/docs/email-address-management.html This is an example of Jack's primary email address. ```text jack@example.com ``` -------------------------------- ### Initialize showTrustedDevices Source: https://developer.reachfive.com/sdk-ui/showTrustedDevices.html Basic structure for initializing the trusted devices widget with required and optional parameters. ```javascript client.showTrustedDevices({ container: HTMLElement|id, accessToken: string, showRemoveTrustedDevice: boolean, // Optional arguments theme: object, i18n: object, onSuccess: function, onError: function }) ```