Phalcon auth
NOTE
All classes are prefixed with Phalcon
Auth\AbstractAuthDispatcherListener¶
Abstract Source on GitHub
Shared enforcement algorithm for the Cli, Mvc and Micro auth listeners. The subclass provides the action name and context from its event source, the action-kind label used in the access-denied exception, and (Mvc only) a forward handler for Access::redirectTo().
Enforcement is fail-open: when the manager has no active access (Manager::getAccess() === null) every dispatch is allowed. A policy activated via Manager::access() persists across forwards and nested dispatches in the same request until it is replaced.
Phalcon\Auth\AbstractAuthDispatcherListener
Uses Phalcon\Auth\Exceptions\AccessDenied · Phalcon\Contracts\Auth\Access\Access · Phalcon\Contracts\Auth\Manager
Method Summary¶
public __construct( Manager $manager ) protected bool enforce(string $actionName,array $context = [],mixed $forwardHandler = null) Runs the access check for the given action name. Returns true when protected string getActionType() Returns the kind label used by AccessDenied (e.g. 'task', 'action', Properties¶
protected Manager $manager Methods¶
__construct()¶
enforce()¶
protected function enforce(
string $actionName,
array $context = [],
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.
The guard is fetched only when an access is active, so the no-op path works without a default guard.
getActionType()¶
Returns the kind label used by AccessDenied (e.g. 'task', 'action', 'route').
Auth\Access\AbstractAccess¶
Abstract Source on GitHub
Phalcon\Auth\Access\AbstractAccess— implementsPhalcon\Contracts\Auth\Access\Access
Uses Phalcon\Contracts\Auth\Access\Access · Phalcon\Contracts\Auth\Guard\Guard
Method Summary¶
public array getExceptActions() public array getOnlyActions() public bool isAllowed(Guard $guard,string $actionName,array $context = []) public array|null redirectTo() public void setExceptActions( array $exceptActions = [] ) public void setOnlyActions( array $onlyActions = [] ) protected bool allowedIf( Guard $guard ) Whether the gate's base condition holds for the given identity. Properties¶
protected array $exceptActions = [] protected array $onlyActions = [] Methods¶
getExceptActions()¶
getOnlyActions()¶
isAllowed()¶
redirectTo()¶
setExceptActions()¶
setOnlyActions()¶
allowedIf()¶
Whether the gate's base condition holds for the given identity.
Auth\Access\AccessLocator¶
Class Source on GitHub
Service 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 (the binary gates also resolve unregistered through Di's class builder).
@extends AbstractLocator
Phalcon\Support\AbstractLocatorPhalcon\Auth\Access\AccessLocator
Uses Phalcon\Auth\Internal\ContainerResolver · Phalcon\Contracts\Auth\Access\Access · Phalcon\Support\AbstractLocator
Method Summary¶
public object newInstance( string $name ) Resolve a fresh gate instance from the container. protected string getExceptionClass() protected string getInterfaceClass() protected array getServices() Methods¶
newInstance()¶
Resolve a fresh gate instance from the container.
Gates carry per-activation state (the only/except action filters), so resolution must yield a fresh instance: new() on the Container bypasses the instance cache; on the legacy Di, get() builds unregistered classes and non-shared services fresh (register gates non-shared).
getExceptionClass()¶
getInterfaceClass()¶
getServices()¶
Auth\Access\Acl¶
Class Source on GitHub
ACL-backed access gate. Checks the authenticated user's role against a Phalcon\Acl adapter: the ACL component is taken from the 'handler' context key (prefixed with 'module' and the module separator when present) and the ACL access is the action name. The 'params' context key is passed through to the ACL adapter for callable rules.
Filter semantics differ from the binary gates: except = bypass the gate for the listed actions; only = the gate applies to the listed actions exclusively (everything else is allowed).
Role resolution: no user resolves to the configured guest role; a user implementing Phalcon\Acl\RoleAwareInterface supplies its role name; any other user is rejected with an exception.
Phalcon\Auth\Access\AbstractAccessPhalcon\Auth\Access\Acl
Uses Phalcon\Acl\Adapter\AdapterInterface · Phalcon\Acl\RoleAwareInterface · Phalcon\Auth\Exception · Phalcon\Contracts\Auth\Access\Access · Phalcon\Contracts\Auth\AuthUser · Phalcon\Contracts\Auth\Guard\Guard
Method Summary¶
public __construct(AdapterInterface $acl,array $options = []) public bool isAllowed(Guard $guard,string $actionName,array $context = []) protected bool allowedIf( Guard $guard ) Unused: this gate overrides isAllowed() in full. Fail closed to protected string resolveRole( Guard $guard ) Properties¶
protected AdapterInterface $acl protected string $guestRole = "guest" protected string $moduleSeparator = ":" Methods¶
__construct()¶
isAllowed()¶
allowedIf()¶
Unused: this gate overrides isAllowed() in full. Fail closed to satisfy the abstract.
resolveRole()¶
Auth\Access\Auth¶
Class Source on GitHub
Phalcon\Auth\Access\AbstractAccessPhalcon\Auth\Access\Auth
Uses Phalcon\Contracts\Auth\Guard\Guard
Method Summary¶
Methods¶
allowedIf()¶
Auth\Access\Guest¶
Class Source on GitHub
Phalcon\Auth\Access\AbstractAccessPhalcon\Auth\Access\Guest
Uses Phalcon\Contracts\Auth\Guard\Guard
Method Summary¶
Methods¶
allowedIf()¶
Auth\Adapter\AbstractAdapter¶
Abstract Source 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) public AdapterConfig getConfig() Returns the adapter configuration object. public string|null getModel() Returns the model class name, if configured. public bool validateCredentials(AuthUser $user,array $credentials) Validates the supplied plaintext password against the user's stored hash. Properties¶
protected AdapterConfig $config protected Security $hasher Methods¶
__construct()¶
getConfig()¶
Returns the adapter configuration object.
getModel()¶
Returns the model class name, if configured.
validateCredentials()¶
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¶
Abstract Source on GitHub
Common 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
Phalcon\Auth\Adapter\AbstractAdapterPhalcon\Auth\Adapter\AbstractArrayAdapter
Uses Phalcon\Auth\AuthUser · Phalcon\Auth\Exceptions\DoesNotImplement · Phalcon\Contracts\Auth\Adapter\AdapterConfig · Phalcon\Contracts\Auth\AuthUser
Method Summary¶
public AuthUserContract|null retrieveByCredentials( array $credentials ) Walks the user list and returns the first row whose non-'password' public AuthUserContract|null retrieveById( mixed $id ) Default linear-scan implementation. Memory overrides this for an O(1) protected bool hasIdentifyingField( array $credentials ) Tests whether a credentials payload carries at least one identifying protected AuthUserContract hydrate( array $row ) Hydrates a raw user row into either the configured model class or a protected array loadUsers() Returns the source list of user rows. Concrete subclasses decide protected bool matchesRow(array $row,array $credentials) Strict per-key match of a row against credentials, skipping 'password'. Methods¶
retrieveByCredentials()¶
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()¶
Default linear-scan implementation. Memory overrides this for an O(1) id-keyed lookup; Stream uses this as-is.
hasIdentifyingField()¶
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()¶
Hydrates a raw user row into either the configured model class or a Phalcon\Auth\AuthUser value object.
loadUsers()¶
Returns the source list of user rows. Concrete subclasses decide where they come from (config array, JSON file, etc.).
matchesRow()¶
Strict per-key match of a row against credentials, skipping 'password'.
Auth\Adapter\AdapterLocator¶
Class Source on GitHub
Service 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
Phalcon\Support\AbstractLocatorPhalcon\Auth\Adapter\AdapterLocator
Uses Phalcon\Contracts\Auth\Adapter\Adapter · Phalcon\Support\AbstractLocator
Method Summary¶
protected string getExceptionClass() protected string getInterfaceClass() protected array getServices() Methods¶
getExceptionClass()¶
getInterfaceClass()¶
getServices()¶
Auth\Adapter\Config\AbstractAdapterConfig¶
Abstract Source on GitHub
Phalcon\Auth\Adapter\Config\AbstractAdapterConfig— implementsPhalcon\Contracts\Auth\Adapter\AdapterConfig
Uses Phalcon\Contracts\Auth\Adapter\AdapterConfig
Method Summary¶
Properties¶
protected string|null $model = null Methods¶
__construct()¶
getModel()¶
Auth\Adapter\Config\MemoryAdapterConfig¶
Class Source on GitHub
Phalcon\Auth\Adapter\Config\AbstractAdapterConfigPhalcon\Auth\Adapter\Config\MemoryAdapterConfig
Method Summary¶
Properties¶
protected array $users = [] Methods¶
__construct()¶
getUsers()¶
Auth\Adapter\Config\ModelAdapterConfig¶
Class Source on GitHub
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") public string getIdColumn() public string getModel() Properties¶
protected string $idColumn = "id" Methods¶
__construct()¶
getIdColumn()¶
getModel()¶
Auth\Adapter\Config\StreamAdapterConfig¶
Class Source on GitHub
Phalcon\Auth\Adapter\Config\AbstractAdapterConfigPhalcon\Auth\Adapter\Config\StreamAdapterConfig
Uses Phalcon\Auth\Exception · Phalcon\Auth\Exceptions\ConfigRequiresNonEmptyValue
Method Summary¶
Properties¶
protected string $file Methods¶
__construct()¶
getFile()¶
Auth\Adapter\Memory¶
Class Source on GitHub
In-memory adapter - useful for tests and small read-only user lists.
@extends AbstractArrayAdapter
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) public static fromOptions(Security $hasher,array $options) public AuthUser|null retrieveById( mixed $id ) Overridden for O(1) lookup via the id index built in the constructor. protected array loadUsers() Methods¶
__construct()¶
fromOptions()¶
retrieveById()¶
Overridden for O(1) lookup via the id index built in the constructor.
loadUsers()¶
Auth\Adapter\Model¶
Class Source on GitHub
Phalcon Model-backed adapter.
@extends AbstractAdapter
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) public RememberToken createRememberToken( AuthUser $user ) Create and persist a new remember token for the user. public static fromOptions(Security $hasher,array $options) public AuthUser|null retrieveByCredentials( array $credentials ) Find a user matching the given credentials (excluding 'password' key). public AuthUser|null retrieveById( mixed $id ) public AuthUser|null retrieveByToken(mixed $id,string $token,string $userAgent = null) Retrieve a user by the remember-me cookie payload. Methods¶
__construct()¶
createRememberToken()¶
Create and persist a new remember token for the user.
fromOptions()¶
retrieveByCredentials()¶
Find a user matching the given credentials (excluding 'password' key).
retrieveById()¶
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¶
Class Source on GitHub
JSON file-backed adapter.
The file must contain a JSON array of user records: [{"id":1,"email":"a@b","password":"
@extends AbstractArrayAdapter
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) public static fromOptions(Security $hasher,array $options) protected array loadUsers() Loads and decodes the JSON users file. Re-read on every call - if you protected bool phpFileExists( string $filename ) protected phpFileGetContents( string $filename ) Methods¶
__construct()¶
fromOptions()¶
loadUsers()¶
Loads and decodes the JSON users file. Re-read on every call - if you need caching, wrap it.
phpFileExists()¶
phpFileGetContents()¶
Auth\AuthUser¶
Class Source on GitHub
Lightweight 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 ) public int|string getAuthIdentifier() public string getAuthPassword() public array toArray() Returns the underlying data array. Properties¶
protected array $data Methods¶
__construct()¶
getAuthIdentifier()¶
getAuthPassword()¶
toArray()¶
Returns the underlying data array.
Auth\Cli\AuthDispatcherListener¶
Class Source on GitHub
Phalcon\Auth\AbstractAuthDispatcherListenerPhalcon\Auth\Cli\AuthDispatcherListener
Uses Phalcon\Auth\AbstractAuthDispatcherListener · Phalcon\Auth\Exception · Phalcon\Cli\Dispatcher · Phalcon\Events\Event
Method Summary¶
public bool beforeExecuteRoute(Event $event,Dispatcher $dispatcher) protected string getActionType() Methods¶
beforeExecuteRoute()¶
getActionType()¶
Auth\Exception¶
Class Source on GitHub
Exceptions 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¶
Class Source on GitHub
Access denied exception
\ExceptionPhalcon\Auth\ExceptionPhalcon\Auth\Exceptions\AccessDenied
Uses Phalcon\Auth\Exception
Method Summary¶
Methods¶
__construct()¶
Auth\Exceptions\ConfigRequiresNonEmptyValue¶
Class Source on GitHub
Config requires non-empty value
\ExceptionPhalcon\Auth\ExceptionPhalcon\Auth\Exceptions\ConfigRequiresNonEmptyValue
Uses Phalcon\Auth\Exception
Method Summary¶
Methods¶
__construct()¶
Auth\Exceptions\DataMustContainIdKey¶
Class Source on GitHub
AuthUser data must contain "id"
\ExceptionPhalcon\Auth\ExceptionPhalcon\Auth\Exceptions\DataMustContainIdKey
Uses Phalcon\Auth\Exception
Method Summary¶
Methods¶
__construct()¶
Auth\Exceptions\DoesNotImplement¶
Class Source on GitHub
Does not implement interface
\ExceptionPhalcon\Auth\ExceptionPhalcon\Auth\Exceptions\DoesNotImplement
Uses Phalcon\Auth\Exception
Method Summary¶
Methods¶
__construct()¶
Auth\Exceptions\FileCannotRead¶
Class Source on GitHub
Cannot read file
\ExceptionPhalcon\Auth\ExceptionPhalcon\Auth\Exceptions\FileCannotRead
Uses Phalcon\Auth\Exception
Method Summary¶
Methods¶
__construct()¶
Auth\Exceptions\FileDoesNotContainJson¶
Class Source on GitHub
File does not contain a JSON array
\ExceptionPhalcon\Auth\ExceptionPhalcon\Auth\Exceptions\FileDoesNotContainJson
Uses Phalcon\Auth\Exception
Method Summary¶
Methods¶
__construct()¶
Auth\Exceptions\FileDoesNotExist¶
Class Source on GitHub
File does not exist
\ExceptionPhalcon\Auth\ExceptionPhalcon\Auth\Exceptions\FileDoesNotExist
Uses Phalcon\Auth\Exception
Method Summary¶
Methods¶
__construct()¶
Auth\Exceptions\FileNotValidJson¶
Class Source on GitHub
Not a valid JSON
\ExceptionPhalcon\Auth\ExceptionPhalcon\Auth\Exceptions\FileNotValidJson
Uses Phalcon\Auth\Exception · Throwable
Method Summary¶
Methods¶
__construct()¶
Auth\Guard\AbstractGuard¶
Abstract Source 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) public bool check() public Adapter getAdapter() public GuardConfig getConfig() Returns the guard configuration object. public AuthUser|null getLastUserAttempted() public bool guest() public bool hasUser() public int|string|null id() public static setAdapter( Adapter $adapter ) public static setUser( AuthUser $user ) protected bool hasValidCredentials(mixed $user,array $credentials) user should be ?AuthUser Properties¶
protected Adapter $adapter protected GuardConfig $config protected AuthUser | null $lastUserAttempted = null protected AuthUser | null $user = null Methods¶
__construct()¶
check()¶
getAdapter()¶
getConfig()¶
Returns the guard configuration object.
getLastUserAttempted()¶
guest()¶
hasUser()¶
id()¶
setAdapter()¶
setUser()¶
hasValidCredentials()¶
user should be ?AuthUser
Auth\Guard\Config\AbstractGuardConfig¶
Abstract Source on GitHub
Phalcon\Auth\Guard\Config\AbstractGuardConfig— implementsPhalcon\Contracts\Auth\Guard\GuardConfig
Uses Phalcon\Contracts\Auth\Guard\GuardConfig
Auth\Guard\Config\SessionGuardConfig¶
Class Source on GitHub
Configuration 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,mixed $rememberTtl = null) public string getName() public string getRememberName() public int getRememberTtl() Constants¶
int DEFAULT_REMEMBER_TTL = 31536000 Default remember-me cookie lifetime, in seconds (365 days). Methods¶
__construct()¶
public function __construct(
string $suffix = null,
string $name = null,
string $rememberName = null,
mixed $rememberTtl = null
);
getName()¶
getRememberName()¶
getRememberTtl()¶
Auth\Guard\Config\TokenGuardConfig¶
Class Source on GitHub
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) public string getInputKey() public string getStorageKey() Properties¶
protected string $inputKey protected string $storageKey Methods¶
__construct()¶
getInputKey()¶
getStorageKey()¶
Auth\Guard\GuardLocator¶
Class Source on GitHub
Service 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
Phalcon\Support\AbstractLocatorPhalcon\Auth\Guard\GuardLocator
Uses Phalcon\Contracts\Auth\Guard\Guard · Phalcon\Support\AbstractLocator
Method Summary¶
protected string getExceptionClass() protected string getInterfaceClass() protected array getServices() Methods¶
getExceptionClass()¶
getInterfaceClass()¶
getServices()¶
Auth\Guard\Session¶
Class Source on GitHub
@extends AbstractGuard
Phalcon\Events\AbstractEventsAwarePhalcon\Auth\Guard\AbstractGuardPhalcon\Auth\Guard\Session— implementsPhalcon\Contracts\Auth\Guard\GuardStateful,Phalcon\Contracts\Auth\Guard\BasicAuth
Uses DateTimeImmutable · Phalcon\Auth\Exception · Phalcon\Auth\Exceptions\DoesNotImplement · Phalcon\Auth\Guard\Config\SessionGuardConfig · Phalcon\Auth\Internal\ContainerResolver · 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\Http\RequestInterface · Phalcon\Http\Response\CookiesInterface · Phalcon\Session\ManagerInterface · Phalcon\Support\Helper\Json\Encode · Phalcon\Time\Clock\ClockInterface · Phalcon\Time\Clock\SystemClock
Method Summary¶
public __construct(Adapter $adapter,RequestInterface $request,CookiesInterface $cookies,SessionManagerInterface $session,SessionGuardConfig $config = null,ClockInterface $clock = null) public bool attempt(array $credentials = [],bool $remember = false) public bool basic(string $field = "email",array $extraConditions = []) public static fromOptions(Adapter $adapter,mixed $container,array $options) public string getName() public string getRememberName() public void login(AuthUser $user,bool $remember = false) public false|AuthUser loginById(mixed $id,bool $remember = false) public void logout() public bool once( array $credentials = [] ) public false|AuthUser onceBasic(string $field = "email",array $extraConditions = []) public AuthUser|null user() public bool validate( array $credentials = [] ) public bool viaRemember() protected bool attemptBasic(string $field,array $extraConditions = []) protected array|null basicCredentials( string $field ) protected RememberToken createRememberToken( AuthUser $user ) protected UserRemember|null recaller() protected void rememberUser( AuthUser $user ) protected AuthUser|null userFromRecaller( UserRemember $recaller ) Properties¶
protected ClockInterface $clock protected CookiesInterface $cookies protected RequestInterface $request protected SessionManagerInterface $session protected bool $viaRemember = false Methods¶
__construct()¶
public function __construct(
Adapter $adapter,
RequestInterface $request,
CookiesInterface $cookies,
SessionManagerInterface $session,
SessionGuardConfig $config = null,
ClockInterface $clock = null
);
attempt()¶
basic()¶
fromOptions()¶
getName()¶
getRememberName()¶
login()¶
loginById()¶
logout()¶
once()¶
onceBasic()¶
user()¶
validate()¶
viaRemember()¶
attemptBasic()¶
basicCredentials()¶
createRememberToken()¶
recaller()¶
rememberUser()¶
userFromRecaller()¶
Auth\Guard\Token¶
Class Source on GitHub
@extends AbstractGuard
Phalcon\Events\AbstractEventsAwarePhalcon\Auth\Guard\AbstractGuardPhalcon\Auth\Guard\Token
Uses Phalcon\Auth\Guard\Config\TokenGuardConfig · Phalcon\Auth\Internal\ContainerResolver · Phalcon\Auth\Internal\Options · Phalcon\Contracts\Auth\Adapter\Adapter · Phalcon\Contracts\Auth\AuthUser · Phalcon\Http\RequestInterface
Method Summary¶
public __construct(Adapter $adapter,RequestInterface $request,TokenGuardConfig $config) public static fromOptions(Adapter $adapter,mixed $container,array $options) public string|null getTokenForRequest() public static setRequest( RequestInterface $request ) public AuthUser|null user() public bool validate( array $credentials = [] ) Properties¶
protected RequestInterface $request Methods¶
__construct()¶
public function __construct(
Adapter $adapter,
RequestInterface $request,
TokenGuardConfig $config
);
fromOptions()¶
getTokenForRequest()¶
setRequest()¶
user()¶
validate()¶
Auth\Guard\UserRemember¶
Final Source on GitHub
Value 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 already public int|string|null getId() public string getToken() public string getUserAgent() Properties¶
protected int|string|null $id protected string $token protected string $userAgent Methods¶
__construct()¶
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()¶
getToken()¶
getUserAgent()¶
Auth\Internal\ContainerResolver¶
Final Source on GitHub
Internal single source of truth for resolving services from either the new Phalcon\Container\Container or the legacy Phalcon\Di\Di. Not part of the public API.
Intent is Container-first; the legacy Di is supported "with provisions": definitions must be pre-registered (no autowiring), the one exception being the fresh path, which lets Di build an unregistered but existing class via its class builder.
All legacy-Di failures are normalized to Phalcon\Container\Exceptions so callers and userland catch a single exception family.
Phalcon\Auth\Internal\ContainerResolver
Uses Phalcon\Container\Exceptions\Exception · Phalcon\Contracts\Container\Service\Collection · Phalcon\Di\DiInterface · Phalcon\Di\Exception
Method Summary¶
public void ensureContainer( mixed $container ) Validates that the value is a supported container. public object requireService(mixed $container,array $candidates,string $context) Resolves the first candidate service name that the container can public object resolveFresh(mixed $container,string $name) Resolves a fresh instance: new() on the Container (bypasses the public array serviceCandidates(array $options,string $key,string $fqn,string $shortName) Builds the ordered candidate list for a framework service: Methods¶
ensureContainer()¶
Validates that the value is a supported container.
requireService()¶
public static function requireService(
mixed $container,
array $candidates,
string $context
): object;
Resolves the first candidate service name that the container can provide, as a shared instance. Used for framework services (request, cookies, session) whose container key may vary between application setups.
resolveFresh()¶
Resolves a fresh instance: new() on the Container (bypasses the instance cache); get() on the legacy Di (fresh for unregistered or non-shared services). On Di, an unregistered but existing class is still built via the class builder.
serviceCandidates()¶
public static function serviceCandidates(
array $options,
string $key,
string $fqn,
string $shortName
): array;
Builds the ordered candidate list for a framework service: an explicit override from options['services'][key] if present, otherwise the interface FQN followed by the conventional short name.
Auth\Internal\Options¶
Final Source on GitHub
Internal option-parsing helpers shared by adapter / guard fromOptions() implementations. Not part of the public API.
Phalcon\Auth\Internal\Options
Uses Phalcon\Auth\Exception
Method Summary¶
public array arrayOption(array $options,string $key,array $defaultValue) public array requireArray(array $options,string $key,string $context) public string requireString(array $options,string $key,string $context) public string|null stringOrNull(array $options,string $key) Methods¶
arrayOption()¶
requireArray()¶
requireString()¶
stringOrNull()¶
Auth\Manager¶
Class Source on GitHub
Composes 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\Auth\Exceptions\DoesNotImplement · 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 ) public self access( string $accessName ) public self addAccessList( array $accessList ) public self addGuard(string $nameGuard,Guard $guard,bool $isDefault = false) public bool attempt(array $credentials = [],bool $remember = false) public bool check() public self except( string $actions ) public Access|null getAccess() public array getAccessList() public Guard|null getDefaultGuard() public array getGuards() public Guard guard( string $name = null ) public int|string|null id() public void logout() public self only( string $actions ) public self setAccess( Access $access ) public self setDefaultGuard( Guard $guard ) public AuthUser|null user() public bool validate( array $credentials = [] ) Properties¶
protected AccessLocator $accessFactory protected Access | null $activeAccess = null protected Guard | null $defaultGuard = null protected array<string, Guard> $guards = [] Methods¶
__construct()¶
access()¶
addAccessList()¶
addGuard()¶
attempt()¶
check()¶
except()¶
getAccess()¶
getAccessList()¶
getDefaultGuard()¶
getGuards()¶
guard()¶
id()¶
logout()¶
only()¶
setAccess()¶
setDefaultGuard()¶
user()¶
validate()¶
Auth\ManagerFactory¶
Class Source on GitHub
Single 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\Auth\Internal\ContainerResolver · Phalcon\Auth\Internal\Options · 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) public Manager load( mixed $config ) protected Adapter buildAdapter(AdapterLocator $locator,array $cfg) protected Guard buildGuard(GuardLocator $locator,string $type,Adapter $adapter,array $options) Properties¶
protected AccessLocator $accessLocator protected AdapterLocator $adapterLocator protected Collection|DiInterface $container protected GuardLocator $guardLocator protected Security $hasher Methods¶
__construct()¶
public function __construct(
Security $hasher,
mixed $container,
AdapterLocator $adapterLocator = null,
GuardLocator $guardLocator = null,
AccessLocator $accessLocator = null
);
load()¶
buildAdapter()¶
buildGuard()¶
protected function buildGuard(
GuardLocator $locator,
string $type,
Adapter $adapter,
array $options
): Guard;
Auth\Micro\AuthMicroListener¶
Class Source on GitHub
Listener that enforces the active Phalcon\Auth access gate on each Micro route execution. Attach to the events manager:
$eventsManager->attach('micro', new AuthMicroListener($manager)); $app->setEventsManager($eventsManager);
The action name is the matched route's name, falling back to the route pattern when the route is unnamed. The ACL component is the configured component name (default 'Micro'). redirectTo() is ignored - Micro has no forward mechanism.
No-op when no active access has been set on the manager.
Phalcon\Auth\AbstractAuthDispatcherListenerPhalcon\Auth\Micro\AuthMicroListener
Uses Phalcon\Auth\AbstractAuthDispatcherListener · Phalcon\Auth\Exception · Phalcon\Contracts\Auth\Manager · Phalcon\Events\Event · Phalcon\Mvc\Micro · Phalcon\Mvc\RouterInterface · Phalcon\Mvc\Router\RouteInterface
Method Summary¶
public __construct(Manager $manager,string $componentName = "Micro") public bool beforeExecuteRoute(Event $event,Micro $application) protected string getActionType() Properties¶
protected string $componentName Methods¶
__construct()¶
beforeExecuteRoute()¶
getActionType()¶
Auth\Mvc\AuthDispatcherListener¶
Class Source on GitHub
Listener 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¶
public bool beforeExecuteRoute(Event $event,Dispatcher $dispatcher) protected string getActionType()