Skip to main content

OTP Authentication

This document describes how to utilize the OTP Authentication in the BSA-JS

Function Description#

OTP Authentication can be used via mobile devices without an ID by following the steps below.
First, click OTP Authentication from the main screen of BSA app and then get the OTP code. Proceed on authentication by entering the OTP code.

OTP Authentication request#

When the user enters the OTP code to authenticate, the API call will be made with requestOtpCallback().
Push notification will be sent to the app, and the result will be returned through onSuccess if successfully authenticated.

requestOtpCallback(otpInput, successCallback, errCallback, codeSuccessCallback, codeErrCallback)

Parameter#

NameTypeDescription
otpInputElement<input/> element for user to enter the OTP code

Example#

<div>  <Input /></div>
const bsa = new BSA("{Client Key}");bsa.requestOtpCallback(otpInput, (data) => {  console.log('onSuccess');  console.log('accessToken : ', data.accessToken);  console.log('refreshToken : ', data.refreshToken);}, (errorCode, errorMsg) => {  console.log('onError');  console.log('errorCode : ', errorCode);  console.log('errorCode : ', errorMsg);}, () => {  console.log('onCodeSuccess');}, (errorCode, errorMsg) => {  console.log('onCodeError');  console.log('errorCode : ', errorCode);  console.log('errorCode : ', errorMsg);});

onSuccess#

KeyTypeDescription
accessTokenStringAccess Token
refreshTokenStringRefresh Token

The token will be returned if authentication succeeds, and it can be utilized for the BSA authentication.

onError#

KeyTypeDescription
errorCodeIntError code
errorMsgStringError message

If authentication fails, the error code and error message will be returned.
Possible error codes are as follows.

ErrorCodeDescriptionSolution
2000Invalid client keyCheck the client key
2008Unregistered userCheck BSA sign in status
3201Not properly linked clientAfter signing up for BSA, go through Menu => My BSA => Trusted Website => Site Link and connect with the client website
3301Unspecified client login typeError with specifying the client, contact the person in charge to solve this matter
5001Authentication timeoutMake request for authentication once again, because previous authentication is no longer valid
5005Unauthorized userContact the person in charge to solve this matter
5006Temporarily suspended userContact the person in charge to solve this matter
5007Permanently suspended userContact the person in charge to solve this matter
5008Withdrawn userUser accounts can be reactivated within certain period of time by reactivation
2010User authentication in-progressDepending on the circumstances, cancel previous authentication and request for new one
5011User authentication canceledMake request for re-authentication
5015Failed to create channelIt can occur when the parameters are not enough
If it happens constantly, please inquire the person in charge
5017Failed to send push notificationProblems have occurred with the FCM(Firebase Cloud Messaging), etc.
If it happens constantly, please inquire the person in charge
5022Verification failureNode verification failed
If it happens constantly, please inquire the person in charge

onCodeSuccess#

If the OTP code verification is successful, this function will be called.
It can have null value or can be omitted.

onCodeError#

KeyTypeDescription
errorCodeIntError code
errorMsgStringError message

If the OTP code verification fails, the error code and error message will be returned.
It can have null value or can be omitted.
Possible error codes are as follows.

ErrorCodeDescriptionSolution
2000Invalid client keyCheck the client key
3005OTP code verification failureMake request for re-verification
3201Not properly linked clientAfter signing up for BSA, go through Menu => My BSA => Trusted Website => Site Link and connect with the client website

Cancel OTP Authentication#

Authentication in progress will be canceled if requested. Users can request for authentication again any time.
If the cancel request is successful, 5011 errorCode will be returned. More in detail can be found in the onError

onOtpCancel(otpInput, errCallback)

Parameter#

NameTypeDescription
otpInputElement<input/> element for user to enter the OTP code

Example#

<div>  <Input /></div>
const bsa = new BSA("{Client Key}");gccs.onOtpCancel(otpInput, (errorCode, rtMsg) => {    console.log('onError');    console.log('errorCode : ', errorCode);    console.log('errorCode : ', errorMsg);});

onError#

KeyTypeDescription
errorCodeIntError code
errorMsgStringError message

If cancel request fails, the error code and error message will be returned. Possible error codes are like below.

ErrorCodeDescriptionSolution
3100Unregistered userCheck the user key requested
5019No authentication in progressAuthentication has been already canceled, or not in progress now

Set OTP Authentication Timer#

Add callback function to check valid OTP authentication time.
The remaining time for authentication will be displayed and if expired, the user should request for authentication again

setOtpTimer(onCallBack)

Parameter#

  • none

Example#

const bsa = new BSA("{Client Key}");bsa.setOtpTimer((time) => {    console.log('onTime');    console.log('time : ' + time);});

onTime#

KeyValueDescription
timeIntValid authentication time

Valid authentication time will be returned as the result of a callback function.


Set OTP Authentication Status#

Add callback function to check BSA authentication status.
It is possible to see the authentication status during the whole process from authentication request to the final authentication.

setOtpMessage(onCallBack)

Parameter#

  • none

Example#

const bsa = new BSA("{Client Key}");bsa.setOtpMessage((message) => {    console.log('onMessage');    console.log('AuthStatus : ' + message);});

onMessage#

KeyValueDescription
messageStringAuthentication status

Authentication status will be returned as the result of a callback function.