SIM Binding Challenges
SIM Binding allows users to bind their device's SIM card to their REL-ID account for enhanced security and authentication. This process involves multiple phases:
PRE_SMS Sim Binding Flow
User Consent
SIM Details Collection
Auto Read SMS OTP verification
Account Confirmation/ User Selection
Auto Check User and Subsequent challenge will be triggered.
This diagram illustrates the SIM Binding flow with PRE_SMS, showing the interaction between USER, APP, and SDK.
sequenceDiagram
participant USER
participant APP
participant SDK
%% Step 1: SDK triggers user consent
SDK->>APP: onGetUserConsentForSimBinding(challengeOpMode, response, error)
APP->>USER: Show consent dialog/Screen
USER->>APP: Provide consent
APP->>SDK: setUserConsentForSimBinding(true, challengeOpMode)
%% Step 2: SDK requests for the required permissions internally
note left of SDK: User needs to allow the permissions to continue the sim binding flow.
%% Step 3: SDK requests user details
SDK->>APP: onGetUserDetailsForSimBinding(challengeOpMode, simDetails, response, error)
APP->>USER: Show SIM details input
USER->>APP: Provide SIM Slot and associated mobile number
APP->>SDK: setUserDetailsForSimBinding(simData, challengeOpMode)
%% Step 4: SDK auto-reads SMS OTP
SDK->>APP: getSMSOTP(String response)
APP->>SDK: Auto read and process OTP / trigger verification
%% Step 5: SDK requests user account confirmation
SDK->>APP: onGetUserAccountConfirmationForSimBinding(challengeOpMode, userIDList, response, error)
APP->>USER: Show account selection
USER->>APP: Select userID
APP->>SDK: setUserAccountConfirmationForSimBinding(selectedUserID, challengeOpMode)
%% Step 6: SIM Binding completed
SDK->>APP: SIM Binding completed
note left of SDK: Subsequent challenges (if any) will be triggered to App
POST_SMS Sim Binding Flow
User Consent
SIM Details Collection
Account Confirmation/ User Selection
Auto Read SMS OTP verification
Auto Check User and Subsequent challenge will be triggered.
SIM Binding Flow - POST_SMS
This diagram illustrates the SIM Binding flow with POST_SMS, showing the interaction between USER, APP, and SDK.
sequenceDiagram
participant USER
participant APP
participant SDK
%% Step 1: SDK triggers user consent
SDK->>APP: onGetUserConsentForSimBinding(challengeOpMode, response, error)
APP->>USER: Show consent dialog/Screen
USER->>APP: Provide consent
APP->>SDK: setUserConsentForSimBinding(true, challengeOpMode)
%% Step 2: SDK requests for the required permissions internally
note left of SDK: User needs to allow the permissions to continue the sim binding flow.
%% Step 3: SDK requests user details
SDK->>APP: onGetUserDetailsForSimBinding(challengeOpMode, simDetails, response, error)
APP->>USER: Show SIM details input
USER->>APP: Provide SIM Slot for the associated mobile (Applicable for Android)
APP->>SDK: setUserDetailsForSimBinding(simData, challengeOpMode)
%% Step 4: SDK requests user account confirmation
SDK->>APP: onGetUserAccountConfirmationForSimBinding(challengeOpMode, userIDList, response, error)
APP->>USER: Show account selection
USER->>APP: Select userID
APP->>SDK: setUserAccountConfirmationForSimBinding(selectedUserID, challengeOpMode)
%% Step 5: SDK auto-reads SMS OTP
SDK->>APP: getSMSOTP(String response)
APP->>SDK: Auto read and process OTP / trigger verification
%% Step 6: SIM Binding completed
SDK->>APP: SIM Binding completed
note left of SDK: Subsequent challenges (if any) will be triggered to AppUpdated about 1 month ago
