Skip to content

UserSessionMiddleware


  • Full name: \Codefy\Framework\Http\Middleware\Auth\UserSessionMiddleware
  • This class is marked as final and can't be subclassed
  • This class implements: MiddlewareInterface
  • This class is a Final class

Constants

Constant Visibility Type Value
SESSION_ATTRIBUTE public 'USERSESSION'

Properties

configContainer

protected \Qubus\Config\ConfigContainer $configContainer

protected \Qubus\Http\Cookies\Factory\HttpCookieFactory $cookie

Methods

__construct

public __construct(\Qubus\Config\ConfigContainer $configContainer, \Qubus\Http\Cookies\Factory\HttpCookieFactory $cookie): mixed

Parameters:

Parameter Type Description
$configContainer \Qubus\Config\ConfigContainer
$cookie \Qubus\Http\Cookies\Factory\HttpCookieFactory

process

public process(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Server\RequestHandlerInterface $handler): \Psr\Http\Message\ResponseInterface

Parameters:

Parameter Type Description
$request \Psr\Http\Message\ServerRequestInterface
$handler \Psr\Http\Server\RequestHandlerInterface

Throws:


cookieTtl

The cookie expiry.

protected cookieTtl(\Psr\Http\Message\ServerRequestInterface $request): int

Parameters:

Parameter Type Description
$request \Psr\Http\Message\ServerRequestInterface

Throws:


cookieName

The cookie name.

protected cookieName(): string

Throws:


userDetails

User details from request.

protected userDetails(\Psr\Http\Message\ServerRequestInterface $request): mixed

Parameters:

Parameter Type Description
$request \Psr\Http\Message\ServerRequestInterface

createCookie

Creates an HTTP cookie.

protected createCookie(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, string $token): \Psr\Http\Message\ResponseInterface

Parameters:

Parameter Type Description
$request \Psr\Http\Message\ServerRequestInterface
$response \Psr\Http\Message\ResponseInterface
$token string

Throws:


isNew

public isNew(\Psr\Http\Message\ServerRequestInterface $request): bool

Parameters:

Parameter Type Description
$request \Psr\Http\Message\ServerRequestInterface

Throws:


getTokenFromCookie

Get the token from the request cookie if it's present.

private getTokenFromCookie(array $cookies): string|null

Decrypt the cookie token value using the app crypto key.

Return null if the cookie is missing or if the decryption fails.

Parameters:

Parameter Type Description
$cookies array

Throws:


tokensMatch

private tokensMatch(\Psr\Http\Message\ServerRequestInterface $request): bool

Parameters:

Parameter Type Description
$request \Psr\Http\Message\ServerRequestInterface

Throws:


fetchToken

private fetchToken(\Psr\Http\Message\ServerRequestInterface $request): string

Parameters:

Parameter Type Description
$request \Psr\Http\Message\ServerRequestInterface

Throws:


Inherited methods

sign

Sign the value.

protected sign(string $value): string

Parameters:

Parameter Type Description
$value string

Throws:


unsign

Unsign the value.

protected unsign(string $value): string

Parameters:

Parameter Type Description
$value string Encrypted value.

Return Value:

Return the value if signature is valid.

Throws:


compareTokens

protected compareTokens(string $knownString, string $userString): bool

Parameters:

Parameter Type Description
$knownString string
$userString string