3.5 Implementing a custom 2FA mechanism

This topic describes the systematic instruction to Implementing a custom 2FA mechanism option.

  1. You will need to write your own Java class to implement your own custom factor of authentication.
  2. The class must be registered in the table DIGX_AU_AUTH_TYPE_MST. Choose a custom ID.

  3. The custom class must implement the interface.

    com.ofss.digx.framework.security.authentication.provider.I2FactorAuthenticationProvider

  4. To make your custom authenticator available as an option for administrator during two-factor authentication (2FA) setup for transactions, follow these steps:
    1. Identify the custom ID from Step 2 of the implementation process.
    2. Execute the following SQL query on the DIGX_CFG_CONFIG_ALL_B table to identify relevant configuration entries:

      select * from DIGX_CFG_CONFIG_ALL_B where prop_id like '%SUPPORTED_AUTH_TYPE%';

      Refer to the below attached screenshot for an example of the query and it’s results.
      Description of security26.png follows
      Description of the illustration security26.png

    3. For each entry returned by the query above, update the PROP_VALUE by appending your custom ID to the existing value. Separate the new value with a tilde (‘~’).

      Example: If the current value is OTP~R_SOFT_TOKEN~T_SOFT_TOKEN and your custom ID is CUSTOMAUTH, update the value to TP~R_SOFT_TOKEN~T_SOFT_TOKEN~CUSTOMAUTH.

      Sample SQL Update Statement:

      UPDATE DIGX_CFG_CONFIG_ALL_B SET PROP_VALUE = ‘OTP~R_SOFT_TOKEN~T_SOFT_TOKEN~CUSTOMAUTH' WHERE PROP_ID = 'authenticationConfig.SUPPORTED_AUTH_TYPE';