JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2
  • Score
    100M100P100Q50317F
  • License MIT

An embeddable Risk Based Authentication - Login & Transaction

Package Exports

  • rba-widget

Readme

RBA WIDGET WEB SDK

version npm package minimized gzipped size (select exports) downloads jsdelivr NPM

Risk Based Authentication - Login & Transaction

Overview

The RBA-widget is designed to provide a secure and efficient way to handle user authentication and transaction verification using risk-based analysis. It supports login and transaction processes with detailed logging and error handling.

Features

  • Risk-Based Authentication: Dynamically adjusts security measures based on the assessed risk level.
  • Login and Transaction Support: Handles both user login and transaction verification.
  • Detailed Logging: Provides comprehensive logs for actions and errors.
  • Configurable: Easily integrate and configure with your existing systems.

Installation :-

i). Install at HTML pages

  • Step 1: Be ready with HTML form and import the package
<script type="module">
   // import rba package
   import RBAWidget from 'https://cdn.jsdelivr.net/npm/rba-widget@1.0.0/+esm'
</script>
  • Step 2: Call RBAWidget function to get the risk based authentication service
   // form submission with RBAWidget for validating user
   RBAWidget({
      baseUrl: string,
      ipInfoToken:  string,
      type: string,
      userDetails: {
        email: string,
        password: string,
        accountId: string | null,
      },
      onMessage: (arg) => { }
   });

Note: If RBAWidget function is called in form, make sure you prevent default value.

Example :-

document.addEventListener("DOMContentLoaded", function () {
   document.getElementById("myForm").addEventListener("submit", function (event) {
      // Prevent the default form submission behavior
      event.preventDefault();
      ...
      // call widget
      RBAWidget({
         ...
      });
   }
}

ii). Install at package.json

  • Step 1: Be ready with terminal and install the package
npm install rba-widget 

or

yarn add rba-widget
  • Step 2: import RBAWidget and its types from the rba-widget package
import RBAWidget, { RBAWidgetProps, UserDetails, LogMessage } from 'rba-widget';
  • Step 3: Call RBAWidget function to get the risk based authentication service
   // form submission with RBAWidget for validating user
   RBAWidget({
      baseUrl: string,
      ipInfoToken:  string,
      type: string, // login | transaction
      userDetails: {
        email: string,
        password: string,
        accountId: string | null,
      },
      onMessage: (arg) => { 
        if(arg.code === 1) {
          // alert success
        } else if (arg.code === 0) {
          // alert failed
        } else {
          // observe the log messages
        }
      }
   });
Key Required value Description
baseUrl true string It is used call the back office server base URL.
ipInfoToken true string It is used to location details api at ipInfo.
type true string It is used send what type of method going to be used. only login or transaction is allowed
userDetails true object It is used to get the user details, given in the form.
onMessage true function It is used get the response with more details.

Types

type RBAWidgetProps = {
    baseUrl: string;
    ipInfoToken: string;
    type: "login" | "transaction";
    userDetails: UserDetails;
    onMessage: (arg: LogMessage) => void;
}

type UserDetails = {
    email: string;
    password: string;
    accountId?: string | null;
}

type LogMessage = {
    action: string;
    message: string;
    code: number;
    data?: unknown;
}

Logging

Use the onMessage callback to receive detailed logs about the operations. The logs include an action, message, code, and optional data.

Response Codes

The widget provides response codes to indicate the status of operations(check for code):

  • -1: Configuration error message
  • 0: Failed message
  • 1: Success message
  • 2: Information message