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
mobileToken
String
Mobile token provided by the platform.
✅
context
Context
Context of the application.
✅
Builder Methods
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