OIDC Relying Party Endpoints
a month ago

OIDC Relying Party Endpoints

This topic describes the OIDC Relying Party endpoints.

Authorization

Request Parameters

ParameterPresenceDescription
scopeRequiredMust be openid.

response_type

Required

Implicit Flow (IF): Must be id_token or id_token token.

Authorization Code Flow (ACF): Must be code.

Hybrid Flow (HF): Must be code id_token or code token or code id_token token.

client_idRequiredIdentifies client to the server. Relying Parties table must have client entry identified by (tenant_id, client_id).
redirect_uriRequiredURL to send response. Must match redirect_uri of the client entry in database.
stateRecommendedOpaque value used to maintain state between the request and the response (callback).
response_modeOptionalMechanism to be used for returning response (callback). If present, must be fragment, query, or form_post.
nonce

Implicit Flow (IF): Required

Authorization Code Flow (ACF): Optional

 

String value used to associate a Client session with an ID Token, and to mitigate replay attacks.
displayOptionalNot supported and ignored (now).
promptOptionallogin and consent (if configured) are supported. none and select_account are not supported (now) and presence will produce an error.
max_ageOptionalNot supported and ignored.
ui_localesOptionalNot supported and ignored.
login_hintOptional Identify authenticating user (subject).
acr_valuesOptionalSingle entry may specify authentication policy. Similar to SAML format: urn:rsa:names:tc:oidc:ac:classes:spec:<policy_name>.
claimsOptionalList of claims to be provided in response id_token. Each claim should have definition (mapping to IS property in ia_oidc_relying_party_claims table). Claims without mapping will be ignored.
code_challengeACF/HF: OptionalA challenge derived from the code_verifier. The challenge to be verified at token_endpoint.
code_challenge_methodACF/HF: OptionalA method used to derive code_challenge. Only S256 is supported.


Response Parameters

ParameterPresenceDescription
access_tokenOptionalProvided for IF only if response_type contains token.

token_type

Optional

Provided for IF only if response_type contains token.

expires_inOptionalProvided for IF only if response_type contains token.
codeACF: RequiredProvided for ACF only.
id_tokenIF: RequiredProvided for IF only.
stateOptionalSupported and provided conditionally (upon request).


id_token (IDToken)

ParameterPresenceDescription
issRequiredissuer_uri.

sub

Required

Authentication subject.

audRequiredClient issuer_uri.
expRequiredToken expiration time.
iatRequiredToken issuance time.
auth_timeRequiredAuthentication time.
nonceOptionalSupported and provided conditionally (on request).
acrOptionalSingle entry identifies policy if it was requested in 'acr_values' of request. Otherwise, assurance level of user authentication.
amrOptionalNot supported and not provided.
azpOptionalNot supported and not provided.
<claims>OptionalClaims requested in request and essential claims specified in ia_oidc_relying_party_claims table for the client.

Token

Request Parameters

ParameterPresenceDescription
grant_typeRequiredMust be autorization_code.

code

Required

The code was obtained from response at the authorization endpoint.

redirect_uriRequiredThe response location where the authorization was sent. This value must match the redirect_uri submitted at authorization endpoint.
code_verifierOptionalOpaque value used to derive code_challenge submitted at authorization endpoint.

Response Parameters

ParameterPresenceDescription
access_tokenRequiredProvided.

token_type

Required

Provided: bearer.

expires_inRequiredProvided. Access token is valid for 300 seconds.
codeNot applicable 
id_tokenRequiredProvided.
stateNot applicable 

Endpoint

Well-known URI registry - https://<tenant>/oidc-fe/.well-known/openid-configuration

Example, tenant - demo.auth.example.com