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()