aist/authentication-middleware

PSR-7 Authentication Middleware

Maintainers

👁 aist

Package info

github.com/ma-si/authentication-middleware

pkg:composer/aist/authentication-middleware

Statistics

Installs: 34

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

dev-master 2018-01-17 18:52 UTC

BSD-3-Clause bc4f663ee76d5dd22a79bbe331f1c1cd7111b343

This package is not auto-updated.

Last update: 2026-06-21 12:44:36 UTC


README

👁 Build status
👁 Coverage Status
👁 Code Climate
👁 Sensio
👁 Packagist

👁 Minimum PHP Version
👁 License

PSR-7 Authentication Middleware.

Installation

Install via composer:

$ composer require aist/authentication-middleware

Configuration

Add configuration file

copy authentication-middleware.global.php.dist to authentication-middleware.global.php

// authentication-middleware.global.php.dist
return [
 'authentication-middleware' => [
 'identity_key' => 'identity',
 'default_redirect_route' => 'login',
 'success_redirect_route' => 'home',
 'success_role_redirect_route' => [
 'admin' => 'admin/dashboard',
 'user' => 'home',
 ],
 'whitelist' => [
 'login',
 'logout',
 ],
 ],
];

Register your own authentication adapter

by invokables

'invokables' => [
 'authentication.adapter' => \App\Authentication\Adapter\YourAdapter::class,
],

or by factories

'factories' => [
 'authentication.adapter' => \App\Authentication\Adapter\YourAdapterFactory::class,
],

Register your own login action

'factories' => [
 \Aist\AuthenticationMiddleware\Action\LoginAction::class => LoginFactory::class,
],

Register your own login form

'form_elements' => [
 'factories' => [
 'Aist\AuthenticationMiddleware\Form\LoginForm' => \App\Form\LoginCompanyFormFactory::class,
 ],
],

Add pipe

to protect whole app

// Add more middleware here that needs to introspect the routing results; this
// might include:
//
// - route-based authentication
// - route-based validation
// - etc.

// Authentication middleware
$app->pipe(\Aist\AuthenticationMiddleware\Middleware\AuthenticationMiddleware::class);

// Permission middleware
// At this point, if no identity is set by authentication middleware, the
// UnauthorizedHandler kicks in; alternately, you can provide other fallback
// middleware to execute.
//$app->pipe(\Aist\AuthorizationMiddleware\Middleware\UnauthorizedHandler::class);
// Authorization
$app->pipe(\Aist\AuthorizationMiddleware\Middleware\AuthorizationMiddleware::class);

or use for specific route

$app->get(
 '/',
 [
 \Aist\AuthenticationMiddleware\Middleware\AuthenticationMiddleware::class,
 \Aist\AuthorizationMiddleware\Middleware\AuthorizationMiddleware::class,
 App\Action\DashboardAction::class,
 ],
 'dashboard'
);

Add authentication routes

$app->route('/login', \Aist\AuthenticationMiddleware\Action\LoginAction::class, ['GET', 'POST'], 'login');
$app->get('/logout', Aist\AuthenticationMiddleware\Action\LogoutAction::class, 'logout');