OidcLoginController
in package
Step 1 of "Login with AXIAM" (CONTRACT.md §12.1 `oidc_begin`): an invokable controller that builds the authorization request, parks its `state`/`nonce`/`code_verifier` in the configured {@see \Axiam\Sdk\Oidc\OidcStateStoreInterface}, and redirects the browser to the IdP. All security-critical logic lives in {@see OidcLoginFlow} — this class only translates its {@see OidcLoginOutcome} into an HTTP response, exactly as {@see AxiamMiddleware} never duplicates {@see \Axiam\Sdk\AxiamClient}'s own verification logic.
Type-hinted against Symfony\Component\HttpFoundation\Request/Response
(already the pattern AxiamMiddleware uses) rather than
Illuminate\Http\*, so this class needs no new runtime dependency beyond what a
Laravel application already ships transitively (D-01).
Table of Contents
Methods
- __construct() : mixed
- __invoke() : Response
- Handles the login GET request and returns the mapped HTTP response (a redirect to the IdP, or a 503 error body).
- toResponse() : Response
- Shared outcome → HTTP-response translation, reused by {@see OidcCallbackController} (both add nothing of their own beyond this translation, mirroring how {@see AxiamMiddleware}/{@see AxiamAuthSubscriber} independently — but identically — build their own 401/403 bodies).
Methods
__construct()
public
__construct(OidcLoginFlow $flow) : mixed
Parameters
- $flow : OidcLoginFlow
__invoke()
Handles the login GET request and returns the mapped HTTP response (a redirect to the IdP, or a 503 error body).
public
__invoke(Request $request) : Response
Parameters
- $request : Request
Return values
ResponsetoResponse()
Shared outcome → HTTP-response translation, reused by {@see OidcCallbackController} (both add nothing of their own beyond this translation, mirroring how {@see AxiamMiddleware}/{@see AxiamAuthSubscriber} independently — but identically — build their own 401/403 bodies).
public
static toResponse(OidcLoginOutcome $outcome) : Response
Parameters
- $outcome : OidcLoginOutcome