authy/php

PHP client for Authy

3.1.0-rc1 2019-01-10 17:31 UTC

README

Build Status

PHP Client for Twilio Authy Two-Factor Authentication (2FA) API

Documentation for PHP usage of the Authy API lives in the official Twilio documentation.

The Authy API supports multiple channels of 2FA:

  • One-time passwords via SMS and voice.
  • Soft token (TOTP via the Authy App)
  • Push authentication via the Authy App

If you only need SMS and Voice support for one-time passwords, we recommend using the Twilio Verify API instead. More on how to choose between Authy and Verify here.

Authy Quickstart

For a full tutorial, check out the PHP/Laravel Authy Quickstarts in our docs:

Authy PHP Installation

This library requires PHP 5.6+

Install with composer. The authy/php package is available on Packagist.

Include in your composer.json as follows:

{
    "require": {
        "authy/php": "3.0.5"
    }
}

Usage

To use the Authy client, import AuthyApiClient and initialize it with your production API Key found in the Twilio Console:

$authy_api = new Authy\AuthyApi('#your_api_key');

authy api key in console

2FA Workflow

  1. Create a user
  2. Send a one-time password
  3. Verify a one-time password

OR

  1. Create a user
  2. Send a push authentication
  3. Check a push authentication status

Phone Verification

Phone verification now lives in the Twilio API and has PHP support through the official Twilio helper libraries.

Legacy (V1) documentation here. Verify V1 is not recommended for new development. Please consider using Verify V2.

Contributing

You can use docker to run tests and develop locally without the need to install the dependencies directly in your machine:

git clone git@github.com:authy/authy-php.git
cd authy-php
make docker-build # Creates the docker image
make docker-deps  # Install dependencies (in the `vendor` directory)
make docker-test  # Runs the tests

To contribute, make your changes in a branch and send a Pull Request to the twilio/authy-php repo.

Copyright

Copyright (c) 2011-2020 Authy Inc. See LICENSE for further details.