This workflow outlines the process for executing a pushed authorization request using Akamai MFA OIDC API.
Submit the authorization request
-
Build an authorization request with the following parameters:
-
client_id. The integration identifier for your Akamai MFA OIDC integration. -
nonce. Random string value included in an authorization request. After a successful authentication, the identity token returned should include thenonceclaim. The value of thenonceclaim in the identity token should be identical to the value of thenonceparameter used in the authorization request. -
redirect_uri. Callback URL where the authorization code should be sent. -
request. Generate a JSON Web Token (JWT) and sign it with your OIDC integration'sSigning Key. TheSigning Keyis Base64URLSafe-NoPadding encoded and can be found on the OIDC integration's page in Enterprise Center. Akamai MFA expectsnonce,username, andredirect_urito be present in the payload. Your JWT may look something like this:#Header { "alg": "HS256", "typ": "JWT" } #Payload { "iat": 1724939908, "exp": 1724940208, "nbf": 1724939908, "nonce": "gTElua2E4RCLl3OZKKgXw8KduXrtmInN", "tid": null, "oid": null, "sub": null, "username": "username", "redirect_uri": "https://mfa.callback.com" } -
response_type. Type of response expected from the authorization server.codeis the only supported response type. -
state. Random string value in an authorization request that helps protect against cross-site request forgeries (CSRF). After a successful authentication, you’re redirected to the URL specified by theredirect_uriparameter. When that happens, thestateis included in the redirect URL. The value of thestateparameter in the redirect URL should match the value of thestateparameter in the authentication request.
-
-
POST to the
/parendpoint. -
The server responds with a JSON payload containing:
request_uri. A unique identifier referencing the stored authentication request.expires_in. The lifetime of the request URI.
Get the authorization code
- After obtaining the
request_uri, the user's browser is redirected to the/authorizeendpoint. The URL includes the following query parameters:request_uri. A unique identifier referencing the stored authentication request.client_id. The identifier for your OIDC integration in Akamai MFA.
- The
/authorizeendpoint retrieves the pushed authorization request details using therequest_uriand verifies the user's identity. - The user completes the Akamai MFA challenge.
- Once authentication and MFA are successfully completed, the server issues an authorization code.
- The authorization server redirects the user's browser to the
redirect_uriwith thecodeandstateappended as query parameters.
Create an ID token
- Send a POST request to the
/tokenendpoint containing:client_secret. The client secret for your Akamai MFA OIDC integration.code. The authorization code.
- The server validates the request and, upon success, returns a JSON response with an
id_tokencontaining information about the user.
