Skip to content

Fortified IDDocs

Authorization code

Configuration and usage guidance for Authorization code in Fortified ID Access.

For the authorization code flow, calling the token endpoint is the second step of the flow. HTTP POST is used for the token endpoint.

Example: http://127.0.0.1:8080/oidc/tenant1/token-endpoint

These parameters must be posted as a part of the URL-encoded form values.

ParameterDescriptionMandatory
codeThe value that was returned from the authorization endpoint.true
client_idIdentifies the client and must match the value configured in FortifiedID Integrity.false
client_secretAuthenticates the client and must match the value configured in FortifiedID Integrity.false
grant_typeSupported value is authorization_code.false
redirect_uriSpecifies the redirect location. It must match the value configured in FortifiedID Integrity.true
code_verifierRequired if code_challenge was used in the authorization endpoint request.false

When token_endpoint_auth_methods is omitted on the RP, existing Basic/POST authentication and authorization-code requests using PKCE without client authentication retain their behavior. An explicit list requires one of its allowed methods even when PKCE is used. A request with neither accepted client authentication nor PKCE is rejected.

If the authorization request used code_challenge, include code_verifier in the token request regardless of the client authentication method. Include client_id for PKCE-only and client_secret_post requests so Access can resolve the RP. For JWT authentication, client_id may be omitted; if supplied, it must match the assertion.

See Client authentication for JWT assertion parameters, verification keys and replay protection.

Access supports the following client authentication methods for authorization-code requests:

Method Description
client_secret_basic Send the client ID and secret in the Basic Authorization header.
client_secret_post Send client_id and client_secret in the POST request body.
client_secret_jwt Send a JWT assertion signed with the client's shared secret using HS256.
private_key_jwt Send a JWT assertion signed with the client's private key using RS256.