User Activation

Activation Flow (User is not activated)

🧾 Description

This flow outlines the process of activating a user on a specific device. It is initiated when the user is in the created or reset state.

After the SDK is successfully initialized, the activation sequence begins based on the challenge information configured on the server. The SDK operates in one of the following Challenge Modes:

  • AUTO
  • SEMIAUTO
  • MANUAL
  • NA (Not Applicable)

The default mode is AUTO, but this can be configured via the REL-ID Gateway Manager.


⚙️ Challenge Modes (SDK_CHLNG_MODE)

ModeDescription
AUTOAutomatically logs in the last logged-in user without user intervention.
MANUALApplication receives a list of all remembered users (including the last logged-in user). The app can: - Auto-submit the last logged-in user - Present a dropdown of remembered users for selection
SEMIAUTOIf there is only one remembered user, SDK auto-submits the User ID.If multiple users are remembered, application is prompted similarly to MANUAL mode.
NASDK does not remember any logged-in users. The application must explicitly set the user via setUser() API.

🔄 SDK Flow After Initialization

  1. SDK initialization is completed.
  2. SDK invokes the getUser event.
  3. Based on SDK_CHLNG_MODE, the application must determine how to respond:
    • Automatically submit user ID.
    • Ask the user to choose from a list.
    • Set user manually.

✅ Developer Actions

After receiving the getUser event:

  • The application must invoke the setUser(userId) API with the appropriate user identifier.
  • The application must also invoke the setDeviceToken(token) API to register the device for receiving REL-ID notifications via:
    • APNS (iOS)
    • FCM (Android)
    • HCM (Huawei)

🔐 Next Steps

If the user is in the created or reset state, the SDK will automatically trigger the next configured challenge (e.g., IDV, OTP, Password setup) as per server-side configuration.



📦 Challenges for User Activation

Below is the list of challenges that can be configured for User Activation. Please check what challenges have been configured for your organization and implement the callbacks for handling them.

  1. OTP by email and sms
  2. SMS OTP
  3. EmailOTP
  4. National ID
  5. Document Scan
  6. Selfie Biometric
  7. Confirm Selfie Biometric
  8. KYC
  9. Biometric Opt In

📲 Events Issued by SDK During Activation Flow in PASSWORDLESS Mode

This section outlines the SDK events and the required application-side actions during the PASSWORDLESS activation flow.

EventApplication Steps
getUserApplication developer must invoke the setUser(userId) API.Once user verification is successful, the SDK issues the next configured event: either getActivationCode or a custom challenge like National ID.
getActivationCodeApplication must accept the activation code from the user and invoke setActivationCode(code).Then: - If the device supports TOUCH-ID / FINGERPRINT / FACE-ID / PATTERN, SDK triggers getUserConsentForLDA. - If not, SDK directly issues the getPassword event.
getUserConsentForLDAApplication must: - Obtain user consent via setUserConsentForLDA(consent). - If consent is positive, SDK prompts biometric/pattern auth. - If consent is negative, SDK issues the getPassword event. - On successful biometric submission, SDK issues onUserLoggedIn. - On failure, SDK falls back to getPassword.
getPasswordApplication must accept and submit the user's password using setPassword(password).After success, SDK issues onUserLoggedIn.
onUserLoggedInIndicates successful user login.User session and JWT token are now established for this session.