The Twilio Pincode Authenticator enables users without smartphones to perform passwordless authentication using a personal PIN for identification. On the Login screen, users select the Octopus Authenticator login method, type a username and press <Enter>. They then receive a voice call, during which they enter the PIN that was generated for them in the Octopus Management Console (in the Security tab of the user details). Upon providing the correct PIN followed by the pound key, users are logged into Windows or the User Portal.


The system architecture and authentication flow are illustrated in the following diagram.


SystemArchitectureDiagram.jpg


Prerequisites

The integration described in this document requires deployment of Octopus Authentication Server version 6.7.2 (or higher).


Configuring the Twilio Explore Console

The following sections describe how to perform the required configuration in the Twilio Explore Console:

Retrieving the Sync Service ID

Sync Services enable storage of data within Twilio. The service designated for Pincode Authentcation stores the PIN code entered by the user. You can create a new, dedicated service, or use an existing service.


To retrieve the Sync Service ID:

  1. From the Twilio Explore Console, use the search tool (Ctrl + F5) to search for Sync.

    Then, click the Sync link.

    TwilioSyncLink.png

  2. Navigate to Sync > Services. If desired, create a new Sync Service.

  3. Copy the SID of the relevant Sync Service. (In the example below, the Default Service is used.) Save the SID for use at a later stage of the configuration.

    ServiceSID.png

Creating the Twilio Function

A new Twilio function is required for handling storage of the user-entered PIN within the Twilio environment.


To create the Twilio storage function:

  1. From the Twilio Explore Console, search for Functions and Assets.

    Then, navigate to Functions (Classic) > List.

    FunctionsList.png

  2. To create a new function, click the blue Add icon. Then, in the New Function popup, click Create.

    CreateFunction.png

  3. Set up the function:

    1. Enter a meaningful name for the function (e.g., StorePIN).

    2. Enter a path (e.g., /store-pin). Then, copy the path and save it for configuration of the Function URL in the Octopus Management Console.

      CompleteFunction.png

    3. Select the Check for valid Twilio signature checkbox.

    4. Paste the function code provided in the attached code file.

    5. Click Save.

Adding Environment Variables

The final phase of setting up the Twilio Explore Console is creating environment variables that will be available to the storage function.


To add environment variables:

  1. Navigate to Functions (Classic) > Configure.

  2. Select the Enable ACCOUNT_SID and AUTH_TOKEN checkbox.

  3. Add the following environment variables:


    Key

    Value / Notes

    SYNC_SERVICE_SID

    The Sync Service ID that you saved earlier (Retrieving the Sync Service ID).

    CONFIRMATION_LANG

    The language of the message that users hear during the phone call. The default value is en-US. For a list of language codes, refer to the Twilio documentation.

    CONFIRMATION_TEXT

    Text for the confirmation message played after the user enters the pincode. The default value is Code submitted for verification. Thanks.


    EnvtVariables.png

  4. Click Save.

Configuring the Octopus Management Console

The following sections present procedures that are required to set up the Management Console to support Pincode Authentication:

The descriptions below provide summaries of the required configurations. For more information and full details, please refer to the Octopus Management Console Admin Guide.


Generating User PIN Codes

To successfully log in with Pincode Authentication, users must be provided with the PIN code that needs to be entered during the phone call.


To generate a PIN code for a user:

  1. From the Manage Users menu of the Octopus Management Console, expand the required directory. Then select the relevant user to open the user details.

  2. In the Personal tab, verify that the user's phone number is entered in the Telephone Number / Mobile field, or mapped to an Alias parameter.

  3. Open the Security tab. Under Voicecall Authentication PIN, click Generate PIN.

    The generated code is displayed in a popup window.

    PINCodeGenerated.png

  4. Copy the code and share it with the user.

If you encounter issues while generating the PIN, perform the following troubleshooting techniques and then try again:

  • Delete any existing authenticators or devices that the user has.

  • Unenroll the user.

Adding the Twilio Pincode Authenticator

The procedure below explains how to add and configure the Twilio plugin to support Pincode Authentication.

Before you begin, open the Account info section of your Twilio Console and copy the following settings:

  • Account SID

  • Auth Token

  • Twilio phone number

CopyAccountInfo.png

To add the Twilio Pincode Authenticator:

  1. From the System Settings menu of the Octopus Management Console, select the Authenticators tab and click Add Authenticator.

    The Add 3rd Party Authenticator dialog opens.

  2. Configure the following settings:

    • In the Authenticator Name field, enter a friendly name for the plugin.

    • From the Template dropdown list, select twilio_v2.

    • Under Methods, select the Pincode Authenticator checkbox.

  3. Under Auth Config, paste the Account SID and Auth Token that you copied earlier.

    AddTwilioPincodeAuth.png

  4. In the Pincode authentication config section, configure the following settings:


    Setting

    Value / Notes

    Caller Phone Number

    The phone number copied from your Twilio account.

    Instruction Message

    The text of the message that users hear during the call.

    No Input Message

    The message that is played when no user response is detected.

    Language

    The language of the messages. The default value is en-US. For a list of language codes, refer to the Twilio documentation.

    Input Timeout

    Duration (in seconds) to wait for input before ending the call.

    Sync Service ID

    SID of the Sync Service in Twilio (Retrieving the Sync Service ID).

    PIN Save Function URL

    The path of the Twilio storage function you created (Creating the Twilio Function).


    PincodeAuthConfigurationStgs.png

  5. To save the authenticator, click Add.

  6. Continue by assigning the authenticator to the relevant directories and configuring User Portal integration, as described in the Octopus Management Console Admin Guide.

Footer - Secret Double Octopus