QR Authentication
This document describes how to utilize QR authentication in the BSA-JS
#
Function DescriptionQR Authentication can be used via mobile devices without an ID by following the steps below.
First, create a QR code implemented by bsa.js
and then click QR Authentication
on the main screen of BSA
app to activate the QR Scanner.
#
QR Authentication RequestWhen authentication is requested, API calls are made with requestQrCallback()
.
Upon the request of QR authentication, a QR code will be created on the <canvas/> tag
that has been set up with Guardian-JS
. The result will be returned with onSuccess
if successfully authenticated.
requestQrCallback(qrCanvas, successCallback, errCallback)
#
ParameterName | Type | Description |
---|---|---|
qrCanvas | Element | <canvas/> element to create BSA QR code |
#
Exampleconst bsa = new BSA("{Client Key}");bsa.requestQrCallback(qrCanvas, (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);});
#
onSuccessKey | Type | Description |
---|---|---|
accessToken | String | Access Token |
refreshToken | String | Refresh Token |
The token will be returned if authentication succeeds, and it can be utilized for the BSA authentication.
#
onErrorKey | Type | Description |
---|---|---|
errorCode | Int | Error code |
errorMsg | String | Error message |
If authentication fails, the error code and error message will be returned.
Possible error codes are as follows.
ErrorCode | Description | Solution |
---|---|---|
2000 | Invalid client key | Check the client key |
2008 | Unregistered user | Check BSA sign in status |
3201 | Not properly linked client | After signing up for BSA, go through Menu => My BSA => Trusted Website => Site Link and connect with the client website |
5001 | Authentication timeout | Make request for authentication once again, because previous authentication is no longer valid |
5005 | Unauthorized user | Contact the person in charge to solve this matter |
5006 | Temporarily suspended user | Contact the person in charge to solve this matter |
5007 | Permanently suspended user | Contact the person in charge to solve this matter |
5008 | Withdrawn user | User accounts can be reactivated within certain period of time by reactivation |
2010 | User authentication in-progress | Depending on the circumstances, cancel previous authentication and request for new one |
5011 | User authentication canceled | Make request for re-authentication |
5015 | Failed to create channel | It can occur when the parameters are not enough If it happens constantly, please inquire the person in charge |
5017 | Failed to send push notification | Problems have occurred with the FCM(Firebase Cloud Messaging), etc. If it happens constantly, please inquire the person in charge |
5022 | Verification failure | Node verification failed If it happens constantly, please inquire the person in charge |
5023 | Invalid QR ID | It can occur when the authentication has expired. In this case, re-authentication should be requested |
5024 | Invalid QR URL CLIENT | It can occur when the QR code was scanned through another app other than BSA. It must be scanned by BSA app only |
#
Cancel QR AuthenticationAuthentication 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
onQrCancel(qrCanvas, errCallback)
#
ParameterName | Type | Description |
---|---|---|
qrCanvas | Element | <canvas/> element to create BSA QR code |
#
Example<div> <canvas /></div>
const bsa = new BSA("{Client Key}");bsa.onQrCancel(qrCanvas, (errorCode, errorMsg) => { console.log('onError'); console.log('errorCode : ', errorCode); console.log('errorCode : ', errorMsg);});
#
onErrorKey | Type | Description |
---|---|---|
errorCode | Int | Error code |
errorMsg | String | Error message |
If cancel request fails, the error code and error message will be returned.
Possible error codes are like below.
ErrorCode | Description | Solution |
---|---|---|
3100 | Unregistered user | Check the user key requested |
5019 | No authentication in progress | Authentication has been already canceled, or not in progress now |
#
Set QR Authentication TimerAdd callback function to check valid BSA QR Authentication time.
The remaining time for authentication will be displayed and if expired, the user should request for authentication again.
setQrTimer(onCallBack)
#
Parameter- none
#
Exampleconst bsa = new BSA("{Client Key}");bsa.setQrTimer((time) => { console.log('onTime'); console.log('time : ' + time);});
#
onTimeKey | Value | Description |
---|---|---|
time | Int | Valid authentication time |
Valid authentication time will be returned as the result of a callback function.
#
Set QR Authentication StatusAdd 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.
setQrMessage(onCallBack)
#
Parameter- none
#
Exampleconst bsa = new BSA("{Client Key}");bsa.setQrMessage((message) => { console.log('onMessage'); console.log('AuthStatus : ' + message);});
#
onMessageKey | Value | Description |
---|---|---|
message | String | Authentication status |
Authentication status will be returned as the result of a callback function.