rossriley/stack-basic-authentication

HTTP Basic Authentication Stack middleware

dev-master / 1.0.x-dev 2014-03-24 15:59 UTC

This package is not auto-updated.

Last update: 2024-11-09 15:17:37 UTC


README

A Stack middleware to enable HTTP Basic Authentication following the STACK-2 Authentication conventions.

Fork Information

Package forked from the original work here: https://packagist.org/packages/dflydev/stack-basic-authentication

This is an attempt to make it framework agnostic, since the original depends on Silex / Pimple

Installation

Through Composer as rossriley/stack-basic-authentication.

Usage

The BasicAuthentication middleware accepts the following options:

  • authenticator: (required) A callback used to ensure that the specified credentials are correct.
  • realm: The HTTP Basic Authentication realm as defined by RFC1945.
  • firewall: A firewall configuration compatible with dflydev/stack-firewall.
<?php

$authenticator = function ($username, $password) {
    // Given a username and password credentials, ensure that
    // the credentials are correct and return a token that
    // represents the user for this request.
    if ('admin' === $username && 'default' === $password) {
        return 'admin-user-token';
    }
};

$app = new Dflydev\Stack\BasicAuthentication($app, [
    'firewall' => [
        ['path' => '/', 'anonymous' => true],
        ['path' => '/login'],
    ],
    'authenticator' => $authenticator,
    'realm' => 'here there be dragons',
]);

Examples

See the examples/ directory for some live examples of this middleware in action.

License

MIT, see LICENSE.

Community

If you have questions or want to help out, join us in the #stackphp or #dflydev channels on irc.freenode.net.