Auth\AbstractAuthDispatcherListener
AbstractSource on GitHubShared enforcement algorithm for the Cli and Mvc auth dispatcher listeners. The dispatcher-specific subclass provides only the action name from its typed dispatcher, the action-kind label used in the access-denied exception, and (Mvc only) a forward handler for Access::redirectTo().
Phalcon\Auth\AbstractAuthDispatcherListener
Uses Phalcon\Auth\Exceptions\AccessDenied · Phalcon\Contracts\Auth\Manager
Method Summary
public__construct( Manager$manager )protectedboolenforce(string$actionName,mixed$forwardHandler = null)Runs the access check for the given action name. Returns true whenprotectedstringgetActionType()Returns the kind label used by AccessDenied (e.g. 'task',Properties
protectedManager$managerMethods
__construct()
public function __construct( Manager $manager );enforce()
protected function enforce(
string $actionName,
mixed $forwardHandler = null
): bool;Runs the access check for the given action name. Returns true when the dispatch should proceed, false when a forward was issued, and throws when access is denied without a redirect target.
getActionType()
abstract protected function getActionType(): string;Returns the kind label used by AccessDenied (e.g. ‘task’, ‘action’).
Auth\Access\AbstractAccess
AbstractSource on GitHubPhalcon\Auth\Access\AbstractAccess— implementsPhalcon\Contracts\Auth\Access\Access
Uses Phalcon\Contracts\Auth\Access\Access · Phalcon\Contracts\Auth\Manager
Method Summary
public__construct( Manager$manager )publicarraygetExceptActions()publicarraygetOnlyActions()publicboolisAllowed( string$actionName )publicarray|nullredirectTo()publicvoidsetExceptActions( array$exceptActions = [] )publicvoidsetOnlyActions( array$onlyActions = [] )Properties
protectedarray$exceptActions = []protectedManager$managerprotectedarray$onlyActions = []Methods
__construct()
public function __construct( Manager $manager );getExceptActions()
public function getExceptActions(): array;getOnlyActions()
public function getOnlyActions(): array;isAllowed()
public function isAllowed( string $actionName ): bool;redirectTo()
public function redirectTo(): array|null;setExceptActions()
public function setExceptActions( array $exceptActions = [] ): void;setOnlyActions()
public function setOnlyActions( array $onlyActions = [] ): void;Auth\Access\AccessLocator
ClassSource on GitHubService locator for Phalcon\Auth access gates. Utilizes the container to obtain the service. For the Phalcon\Container\Container one can use autowiring. For the Phalcon\Di\Di, one needs to register the gates in it to be used here.
@extends AbstractLocator<Access>
Phalcon\Support\AbstractLocatorPhalcon\Auth\Access\AccessLocator
Uses Phalcon\Contracts\Auth\Access\Access · Phalcon\Support\AbstractLocator
Method Summary
Methods
getExceptionClass()
protected function getExceptionClass(): string;getInterfaceClass()
protected function getInterfaceClass(): string;getServices()
protected function getServices(): array;Auth\Access\Auth
ClassSource on GitHubThis file is part of the Phalcon Framework.
(c) Phalcon Team <[email protected]>
For the full copyright and license information, please view the LICENSE.txt file that was distributed with this source code.
Implementation of this file has been influenced by sinbadxiii/cphalcon-auth @link https://github.com/sinbadxiii/cphalcon-auth
Phalcon\Auth\Access\AbstractAccessPhalcon\Auth\Access\Auth
Method Summary
Methods
allowedIf()
public function allowedIf(): bool;Auth\Access\Guest
ClassSource on GitHubThis file is part of the Phalcon Framework.
(c) Phalcon Team <[email protected]>
For the full copyright and license information, please view the LICENSE.txt file that was distributed with this source code.
Implementation of this file has been influenced by sinbadxiii/cphalcon-auth @link https://github.com/sinbadxiii/cphalcon-auth
Phalcon\Auth\Access\AbstractAccessPhalcon\Auth\Access\Guest
Method Summary
Methods
allowedIf()
public function allowedIf(): bool;Auth\Adapter\AbstractAdapter
AbstractSource on GitHub@template TConfig of AdapterConfig
Phalcon\Auth\Adapter\AbstractAdapter— implementsPhalcon\Contracts\Auth\Adapter\Adapter
Uses Phalcon\Contracts\Auth\Adapter\Adapter · Phalcon\Contracts\Auth\Adapter\AdapterConfig · Phalcon\Contracts\Auth\AuthUser · Phalcon\Contracts\Encryption\Security\Security
Method Summary
public__construct(Security$hasher,AdapterConfig$config)publicAdapterConfiggetConfig()Returns the adapter configuration object.publicstring|nullgetModel()Returns the model class name, if configured.publicboolvalidateCredentials(AuthUser$user,array$credentials)Validates the supplied plaintext password against the user's stored hash.Properties
protectedAdapterConfig$configprotectedSecurity$hasherMethods
__construct()
public function __construct(
Security $hasher,
AdapterConfig $config
);getConfig()
public function getConfig(): AdapterConfig;Returns the adapter configuration object.
getModel()
public function getModel(): string|null;Returns the model class name, if configured.
validateCredentials()
public function validateCredentials(
AuthUser $user,
array $credentials
): bool;Validates the supplied plaintext password against the user’s stored hash. Concrete adapters share this implementation; if your data source needs a different verification strategy, override it.
Auth\Adapter\AbstractArrayAdapter
AbstractSource on GitHubCommon base for adapters whose user records come from an in-memory list (Memory and Stream). Subclasses provide the row source via loadUsers(); everything else - credentials matching, hydration, the empty-credentials guard, and a default linear retrieveById - is shared here.
@template TConfig of AdapterConfig @extends AbstractAdapter<TConfig>
Phalcon\Auth\Adapter\AbstractAdapterPhalcon\Auth\Adapter\AbstractArrayAdapter
Uses Phalcon\Auth\AuthUser · Phalcon\Contracts\Auth\Adapter\AdapterConfig · Phalcon\Contracts\Auth\AuthUser
Method Summary
publicAuthUserContract|nullretrieveByCredentials( array$credentials )Walks the user list and returns the first row whose non-'password'publicAuthUserContract|nullretrieveById( mixed$id )Default linear-scan implementation. Memory overrides this for an O(1)protectedboolhasIdentifyingField( array$credentials )Tests whether a credentials payload carries at least one identifyingprotectedAuthUserContracthydrate( array$row )Hydrates a raw user row into either the configured model class or aprotectedarrayloadUsers()Returns the source list of user rows. Concrete subclasses decideprotectedboolmatchesRow(array$row,array$credentials)Strict per-key match of a row against credentials, skipping 'password'.Methods
retrieveByCredentials()
public function retrieveByCredentials( array $credentials ): AuthUserContract|null;Walks the user list and returns the first row whose non-‘password’ keys all match strictly. Returns null when no row matches or when $credentials carries no identifying field at all (only ‘password’, or empty) - protects callers from the silent “first row wins” footgun.
retrieveById()
public function retrieveById( mixed $id ): AuthUserContract|null;Default linear-scan implementation. Memory overrides this for an O(1) id-keyed lookup; Stream uses this as-is.
hasIdentifyingField()
protected function hasIdentifyingField( array $credentials ): bool;Tests whether a credentials payload carries at least one identifying field (i.e. anything other than ‘password’). An empty payload - or a payload that only contains ‘password’ - is treated as “no lookup”.
hydrate()
protected function hydrate( array $row ): AuthUserContract;Hydrates a raw user row into either the configured model class or a Phalcon\Auth\AuthUser value object.
loadUsers()
abstract protected function loadUsers(): array;Returns the source list of user rows. Concrete subclasses decide where they come from (config array, JSON file, etc.).
matchesRow()
protected function matchesRow(
array $row,
array $credentials
): bool;Strict per-key match of a row against credentials, skipping ‘password’.
Auth\Adapter\AdapterLocator
ClassSource on GitHubService locator for Phalcon\Auth adapters. Utilizes the container to obtain the service. For the Phalcon\Container\Container one can use autowiring. For the Phalcon\Di\Di, one needs to register the gates in it to be used here.
@extends AbstractLocator<Adapter>
Phalcon\Support\AbstractLocatorPhalcon\Auth\Adapter\AdapterLocator
Uses Phalcon\Contracts\Auth\Adapter\Adapter · Phalcon\Support\AbstractLocator
Method Summary
Methods
getExceptionClass()
protected function getExceptionClass(): string;getInterfaceClass()
protected function getInterfaceClass(): string;getServices()
protected function getServices(): array;Auth\Adapter\Config\AbstractAdapterConfig
AbstractSource on GitHubThis file is part of the Phalcon Framework.
(c) Phalcon Team <[email protected]>
For the full copyright and license information, please view the LICENSE.txt file that was distributed with this source code.
Implementation of this file has been influenced by sinbadxiii/cphalcon-auth @link https://github.com/sinbadxiii/cphalcon-auth
Phalcon\Auth\Adapter\Config\AbstractAdapterConfig— implementsPhalcon\Contracts\Auth\Adapter\AdapterConfig
Uses Phalcon\Contracts\Auth\Adapter\AdapterConfig
Method Summary
Properties
protectedstring|null$model = nullMethods
__construct()
public function __construct( string $model = null );getModel()
public function getModel(): string|null;Auth\Adapter\Config\MemoryAdapterConfig
ClassSource on GitHubPhalcon\Auth\Adapter\Config\AbstractAdapterConfigPhalcon\Auth\Adapter\Config\MemoryAdapterConfig
Method Summary
Properties
protectedarray$users = []Methods
__construct()
public function __construct(
array $users = [],
string $model = null
);getUsers()
public function getUsers(): array;Auth\Adapter\Config\ModelAdapterConfig
ClassSource on GitHubThis file is part of the Phalcon Framework.
(c) Phalcon Team <[email protected]>
For the full copyright and license information, please view the LICENSE.txt file that was distributed with this source code.
Implementation of this file has been influenced by sinbadxiii/cphalcon-auth @link https://github.com/sinbadxiii/cphalcon-auth
Phalcon\Auth\Adapter\Config\AbstractAdapterConfigPhalcon\Auth\Adapter\Config\ModelAdapterConfig
Uses Phalcon\Auth\Exception · Phalcon\Auth\Exceptions\ConfigRequiresNonEmptyValue
Method Summary
public__construct(string$model,string$idColumn = "id")publicstringgetIdColumn()publicstringgetModel()Properties
protectedstring$idColumn = "id"Methods
__construct()
public function __construct(
string $model,
string $idColumn = "id"
);getIdColumn()
public function getIdColumn(): string;getModel()
public function getModel(): string;Auth\Adapter\Config\StreamAdapterConfig
ClassSource on GitHubThis file is part of the Phalcon Framework.
(c) Phalcon Team <[email protected]>
For the full copyright and license information, please view the LICENSE.txt file that was distributed with this source code.
Implementation of this file has been influenced by sinbadxiii/cphalcon-auth @link https://github.com/sinbadxiii/cphalcon-auth
Phalcon\Auth\Adapter\Config\AbstractAdapterConfigPhalcon\Auth\Adapter\Config\StreamAdapterConfig
Uses Phalcon\Auth\Exception · Phalcon\Auth\Exceptions\ConfigRequiresNonEmptyValue
Method Summary
Properties
protectedstring$fileMethods
__construct()
public function __construct(
string $file,
string $model = null
);getFile()
public function getFile(): string;Auth\Adapter\Memory
ClassSource on GitHubIn-memory adapter - useful for tests and small read-only user lists.
@extends AbstractArrayAdapter<MemoryAdapterConfig>
Phalcon\Auth\Adapter\AbstractAdapterPhalcon\Auth\Adapter\AbstractArrayAdapterPhalcon\Auth\Adapter\Memory
Uses Phalcon\Auth\Adapter\Config\MemoryAdapterConfig · Phalcon\Auth\Internal\Options · Phalcon\Contracts\Auth\AuthUser · Phalcon\Contracts\Encryption\Security\Security
Method Summary
public__construct(Security$hasher,MemoryAdapterConfig$config)publicstaticfromOptions(Security$hasher,array$options)publicAuthUser|nullretrieveById( mixed$id )Overridden for O(1) lookup via the id index built in the constructor.protectedarrayloadUsers()Methods
__construct()
public function __construct(
Security $hasher,
MemoryAdapterConfig $config
);fromOptions()
public static function fromOptions(
Security $hasher,
array $options
): static;retrieveById()
public function retrieveById( mixed $id ): AuthUser|null;Overridden for O(1) lookup via the id index built in the constructor.
loadUsers()
protected function loadUsers(): array;Auth\Adapter\Model
ClassSource on GitHubPhalcon Model-backed adapter.
@extends AbstractAdapter<ModelAdapterConfig>
Phalcon\Auth\Adapter\AbstractAdapterPhalcon\Auth\Adapter\Model— implementsPhalcon\Contracts\Auth\Adapter\RememberAdapter
Uses Phalcon\Auth\Adapter\Config\ModelAdapterConfig · Phalcon\Auth\Exception · Phalcon\Auth\Exceptions\DoesNotImplement · Phalcon\Auth\Internal\Options · Phalcon\Contracts\Auth\Adapter\RememberAdapter · Phalcon\Contracts\Auth\AuthRemember · Phalcon\Contracts\Auth\AuthUser · Phalcon\Contracts\Auth\RememberToken · Phalcon\Contracts\Encryption\Security\Security · Phalcon\Mvc\ModelInterface
Method Summary
public__construct(Security$hasher,ModelAdapterConfig$config)publicRememberTokencreateRememberToken( AuthUser$user )Create and persist a new remember token for the user.publicstaticfromOptions(Security$hasher,array$options)publicAuthUser|nullretrieveByCredentials( array$credentials )Find a user matching the given credentials (excluding 'password' key).publicAuthUser|nullretrieveById( mixed$id )publicAuthUser|nullretrieveByToken(mixed$id,string$token,string$userAgent = null)Retrieve a user by the remember-me cookie payload.Methods
__construct()
public function __construct(
Security $hasher,
ModelAdapterConfig $config
);createRememberToken()
public function createRememberToken( AuthUser $user ): RememberToken;Create and persist a new remember token for the user.
fromOptions()
public static function fromOptions(
Security $hasher,
array $options
): static;retrieveByCredentials()
public function retrieveByCredentials( array $credentials ): AuthUser|null;Find a user matching the given credentials (excluding ‘password’ key).
retrieveById()
public function retrieveById( mixed $id ): AuthUser|null;retrieveByToken()
public function retrieveByToken(
mixed $id,
string $token,
string $userAgent = null
): AuthUser|null;Retrieve a user by the remember-me cookie payload.
Auth\Adapter\Stream
ClassSource on GitHubJSON file-backed adapter.
The file must contain a JSON array of user records: [{“id”:1,“email”:“a@b”,“password”:“<hashed>”}, …]
@extends AbstractArrayAdapter<StreamAdapterConfig>
Phalcon\Auth\Adapter\AbstractAdapterPhalcon\Auth\Adapter\AbstractArrayAdapterPhalcon\Auth\Adapter\Stream
Uses InvalidArgumentException · Phalcon\Auth\Adapter\Config\StreamAdapterConfig · Phalcon\Auth\Exception · Phalcon\Auth\Exceptions\FileCannotRead · Phalcon\Auth\Exceptions\FileDoesNotContainJson · Phalcon\Auth\Exceptions\FileDoesNotExist · Phalcon\Auth\Exceptions\FileNotValidJson · Phalcon\Auth\Internal\Options · Phalcon\Contracts\Encryption\Security\Security · Phalcon\Support\Helper\Json\Decode
Method Summary
public__construct(Security$hasher,StreamAdapterConfig$config)publicstaticfromOptions(Security$hasher,array$options)protectedarrayloadUsers()Loads and decodes the JSON users file. Re-read on every call - if youprotectedboolphpFileExists( string$filename )protectedphpFileGetContents( string$filename )Methods
__construct()
public function __construct(
Security $hasher,
StreamAdapterConfig $config
);fromOptions()
public static function fromOptions(
Security $hasher,
array $options
): static;loadUsers()
protected function loadUsers(): array;Loads and decodes the JSON users file. Re-read on every call - if you need caching, wrap it.
phpFileExists()
protected function phpFileExists( string $filename ): bool;phpFileGetContents()
protected function phpFileGetContents( string $filename );Auth\AuthUser
ClassSource on GitHubLightweight value object returned by array-backed adapters (Memory, Stream) when no application model class is configured.
Phalcon\Auth\AuthUser— implementsPhalcon\Contracts\Auth\AuthUser
Uses Phalcon\Auth\Exceptions\DataMustContainIdKey · Phalcon\Contracts\Auth\AuthUser
Method Summary
public__construct( array$data )publicint|stringgetAuthIdentifier()publicstringgetAuthPassword()publicarraytoArray()Returns the underlying data array.Properties
protectedarray$dataMethods
__construct()
public function __construct( array $data );getAuthIdentifier()
public function getAuthIdentifier(): int|string;getAuthPassword()
public function getAuthPassword(): string;toArray()
public function toArray(): array;Returns the underlying data array.
Auth\Cli\AuthDispatcherListener
ClassSource on GitHubThis file is part of the Phalcon Framework.
(c) Phalcon Team <[email protected]>
For the full copyright and license information, please view the LICENSE.txt file that was distributed with this source code.
Implementation of this file has been influenced by sinbadxiii/cphalcon-auth @link https://github.com/sinbadxiii/cphalcon-auth
Phalcon\Auth\AbstractAuthDispatcherListenerPhalcon\Auth\Cli\AuthDispatcherListener
Uses Phalcon\Auth\AbstractAuthDispatcherListener · Phalcon\Auth\Exception · Phalcon\Cli\Dispatcher · Phalcon\Events\Event
Method Summary
Methods
beforeExecuteRoute()
public function beforeExecuteRoute(
Event $event,
Dispatcher $dispatcher
): bool;getActionType()
protected function getActionType(): string;Auth\Exception
ClassSource on GitHubExceptions thrown in Phalcon\Auth will use this class
\ExceptionPhalcon\Auth\ExceptionPhalcon\Auth\Exceptions\AccessDeniedPhalcon\Auth\Exceptions\ConfigRequiresNonEmptyValuePhalcon\Auth\Exceptions\DataMustContainIdKeyPhalcon\Auth\Exceptions\DoesNotImplementPhalcon\Auth\Exceptions\FileCannotReadPhalcon\Auth\Exceptions\FileDoesNotContainJsonPhalcon\Auth\Exceptions\FileDoesNotExistPhalcon\Auth\Exceptions\FileNotValidJson
Auth\Exceptions\AccessDenied
ClassSource on GitHubAccess denied exception
\ExceptionPhalcon\Auth\ExceptionPhalcon\Auth\Exceptions\AccessDenied
Uses Phalcon\Auth\Exception
Method Summary
Methods
__construct()
public function __construct(
string $type,
string $name
);Auth\Exceptions\ConfigRequiresNonEmptyValue
ClassSource on GitHubConfig requires non-empty value
\ExceptionPhalcon\Auth\ExceptionPhalcon\Auth\Exceptions\ConfigRequiresNonEmptyValue
Uses Phalcon\Auth\Exception
Method Summary
Methods
__construct()
public function __construct(
string $configName,
string $configKey,
string $suffix = ""
);Auth\Exceptions\DataMustContainIdKey
ClassSource on GitHubAuthUser data must contain “id”
\ExceptionPhalcon\Auth\ExceptionPhalcon\Auth\Exceptions\DataMustContainIdKey
Uses Phalcon\Auth\Exception
Method Summary
Methods
__construct()
public function __construct();Auth\Exceptions\DoesNotImplement
ClassSource on GitHubDoes not implement interface
\ExceptionPhalcon\Auth\ExceptionPhalcon\Auth\Exceptions\DoesNotImplement
Uses Phalcon\Auth\Exception
Method Summary
Methods
__construct()
public function __construct(
string $type,
string $name
);Auth\Exceptions\FileCannotRead
ClassSource on GitHubCannot read file
\ExceptionPhalcon\Auth\ExceptionPhalcon\Auth\Exceptions\FileCannotRead
Uses Phalcon\Auth\Exception
Method Summary
Methods
__construct()
public function __construct( string $path );Auth\Exceptions\FileDoesNotContainJson
ClassSource on GitHubFile does not contain a JSON array
\ExceptionPhalcon\Auth\ExceptionPhalcon\Auth\Exceptions\FileDoesNotContainJson
Uses Phalcon\Auth\Exception
Method Summary
Methods
__construct()
public function __construct( string $path );Auth\Exceptions\FileDoesNotExist
ClassSource on GitHubFile does not exist
\ExceptionPhalcon\Auth\ExceptionPhalcon\Auth\Exceptions\FileDoesNotExist
Uses Phalcon\Auth\Exception
Method Summary
Methods
__construct()
public function __construct( string $path );Auth\Exceptions\FileNotValidJson
ClassSource on GitHubNot a valid JSON
\ExceptionPhalcon\Auth\ExceptionPhalcon\Auth\Exceptions\FileNotValidJson
Uses Phalcon\Auth\Exception · Throwable
Method Summary
Methods
__construct()
public function __construct(
string $path,
Throwable $ex
);Auth\Guard\AbstractGuard
AbstractSource on GitHub@template TConfig of GuardConfig
Phalcon\Events\AbstractEventsAwarePhalcon\Auth\Guard\AbstractGuard— implementsPhalcon\Contracts\Auth\Guard\Guard
Uses Phalcon\Contracts\Auth\Adapter\Adapter · Phalcon\Contracts\Auth\AuthUser · Phalcon\Contracts\Auth\Guard\Guard · Phalcon\Contracts\Auth\Guard\GuardConfig · Phalcon\Events\AbstractEventsAware
Method Summary
public__construct(Adapter$adapter,GuardConfig$config)publicboolcheck()publicAdaptergetAdapter()publicGuardConfiggetConfig()Returns the guard configuration object.publicAuthUser|nullgetLastUserAttempted()publicboolguest()publicboolhasUser()publicint|string|nullid()publicstaticsetAdapter( Adapter$adapter )publicstaticsetUser( AuthUser$user )protectedboolhasValidCredentials(mixed$user,array$credentials)user should be ?AuthUserProperties
protectedAdapter$adapterprotectedGuardConfig$configprotectedAuthUser | null$lastUserAttempted = nullprotectedAuthUser | null$user = nullMethods
__construct()
public function __construct(
Adapter $adapter,
GuardConfig $config
);check()
public function check(): bool;getAdapter()
public function getAdapter(): Adapter;getConfig()
public function getConfig(): GuardConfig;Returns the guard configuration object.
getLastUserAttempted()
public function getLastUserAttempted(): AuthUser|null;guest()
public function guest(): bool;hasUser()
public function hasUser(): bool;id()
public function id(): int|string|null;setAdapter()
public function setAdapter( Adapter $adapter ): static;setUser()
public function setUser( AuthUser $user ): static;hasValidCredentials()
protected function hasValidCredentials(
mixed $user,
array $credentials
): bool;user should be ?AuthUser
Auth\Guard\Config\AbstractGuardConfig
AbstractSource on GitHubThis file is part of the Phalcon Framework.
(c) Phalcon Team <[email protected]>
For the full copyright and license information, please view the LICENSE.txt file that was distributed with this source code.
Implementation of this file has been influenced by sinbadxiii/cphalcon-auth @link https://github.com/sinbadxiii/cphalcon-auth
Phalcon\Auth\Guard\Config\AbstractGuardConfig— implementsPhalcon\Contracts\Auth\Guard\GuardConfig
Uses Phalcon\Contracts\Auth\Guard\GuardConfig
Auth\Guard\Config\SessionGuardConfig
ClassSource on GitHubConfiguration for the Session guard. Holds the names under which the session key and remember-me cookie are stored. Defaults to ‘auth’ and ‘remember’; multi-guard apps can pass a $suffix (‘web’, ‘admin’, …) to derive ‘auth_web’ / ‘remember_web’ style names, or override either full name explicitly.
Phalcon\Auth\Guard\Config\AbstractGuardConfigPhalcon\Auth\Guard\Config\SessionGuardConfig
Uses Phalcon\Auth\Exception · Phalcon\Auth\Exceptions\ConfigRequiresNonEmptyValue
Method Summary
public__construct(string$suffix = null,string$name = null,string$rememberName = null)publicstringgetName()publicstringgetRememberName()Methods
__construct()
public function __construct(
string $suffix = null,
string $name = null,
string $rememberName = null
);getName()
public function getName(): string;getRememberName()
public function getRememberName(): string;Auth\Guard\Config\TokenGuardConfig
ClassSource on GitHubThis file is part of the Phalcon Framework.
(c) Phalcon Team <[email protected]>
For the full copyright and license information, please view the LICENSE.txt file that was distributed with this source code.
Implementation of this file has been influenced by sinbadxiii/cphalcon-auth @link https://github.com/sinbadxiii/cphalcon-auth
Phalcon\Auth\Guard\Config\AbstractGuardConfigPhalcon\Auth\Guard\Config\TokenGuardConfig
Uses Phalcon\Auth\Exception · Phalcon\Auth\Exceptions\ConfigRequiresNonEmptyValue
Method Summary
public__construct(string$inputKey,string$storageKey)publicstringgetInputKey()publicstringgetStorageKey()Properties
protectedstring$inputKeyprotectedstring$storageKeyMethods
__construct()
public function __construct(
string $inputKey,
string $storageKey
);getInputKey()
public function getInputKey(): string;getStorageKey()
public function getStorageKey(): string;Auth\Guard\GuardLocator
ClassSource on GitHubService locator for Phalcon\Auth guards. Utilizes the container to obtain the service. For Phalcon\Container\Container one can use autowiring; for Phalcon\Di\Di, register the guards in it before resolution.
@extends AbstractLocator<Guard>
Phalcon\Support\AbstractLocatorPhalcon\Auth\Guard\GuardLocator
Uses Phalcon\Contracts\Auth\Guard\Guard · Phalcon\Support\AbstractLocator
Method Summary
Methods
getExceptionClass()
protected function getExceptionClass(): string;getInterfaceClass()
protected function getInterfaceClass(): string;getServices()
protected function getServices(): array;Auth\Guard\Session
ClassSource on GitHub@extends AbstractGuard<SessionGuardConfig>
Phalcon\Events\AbstractEventsAwarePhalcon\Auth\Guard\AbstractGuardPhalcon\Auth\Guard\Session— implementsPhalcon\Contracts\Auth\Guard\GuardStateful,Phalcon\Contracts\Auth\Guard\BasicAuth
Uses Phalcon\Auth\Exception · Phalcon\Auth\Exceptions\DoesNotImplement · Phalcon\Auth\Guard\Config\SessionGuardConfig · Phalcon\Auth\Internal\Options · Phalcon\Contracts\Auth\Adapter\Adapter · Phalcon\Contracts\Auth\Adapter\RememberAdapter · Phalcon\Contracts\Auth\AuthRemember · Phalcon\Contracts\Auth\AuthUser · Phalcon\Contracts\Auth\Guard\BasicAuth · Phalcon\Contracts\Auth\Guard\GuardStateful · Phalcon\Contracts\Auth\RememberToken · Phalcon\Contracts\Container\Service\Collection · Phalcon\Di\DiInterface · Phalcon\Http\RequestInterface · Phalcon\Http\Response\CookiesInterface · Phalcon\Session\ManagerInterface · Phalcon\Support\Helper\Json\Encode
Method Summary
public__construct(Adapter$adapter,RequestInterface$request,CookiesInterface$cookies,SessionManagerInterface$session,SessionGuardConfig$config = null)publicboolattempt(array$credentials = [],bool$remember = false)publicboolbasic(string$field = "email",array$extraConditions = [])publicstaticfromOptions(Adapter$adapter,mixed$container,array$options)publicstringgetName()publicstringgetRememberName()publicvoidlogin(AuthUser$user,bool$remember = false)publicfalse|AuthUserloginById(mixed$id,bool$remember = false)publicvoidlogout()publicboolonce( array$credentials = [] )publicfalse|AuthUseronceBasic(string$field = "email",array$extraConditions = [])publicAuthUser|nulluser()publicboolvalidate( array$credentials = [] )publicboolviaRemember()protectedboolattemptBasic(string$field,array$extraConditions = [])protectedarray|nullbasicCredentials( string$field )protectedRememberTokencreateRememberToken( AuthUser$user )protectedUserRemember|nullrecaller()protectedvoidrememberUser( AuthUser$user )protectedAuthUser|nulluserFromRecaller( UserRemember$recaller )Properties
protectedCookiesInterface$cookiesprotectedRequestInterface$requestprotectedSessionManagerInterface$sessionprotectedbool$viaRemember = falseMethods
__construct()
public function __construct(
Adapter $adapter,
RequestInterface $request,
CookiesInterface $cookies,
SessionManagerInterface $session,
SessionGuardConfig $config = null
);attempt()
public function attempt(
array $credentials = [],
bool $remember = false
): bool;basic()
public function basic(
string $field = "email",
array $extraConditions = []
): bool;fromOptions()
public static function fromOptions(
Adapter $adapter,
mixed $container,
array $options
): static;getName()
public function getName(): string;getRememberName()
public function getRememberName(): string;login()
public function login(
AuthUser $user,
bool $remember = false
): void;loginById()
public function loginById(
mixed $id,
bool $remember = false
): false|AuthUser;logout()
public function logout(): void;once()
public function once( array $credentials = [] ): bool;onceBasic()
public function onceBasic(
string $field = "email",
array $extraConditions = []
): false|AuthUser;user()
public function user(): AuthUser|null;validate()
public function validate( array $credentials = [] ): bool;viaRemember()
public function viaRemember(): bool;attemptBasic()
protected function attemptBasic(
string $field,
array $extraConditions = []
): bool;basicCredentials()
protected function basicCredentials( string $field ): array|null;createRememberToken()
protected function createRememberToken( AuthUser $user ): RememberToken;recaller()
protected function recaller(): UserRemember|null;rememberUser()
protected function rememberUser( AuthUser $user ): void;userFromRecaller()
protected function userFromRecaller( UserRemember $recaller ): AuthUser|null;Auth\Guard\Token
ClassSource on GitHub@extends AbstractGuard<TokenGuardConfig>
Phalcon\Events\AbstractEventsAwarePhalcon\Auth\Guard\AbstractGuardPhalcon\Auth\Guard\Token
Uses Phalcon\Auth\Guard\Config\TokenGuardConfig · Phalcon\Auth\Internal\Options · Phalcon\Contracts\Auth\Adapter\Adapter · Phalcon\Contracts\Auth\AuthUser · Phalcon\Contracts\Container\Service\Collection · Phalcon\Di\DiInterface · Phalcon\Http\RequestInterface
Method Summary
public__construct(Adapter$adapter,RequestInterface$request,TokenGuardConfig$config)publicstaticfromOptions(Adapter$adapter,mixed$container,array$options)publicstring|nullgetTokenForRequest()publicstaticsetRequest( RequestInterface$request )publicAuthUser|nulluser()publicboolvalidate( array$credentials = [] )Properties
protectedRequestInterface$requestMethods
__construct()
public function __construct(
Adapter $adapter,
RequestInterface $request,
TokenGuardConfig $config
);fromOptions()
public static function fromOptions(
Adapter $adapter,
mixed $container,
array $options
): static;getTokenForRequest()
public function getTokenForRequest(): string|null;setRequest()
public function setRequest( RequestInterface $request ): static;user()
public function user(): AuthUser|null;validate()
public function validate( array $credentials = [] ): bool;Auth\Guard\UserRemember
FinalSource on GitHubValue object representing the contents of a remember-me cookie.
Phalcon\Auth\Guard\UserRemember
Uses InvalidArgumentException · Phalcon\Support\Helper\Json\Decode
Method Summary
public__construct( mixed$payload )Accepts either the raw JSON cookie value (string) or the alreadypublicint|string|nullgetId()publicstringgetToken()publicstringgetUserAgent()Properties
protectedint|string|null$idprotectedstring$tokenprotectedstring$userAgentMethods
__construct()
public function __construct( mixed $payload );Accepts either the raw JSON cookie value (string) or the already decoded associative array. Malformed input degrades to an empty payload so callers can read getters without null-guarding.
getId()
public function getId(): int|string|null;getToken()
public function getToken(): string;getUserAgent()
public function getUserAgent(): string;Auth\Internal\Options
FinalSource on GitHubInternal option-parsing helpers shared by adapter / guard fromOptions() implementations. Not part of the public API.
Phalcon\Auth\Internal\Options
Uses Phalcon\Auth\Exception · Phalcon\Contracts\Container\Service\Collection · Phalcon\Di\DiInterface
Method Summary
publicarrayarrayOption(array$options,string$key,array$defaultValue)publicstringrequireString(array$options,string$key,string$context)publicobjectresolveService(mixed$container,string$serviceId,string$context)@template T of objectpublicstring|nullstringOrNull(array$options,string$key)Methods
arrayOption()
public static function arrayOption(
array $options,
string $key,
array $defaultValue
): array;requireString()
public static function requireString(
array $options,
string $key,
string $context
): string;resolveService()
public static function resolveService(
mixed $container,
string $serviceId,
string $context
): object;@template T of object
stringOrNull()
public static function stringOrNull(
array $options,
string $key
): string|null;Auth\Manager
ClassSource on GitHubComposes guards (authentication) and access gates (authorization) behind a single facade. Guard-specific behavior is reached through Manager::guard(); callers narrow with instanceof against the relevant capability interface (GuardStateful, BasicAuth, etc.).
Phalcon\Auth\Manager— implementsPhalcon\Contracts\Auth\Manager
Uses Phalcon\Auth\Access\AccessLocator · Phalcon\Contracts\Auth\Access\Access · Phalcon\Contracts\Auth\Adapter\Adapter · Phalcon\Contracts\Auth\AuthUser · Phalcon\Contracts\Auth\Guard\Guard · Phalcon\Contracts\Auth\Guard\GuardStateful · Phalcon\Contracts\Auth\Manager
Method Summary
public__construct( AccessLocator$accessFactory )publicselfaccess( string$accessName )publicselfaddAccessList( array$accessList )publicselfaddGuard(string$nameGuard,Guard$guard,bool$isDefault = false)publicboolattempt(array$credentials = [],bool$remember = false)publicboolcheck()publicselfexcept( string$actions )publicAccess|nullgetAccess()publicarraygetAccessList()publicGuard|nullgetDefaultGuard()publicarraygetGuards()publicGuardguard( string$name = null )publicint|string|nullid()publicvoidlogout()publicselfonly( string$actions )publicselfsetAccess( Access$access )publicselfsetDefaultGuard( Guard$guard )publicAuthUser|nulluser()publicboolvalidate( array$credentials = [] )Properties
protectedAccessLocator$accessFactoryprotectedAccess | null$activeAccess = nullprotectedGuard | null$defaultGuard = nullprotectedarray<string, Guard>$guards = []Methods
__construct()
public function __construct( AccessLocator $accessFactory );access()
public function access( string $accessName ): self;addAccessList()
public function addAccessList( array $accessList ): self;addGuard()
public function addGuard(
string $nameGuard,
Guard $guard,
bool $isDefault = false
): self;attempt()
public function attempt(
array $credentials = [],
bool $remember = false
): bool;check()
public function check(): bool;except()
public function except( string $actions ): self;getAccess()
public function getAccess(): Access|null;getAccessList()
public function getAccessList(): array;getDefaultGuard()
public function getDefaultGuard(): Guard|null;getGuards()
public function getGuards(): array;guard()
public function guard( string $name = null ): Guard;id()
public function id(): int|string|null;logout()
public function logout(): void;only()
public function only( string $actions ): self;setAccess()
public function setAccess( Access $access ): self;setDefaultGuard()
public function setDefaultGuard( Guard $guard ): self;user()
public function user(): AuthUser|null;validate()
public function validate( array $credentials = [] ): bool;Auth\ManagerFactory
ClassSource on GitHubSingle entry-point factory that builds a fully wired Phalcon\Auth\Manager from a config tree. Framework-shared services (RequestInterface, CookiesInterface, SessionManagerInterface) are resolved from the injected container so the manager wires against the real application singletons, not separately constructed copies.
[ ‘guards’ => [ ‘web’ => [ ‘type’ => ‘session’, ‘default’ => true, ‘adapter’ => [ ‘name’ => ‘model’, ‘options’ => [ ‘model’ => User::class ], ], ‘options’ => [], ], ‘api’ => [ ‘type’ => ‘token’, ‘adapter’ => [ ‘name’ => ‘model’, ‘options’ => [ ‘model’ => User::class ] ], ‘options’ => [ ‘inputKey’ => ‘api_token’, ‘storageKey’ => ‘api_token’ ], ], ], ‘access’ => [ ‘auth’ => \Phalcon\Auth\Access\Auth::class, ‘guest’ => \Phalcon\Auth\Access\Guest::class, ], ]
Phalcon\Auth\ManagerFactory
Uses Phalcon\Auth\Access\AccessLocator · Phalcon\Auth\Adapter\AdapterLocator · Phalcon\Auth\Guard\GuardLocator · Phalcon\Config\ConfigInterface · Phalcon\Contracts\Auth\Access\Access · Phalcon\Contracts\Auth\Adapter\Adapter · Phalcon\Contracts\Auth\Guard\Guard · Phalcon\Contracts\Container\Service\Collection · Phalcon\Di\DiInterface · Phalcon\Encryption\Security
Method Summary
public__construct(Security$hasher,mixed$container,AdapterLocator$adapterLocator = null,GuardLocator$guardLocator = null,AccessLocator$accessLocator = null)publicManagerload( mixed$config )protectedAdapterbuildAdapter(AdapterLocator$locator,array$cfg)protectedGuardbuildGuard(GuardLocator$locator,string$type,Adapter$adapter,array$options)Properties
protectedAccessLocator$accessLocatorprotectedAdapterLocator$adapterLocatorprotectedCollection$containerprotectedGuardLocator$guardLocatorprotectedSecurity$hasherMethods
__construct()
public function __construct(
Security $hasher,
mixed $container,
AdapterLocator $adapterLocator = null,
GuardLocator $guardLocator = null,
AccessLocator $accessLocator = null
);load()
public function load( mixed $config ): Manager;buildAdapter()
protected function buildAdapter(
AdapterLocator $locator,
array $cfg
): Adapter;buildGuard()
protected function buildGuard(
GuardLocator $locator,
string $type,
Adapter $adapter,
array $options
): Guard;Auth\Mvc\AuthDispatcherListener
ClassSource on GitHubListener that enforces the active Phalcon\Auth access gate on each MVC dispatch. Attach to the events manager:
$eventsManager->attach(‘dispatch’, new AuthDispatcherListener($manager));
No-op when no active access has been set on the manager.
Phalcon\Auth\AbstractAuthDispatcherListenerPhalcon\Auth\Mvc\AuthDispatcherListener
Uses Phalcon\Auth\AbstractAuthDispatcherListener · Phalcon\Auth\Exception · Phalcon\Events\Event · Phalcon\Mvc\Dispatcher
Method Summary
Methods
beforeExecuteRoute()
public function beforeExecuteRoute(
Event $event,
Dispatcher $dispatcher
): bool;getActionType()
protected function getActionType(): string;