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 thenonce
claim. The value of thenonce
claim in the identity token should be identical to the value of thenonce
parameter 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 Key
is Base64URLSafe-NoPadding encoded and can be found on the OIDC integration's page in Enterprise Center. Akamai MFA expectsnonce
,username
, andredirect_uri
to 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.code
is 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_uri
parameter. When that happens, thestate
is included in the redirect URL. The value of thestate
parameter in the redirect URL should match the value of thestate
parameter in the authentication request.
-
-
POST to the
/par
endpoint. -
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/authorize
endpoint. 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
/authorize
endpoint retrieves the pushed authorization request details using therequest_uri
and 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_uri
with thecode
andstate
appended as query parameters.
Create an ID token
- Send a POST request to the
/token
endpoint 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_token
containing information about the user.