smate/duo_php

There is no license information available for the latest version (v1.0) of this package.

A PHP implementation of the Duo Web SDK. With PHP 5.5 support

Installs: 4 468

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 37

Language:JavaScript

v1.0 2017-04-10 12:27 UTC

This package is not auto-updated.

Last update: 2024-05-11 23:41:19 UTC


README

duo_php - Duo two-factor authentication for PHP web applications: https://duo.com/docs/duoweb

This package allows a web developer to quickly add Duo's interactive, self-service, two-factor authentication to any web login form - without setting up secondary user accounts, directory synchronization, servers, or hardware.

Files located in the js directory should be hosted by your webserver for inclusion in web pages.

Deprecation

The duo_web.php file has been deprecated in favor of a PSR-4 (http://www.php-fig.org/psr/psr-4/) style package.

To update your code please make the following changes:

  • Install globally via composer as seen below
  • Change instances of Duo::signRequest to Duo\Web::signRequest
  • Change instances of Duo::verifyResponse to Duo\Web::verifyResponse

Installing

Development:

$ git clone https://github.com/duosecurity/duo_php.git
$ cd duo_php
$ composer install

System:

$ composer global require duosecurity/duo_php:dev-master

Or add the following to your project:

{
    "require": {
        "duosecurity/duo_php": "dev-master"
    }
}

Using

$ php -a -d auto_prepend_file=vendor/autoload.php
Interactive mode enabled

php > var_dump(Duo\Web::signRequest($ikey, $skey, $akey, $username));
string(202) "TX|...TX_SIGNATURE...==|...TX_HASH...:APP|...APP_SIGNATURE...==|...APP_HASH..."

Demo

First add an IKEY, SKEY, and HOST to demos/simple/index.php, then run the following:

$ php -S localhost:8080 -t demos/simple/

Test

$ ./vendor/bin/phpunit -c phpunit.xml
PHPUnit 5.3.2 by Sebastian Bergmann and contributors.

.............                                                     13 / 13 (100%)

Time: 62 ms, Memory: 6.00Mb

OK (13 tests, 13 assertions)

Lint

$ ./vendor/bin/phpcs --standard=PSR2 -n src/* tests/*

Support

Report any bugs, feature requests, etc. to us directly: support@duosecurity.com