X-Payments:Two-factor authentication

From X-Payments Help
Revision as of 02:11, 7 March 2016 by Dohtur (talk | contribs)
Jump to: navigation, search


Starting with X-Payments version 3.0, we have changed the system of user authentication in X-Payments.

In the previous versions of X-Payments, we already used an authentication method that depended on more than one "factor": to access the X-Payments back end, a user had to prove their identity by presenting two separate pieces of evidence - 1) a login and a password; 2) a PIN code. In X-Payments version 3.0, user authentication is still based on the two-factor model, but we have provided more options regarding the second component required for user identification. Instead of PIN codes, X-Payments now provides three methods which can be used to verify a user's identity after authenticating them via a login and a password:

  • authentication with the Google Authenticator application;
  • authentication via SMS/text messages (Twilio integration);
  • authentication via backup codes generated by X-Payments.

The authentication methods based on using the Google Authenticator app and SMS/text messages are primary methods; they can be used independently or alongside one another. Authentication with backup codes is a complementary method; it can be used as a fallback user authentication method if your primary method is unavailable for some reason.

So, if you have installed the latest version of X-Payments, or have upgraded to X-Payments version 3.0 (or later), the first time you will attempt to log in to X-Payments - right after entering your login and password - you will be required to choose a method for the 2nd step of user authentication that you would like to use:

Xp3 2step choose method.png

The available options here are user authentication with the Google Authenticator app and user authentication with SMS/text messages. To continue with the setup of the chosen method, click the Continue button. You will be directed to the method configuration page. To set up the chosen method for use with your X-Payments, follow the instructions below:

The authentication method you choose before your first login to X-Payments will be set as your preferred method for user verification. If you wish, later you will be able to set up an additional/alternative method of user authentication and, if necessary, change your preferred method.

After setting up your primary authentication method, we strongly recommend that you create a list of backup codes that will allow you access to X-Payments if the user authentication method(s) you normally use are not working:

Setting up user authentication with the Google Authenticator app

This authentication method is based on using the Google Authenticator application which you install on your phone. The application is connected to your X-Payments installation, after which it can generate one-time passwords that serve as the second piece of evidence to prove your identity after you have entered your X-Payments login and password.

To set up user authentication via the Google Authenticator app, follow these steps:

  1. Install the Google Authenticator app on your phone/mobile device. The installation instructions are available here.
  2. In the X-Payments back end, go to the configuration page for the authentication method based on using Google Authenticator (2-step authentication with Google Authenticator).
    Xp3 2step ga method config.png
    This page opens automatically after you select Google Authenticator as your preferred user authentication method when you log in to X-Payments for the first time. Also, you can access this page at any time using the "Google Authenticator app configure" link on your profile details page (Profile > View details):
    Xp3 2step ga configure link.png
  3. Sync the time on the device where you have installed the Google Authenticator app with the time in X-Payments. Never mind the time zone difference; it is only the minutes and seconds that need to be synchronized. The current time in X-Payments is displayed right on the 2-step authentication with Google Authenticator page:
    Xp3 2step ga method config1.png
  4. Add your X-Payments account to the Google Authenticator App. To do so, scan the QR code on the right-hand side of the 2-step authentication with Google Authenticator page:
    Xp3 2step ga method config2.png
    Or use the Secret code displayed below the QR code to manually register your X-Payments account in the Google Authenticator app:
    Xp3 2step ga method config3.png
  5. To test the configuration, enter a one-time password from your Google Authenticator application on the 2-step authentication with Google Authenticator page and click "Check":
    Xp3 2step ga check.png
    Note that the lifetime of a one-time password is one minute, and the same code cannot be used more than once.

Provided that the password from the Google Authenticator has been entered correctly, you should see a popup message saying that the authentication method has been configured successfully:

Xp3 2step ga check success0.png

Now user authentication via the Google Authenticator app is enabled and configured:

Xp3 2step ga configured.png

At the second step of user authentication, you can now use one-time passwords generated by the Google Authenticator app:

Xp3 2step ga auth.png

Setting up user authentication with SMS/text messages

This authentication method is based on using one-time passwords received via SMS/text messages. The service is provided by Twilio.

To set up user authentication via SMS/text messages, follow these steps:

  1. In the X-Payments back end, go to the configuration page for the user authentication method based on using SMS/text messages (SMS/Text message 2nd step verification).
    Xc3 2step twilio config.png
    This page opens automatically after you select SMS/text messages as your preferred user authentication method when you log in to X-Payments for the first time. Also, you can access this page at any time using the "SMS/Text message configure" link on your profile details page (Profile > View details):
    Xp3 2step sms configure link.png
    Note that in X-Payments Hosted this page looks differently (The title on the page is Setup phone number for SMS notifications). If you are using X-Payments Hosted, skip over to Step 3 of this procedure.
  2. (This step is required only if using the downloadable edition of X-Payments; not needed for X-Payments Hosted): Set up an account with Twilio. To access the registration form on the Twilio website, use the Twilio account page link:
    Xp3 2step twilio link s.png
    Once your Twilio account is set up, enter your Twilio account details in the Twilio Services setup section of the auth method configuration page in X-Payments. Click Save to save the changes:
    Xc3 2step sms method config0.png
    Provided that your Twilio account details have been added correctly, a new section will be added on the SMS/Text message 2nd step verification page allowing you to set up a phone number for SMS notifications:
    Xc3 2step sms method config.png
  3. Use the Phone number field in the Setup phone number for SMS notifications section of the SMS/Text message 2nd step verification page to enter a phone number that you would like to use to receive SMS/text messages with one-time passwords for the second step of user authentication. Click Save to save the changes.
    Xc3 2step sms phone add1.png
    The phone number will be saved, and a new message - "The phone number is not verified" - will be displayed:
    Xc3 2step sms phone add2.png
  4. Verify the phone number you have added:
    Click the Get code button:
    Xc3 2step sms phone verify1.png
    Once you do it, an SMS/text message with a one-time password for user authentication will be sent to your phone, and the Get code button will be replaced with a blank field for verification.
    Xc3 2step sms phone verify2.png
    After you receive the SMS/text message with a one-time password, type the one-time password you have received into the blank field that has appeared on the page in the place of the Get code button, then click the Verify button. If the password you entered is correct, a success message will be displayed:
    Xc3 2step sms phone verify3.png

Now user authentication via SMS/text messages is enabled and configured:

Xc3 2step sms configured.png

At the second step of user authentication, you can now use one-time passwords sent to your phone number:

Xc3 2step sms auth.png


Setting up user authentication with backup codes

We by all means recommend that you set up more than one method to verify your user identity. At the very least, you should create backup codes.


Setting up an additional/alternative method of user authentication

To be able to log in to X-Payments with 2-step user authentication, you are required to set up at least one user authentication method - Google Authenticator or SMS/text messages. However, choosing one method does not mean you may not use the other one. It is possible to configure your X-Payments so you can use authentication via Google Authenticator or authentication via SMS/text messages based on what is more convenient to you at the moment. To do so, after configuring your primary authentication method (for example, Google Authenticator), you should configure the other authentication method (in our case, authentication with SMS/text messages via Twilio) as an additional method. To access the configuration page for your additional authentication method, use the "configure" link on your profile details page (Profile > View details):

Xp3 2step sms configure link.png

Once both the authentication methods have been set up properly, you will be able to use any of them for the authentication of your user identity. The one-time passwords generated for your preferred and additional user authentication methods will be fully identical, which means you will be able to use a password generated by Google Authenticator when asked for a password from an SMS/text message, and vise versa.

Changing your preferred user authentication method

If you need to change your preferred user authentication method, you can access your authentication method settings from your profile details page:

File:Xp3 2step ga enabled configured0.png