Menu

## AuthenticationChain
in package
implements AuthenticationChainContract Uses Microable, Containable

AuthenticationChain.php : 23

Authentication chain.

This class is responsible for managing the authentication backends in the application.

It will be run on every request to authenticate the user by the kernel

### Table of Contents

#### Interfaces

AuthenticationChainContract

#### Properties

$context : ContainerInterface|Container|null
  Application container context
$macros : array<string|int, mixed>
$application : PioniaApplication
$authentications : Arrayable

#### Methods

__call() : mixed
  Dynamically handle calls to the class.
__callStatic() : mixed
  Dynamically handle calls to the class.
__construct() : mixed
addAfter() : static
  Add an authentication after another
addAll() : $this
  Add multiple authentications at ago
addAuthenticationBackend() : static
  Adds an authentication backend to the chain
addBefore() : static
  Add an authentication backend before another
contextArrAdd() : void
contextHas() : bool
  Check if a value exists in the container
contextMake() : mixed
  Make an instance of a class from the container. This will throw an exception if the class is not found
contextMakeSilently() : mixed
  Create an instance of a class without throwing an exception when it fails
flushMacros() : void
  Remove all the macros we had registered
getAuthentications() : array<string|int, mixed>
  Get the authentications in chain
getOrDefault() : mixed
  Get a value from the container or return a default value
getOrFail() : mixed
  Get a value from the container or throw an exception.
getSilently() : mixed
  Get a value from the container or return null instead of throwing an exception
handle() : void
  Run the authentication chain on a request Fires the PreAuthRunEvent before running the chain and PostAuthRunEvent after running the chain
hasMacro() : bool
  Check if we have a method in the balonables
isAuthenticationContract() : bool
macro() : void
  Add a new mixable to the macros
mixin() : void
  Mix another object into the class.
next() : void
  Run the next authentication backend in the chain.
set() : static
  Set a value in the container
canRunOnCurrentService() : bool
run() : void

### Properties

#### $context

Containable.php : 25

Application container context

`public ContainerInterface|Container|null $context`

#### $macros

Microable.php : 14
`protected static array<string|int, mixed> $macros = []`

#### $application

AuthenticationChain.php : 29
`private PioniaApplication $application`

#### $authentications

AuthenticationChain.php : 27
`private Arrayable $authentications`

### Methods

#### __call()

Microable.php : 101

Dynamically handle calls to the class.

`public __call(string $method, array<string|int, mixed> $parameters) : mixed`

##### Parameters

$method : string
$parameters : array<string|int, mixed>

##### Tags

throws
  BadMethodCallException

#### __callStatic()

Microable.php : 75

Dynamically handle calls to the class.

`public static __callStatic(string $method, array<string|int, mixed> $parameters) : mixed`

##### Parameters

$method : string
$parameters : array<string|int, mixed>

##### Tags

throws
  BadMethodCallException

#### __construct()

AuthenticationChain.php : 31
`public __construct(PioniaApplication $application) : mixed`

##### Parameters

$application : PioniaApplication

#### addAfter()

AuthenticationChain.php : 77

Add an authentication after another

`public addAfter(string $authToPoint, string $authToAdd) : static`

##### Parameters

$authToPoint : string
$authToAdd : string

##### Return values

static

#### addAll()

AuthenticationChain.php : 100

Add multiple authentications at ago

`public addAll(array<string|int, mixed>|Arrayable $authentications) : $this`

##### Parameters

$authentications : array<string|int, mixed>|Arrayable

##### Return values

$this

#### addAuthenticationBackend()

AuthenticationChain.php : 45

Adds an authentication backend to the chain

`public addAuthenticationBackend(string $authenticationContract) : static`

##### Parameters

$authenticationContract : string

##### Return values

static

#### addBefore()

AuthenticationChain.php : 59

Add an authentication backend before another

`public addBefore(string $authToPoint, string $authToAdd) : static`

##### Parameters

$authToPoint : string
$authToAdd : string

##### Return values

static

#### contextArrAdd()

Containable.php : 117
`public contextArrAdd(string $contextKey, array<string|int, mixed> $dataToAdd) : void`

##### Parameters

$contextKey : string
$dataToAdd : array<string|int, mixed>

#### contextHas()

Containable.php : 33

Check if a value exists in the container

`public contextHas(string $key) : bool`

##### Parameters

$key : string

##### Return values

bool

#### contextMake()

Containable.php : 92

Make an instance of a class from the container. This will throw an exception if the class is not found

`public contextMake(string $name[, array<string|int, mixed> $parameters = [] ]) : mixed`

##### Parameters

$name : string
$parameters : array<string|int, mixed> = []

##### Tags

throws
  DependencyException
throws
  NotFoundException

#### contextMakeSilently()

Containable.php : 103

Create an instance of a class without throwing an exception when it fails

`public contextMakeSilently(string $name[, array<string|int, mixed> $parameters = [] ]) : mixed`

##### Parameters

$name : string
$parameters : array<string|int, mixed> = []

#### flushMacros()

Microable.php : 61

Remove all the macros we had registered

`public static flushMacros() : void`

#### getAuthentications()

AuthenticationChain.php : 54

Get the authentications in chain

`public getAuthentications() : array<string|int, mixed>`

##### Return values

array<string|int, mixed>

#### getOrDefault()

Containable.php : 65

Get a value from the container or return a default value

`public getOrDefault(string $key, mixed $default) : mixed`

##### Parameters

$key : string
$default : mixed

#### getOrFail()

Containable.php : 82

Get a value from the container or throw an exception.

`public getOrFail(string $key) : mixed`

##### Parameters

$key : string

##### Tags

see
  PioniaApplication::resolve()

  for similar functionality on the application instance

throws
  ContainerExceptionInterface
throws
  DependencyException
throws
  NotFoundException
throws
  NotFoundExceptionInterface

#### getSilently()

Containable.php : 50

Get a value from the container or return null instead of throwing an exception

`public getSilently(mixed $key) : mixed`

##### Parameters

$key : mixed

#### handle()

AuthenticationChain.php : 137

Run the authentication chain on a request Fires the PreAuthRunEvent before running the chain and PostAuthRunEvent after running the chain

`public handle(Request $request) : void`

##### Parameters

$request : Request

#### hasMacro()

Microable.php : 53

Check if we have a method in the balonables

`public static hasMacro(string $name) : bool`

##### Parameters

$name : string

##### Return values

bool

#### isAuthenticationContract()

AuthenticationChain.php : 40
`public isAuthenticationContract(string $authenticationContract) : bool`

##### Parameters

$authenticationContract : string

##### Return values

bool

#### macro()

Microable.php : 22

Add a new mixable to the macros

`public static macro(string $key, $value) : void`

##### Parameters

$key : string
$value :

#### mixin()

Microable.php : 35

Mix another object into the class.

`public static mixin(object $mixin[, bool $replace = true ]) : void`

##### Parameters

$mixin : object
$replace : bool = true

##### Tags

throws
  ReflectionException

#### next()

AuthenticationChain.php : 166

Run the next authentication backend in the chain.

`public next(Request $request, AuthenticationContract $next) : void`

##### Parameters

$request : Request
$next : AuthenticationContract

#### set()

Containable.php : 41

Set a value in the container

`public set(string $name, mixed $value) : static`

##### Parameters

$name : string
$value : mixed

##### Return values

static

#### canRunOnCurrentService()

AuthenticationChain.php : 150
`private canRunOnCurrentService(AuthenticationBackend $auth, string|null $currentService) : bool`

##### Parameters

$auth : AuthenticationBackend
$currentService : string|null

##### Return values

bool

#### run()

AuthenticationChain.php : 106
`private run(Request $request) : void`

##### Parameters

$request : Request

## Search results