Building the SDK

Creating a CafSmartAuth SDK instance

In order to create a CafSmartAuth instance, you need to use the CafBuilder class. This class provides a set of methods to configure the SDK instance.

Builder Properties

Property
Type
Description
Required

mobileToken

String

Mobile token provided by the platform.

context

Context

Context of the application.

Builder Methods

Method
Type
Description
Required

setStage

CafStage

Defines the environment stage (e.g., PROD, BETA). Default is PROD.

setEmailUrl

String

Sets the email authentication URL. Must be HTTPS protocol.

setPhoneUrl

String

Sets the phone authentication URL. Must be HTTPS protocol.

setFaceAuthenticatorSettings

CafFaceAuthenticatorSettings

Sets the face liveness authentication settings.

setThemeConfigurator

CafTheme

Sets the theme configuration for the SDK. Customize appearance for light and dark modes.

Theme Configuration

To customize the appearance of the SDK, use the theme configurator methods. Two structures are used for theme configuration: CafThemeConfigurator and CafTheme.

CafThemeConfigurator

data class CafThemeConfigurator(
    val lightTheme: CafTheme = CafTheme(),
    val darkTheme: CafTheme = CafTheme(),
)

This structure allows you to define separate themes for light and dark modes. Each theme is defined by a CafTheme structure.

data class CafTheme(
    val backgroundColor: String = "#FFFFFF",
    val textColor: String = "#FF000000",
    val linkColor: String = "#004AF7",
    val boxBorderColor: String = "#004AF7",
    val boxBackgroundColor: String = "#0A004AF7",
    val boxTextColor: String = "#004AF7",
    val progressColor: String = "#004AF7",
)

This structure defines various appearance attributes for the SDK. You can customize colors for backgrounds, text, links, borders, and progress indicators by providing hex string values.

Example

    private fun setupCafFaceLiveness() {
        smartAuth = CafSmartAuth.CafBuilder("myMFAToken", this)
            .setStage(CafStage.PROD)
            .setEmailUrl("myEmailUrl") // Not mandatory
            .setPhoneUrl("myPhoneUrl") // Not mandatory
            .setFaceAuthenticatorSettings(
                CafFaceAuthenticatorSettings(
                    "myFaceAuthToken",
                    false,
                    true,
                    CafFilterStyle.LINE_DRAWING
                )
            )
            .setThemeConfigurator(
                CafThemeConfigurator(
                    lightTheme = CafTheme(
                        backgroundColor = "#FFFFFF",
                        textColor = "#FF000000",
                    )
                    darkTheme = CafTheme(
                        backgroundColor = "#FF000000",
                        textColor = "#FFFFFF",
                    )
                )
            )
            .build()
    }

Last updated