class ApiKeyAuthenticationMiddleware (View source)

API Key Authentication Middleware

This middleware checks for API key in request headers and authenticates the user if the key is valid

Methods

__construct(PDO $db, ConfigurationManager $config)

Constructor

bool
process(Request $request)

Process the request

int
getAuthenticatedUserId(Request $request)

Get authenticated user ID from API key (stateless)

int|null
getAuthenticatedApiKeyId(Request $request)

Get the api_keys row id for the request's key (stateless), for audit logging.

getApiKeyScope(Request $request)

Get the permission scope of the request's API key (stateless)

JsonResponse
handleUnauthenticated()

Handle anonymous request on API routes that require authentication

Details

__construct(PDO $db, ConfigurationManager $config)

Constructor

Parameters

PDO $db

Database connection

ConfigurationManager $config

Configuration manager

bool process(Request $request)

Process the request

Parameters

Request $request

The HTTP request

Return Value

bool

True if authentication succeeded, false otherwise

int getAuthenticatedUserId(Request $request)

Get authenticated user ID from API key (stateless)

Parameters

Request $request

The HTTP request

Return Value

int

User ID or 0 if not authenticated

int|null getAuthenticatedApiKeyId(Request $request)

Get the api_keys row id for the request's key (stateless), for audit logging.

Parameters

Request $request

The HTTP request

Return Value

int|null

The key id, or null when no key is present/resolvable

ApiKeyScope|null getApiKeyScope(Request $request)

Get the permission scope of the request's API key (stateless)

Parameters

Request $request

The HTTP request

Return Value

ApiKeyScope|null

The scope, or null when no key is present/resolvable

JsonResponse handleUnauthenticated()

Handle anonymous request on API routes that require authentication

Return Value

JsonResponse