2017-25 © Pedro Peláez
 

library auth

A shrimp of an authentication library

image

caridea/auth

A shrimp of an authentication library

  • Saturday, January 6, 2018
  • by doublecompile
  • Repository
  • 1 Watchers
  • 0 Stars
  • 542 Installations
  • PHP
  • 2 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 10 Versions
  • 1 % Grown

The README.md

caridea-auth

Caridea is a miniscule PHP application library. This shrimpy fellow is what you'd use when you just want some helping hands and not a full-blown framework., (*1)

, (*2)

This is its authentication component. It provides a way to authenticate principals and store their identity. It will broadcast authentication events for any listeners. It works with any implementation of PSR-7., (*3)

Included are three adapters for authentication through MongoDB, PDO, and X.509 client SSL certificates. You can easily write your own adapter for other authentication sources like IMAP, LDAP, or OAuth2., (*4)

Packagist Build Status Scrutinizer Code Quality Code Coverage, (*5)

Installation

You can install this library using Composer:, (*6)

$ composer require caridea/auth
  • The master branch (version 3.x) of this project requires PHP 7.1 and depends on caridea/event, caridea/session, psr/log, and psr/http-message.
  • Version 2.x of this project requires PHP 7.0 and depends on caridea/event, caridea/session, psr/log, and psr/http-message.
  • Version 1.x of this project requires PHP 5.5 and depends on caridea/event, caridea/session, psr/log, and psr/http-message.

Compliance

Releases of this library will conform to Semantic Versioning., (*7)

Our code is intended to comply with PSR-1, PSR-2, and PSR-4. If you find any issues related to standards compliance, please send a pull request!, (*8)

Documentation

Examples

Just a few quick examples., (*9)

Login

// Let's say $session is a \Caridea\Session\Session, such as \Caridea\Session\NativeSession
// Let's say $publisher is a \Caridea\Event\Publisher, such as \Caridea\Container\Objects
$service = new \Caridea\Auth\Service($session, $publisher);

// Let's say $collection is a \MongoCollection
$adapter = new \Caridea\Auth\Adapter\Mongo($collection, 'username', 'password');

// Let's say $request is a \Psr\Http\Message\RequestInterface
if ($service->login($request, $adapter)) {
    $principal = $service->getPrincipal();
    $username = $principal->getUsername();
    $details = $principal->getDetails());

    // $details = [
    //    'id' => '1234567890',
    //    'ua' => 'Mozilla/5.0',
    //    'ip' => '192.168.1.1'
    // ];
}

Upon login, Service will broadcast a Caridea\Auth\Event\Login if $publisher has been set., (*10)

Resume

// Let's say $session is a \Caridea\Session\Session, such as \Caridea\Session\NativeSession
// Let's say $publisher is a \Caridea\Event\Publisher, such as \Caridea\Container\Objects
$service = new \Caridea\Auth\Service($session, $publisher);

if ($service->resume()) {
    $principal = $service->getPrincipal();
}

Upon resume, Service will broadcast a Caridea\Auth\Event\Resume if $publisher has been set., (*11)

Logout

// Let's say $session is a \Caridea\Session\Session, such as \Caridea\Session\NativeSession
// Let's say $publisher is a \Caridea\Event\Publisher, such as \Caridea\Container\Objects
$service = new \Caridea\Auth\Service($session, $publisher);

// Let's say $collection is a \MongoCollection
$adapter = new \Caridea\Auth\Adapter\Mongo($collection, 'username', 'password');

if ($service->logout()) {
    // anonymous!
}

Upon login, Service will broadcast a Caridea\Auth\Event\Logout if $publisher has been set., (*12)

Login Timeout

A component has been included, the TimeoutListener which can be registered in a Caridea\Event\Publisher., (*13)

It listens for Caridea\Auth\Event\Resume and will log out a user if an authenticated session has either gone on too long or has been idle for too long., (*14)

The Versions

06/01 2018

dev-master

9999999-dev http://github.com/libreworks/caridea-auth

A shrimp of an authentication library

  Sources   Download

Apache-2.0

The Requires

 

The Development Requires

authentication auth authenticate

06/01 2018

3.0.0

3.0.0.0 http://github.com/libreworks/caridea-auth

A shrimp of an authentication library

  Sources   Download

Apache-2.0

The Requires

 

The Development Requires

authentication auth authenticate

08/11 2016

2.1.0

2.1.0.0 http://github.com/libreworks/caridea-auth

A shrimp of an authentication library

  Sources   Download

Apache-2.0

The Requires

 

The Development Requires

authentication auth authenticate

08/11 2016

2.1.x-dev

2.1.9999999.9999999-dev http://github.com/libreworks/caridea-auth

A shrimp of an authentication library

  Sources   Download

Apache-2.0

The Requires

 

The Development Requires

authentication auth authenticate

01/04 2016

2.0.1

2.0.1.0 http://github.com/libreworks/caridea-auth

A shrimp of an authentication library

  Sources   Download

Apache-2.0

The Requires

 

The Development Requires

authentication auth authenticate

01/04 2016

2.0.x-dev

2.0.9999999.9999999-dev http://github.com/libreworks/caridea-auth

A shrimp of an authentication library

  Sources   Download

Apache-2.0

The Requires

 

The Development Requires

authentication auth authenticate

23/03 2016

2.0.0

2.0.0.0 http://github.com/libreworks/caridea-auth

A shrimp of an authentication library

  Sources   Download

Apache-2.0

The Requires

 

The Development Requires

authentication auth authenticate

22/03 2016

1.x-dev

1.9999999.9999999.9999999-dev http://github.com/libreworks/caridea-auth

A shrimp of an authentication library

  Sources   Download

Apache-2.0

The Requires

 

The Development Requires

authentication auth authenticate

22/03 2016

1.0.0

1.0.0.0 http://github.com/libreworks/caridea-auth

A shrimp of an authentication library

  Sources   Download

Apache-2.0

The Requires

 

The Development Requires

authentication auth authenticate

03/06 2015

0.1.0

0.1.0.0 http://github.com/libreworks/caridea-auth

A shrimp of an authentication library

  Sources   Download

Apache-2.0

The Requires

 

authentication auth authenticate