Class ValidatedAuthorizeRequest
- Namespace
- Fdyay.IdentityServer.Validation
- Assembly
- Fdyay.IdentityServer.Core.dll
A validated authorize request.
public sealed class ValidatedAuthorizeRequest : IValidatedRequest
- Inheritance
-
ValidatedAuthorizeRequest
- Implements
- Inherited Members
- Extension Methods
Remarks
An IValidatedRequest since 0.155.0, as Duende's is: the validator writes Options, and the authorize endpoint IssuerName and SessionId, which only it can read.
Properties
AuthenticationContextReferenceClasses
The request's acr_values, each once, hints and all. Duende's.
public List<string> AuthenticationContextReferenceClasses { get; set; }
Property Value
Remarks
An idp: hint naming a provider outside the client's IdentityProviderRestrictions is taken out by the
validator. Change it through ValidatedAuthorizeRequestExtensions, which keeps Raw in step.
AuthorizeRequestType
Where the request came from. Duende's.
public AuthorizeRequestType AuthorizeRequestType { get; set; }
Property Value
Client
The client named by client_id, found enabled and registered for OpenID Connect.
public Client Client { get; set; }
Property Value
CodeChallenge
The PKCE code_challenge (RFC 7636 §4.2) the code is bound to; null when the client sent none.
public string? CodeChallenge { get; set; }
Property Value
CodeChallengeMethod
The PKCE code_challenge_method, S256 or plain; plain when a challenge came without one, as
RFC 7636 §4.3 has it. Null when there is no challenge.
public string? CodeChallengeMethod { get; set; }
Property Value
DPoPKeyThumbprint
The DPoP key the client asked to have the code bound to (RFC 9449 §10).
public string? DPoPKeyThumbprint { get; set; }
Property Value
Description
The name the user gave this grant on the consent page, when they were asked. Duende's.
public string? Description { get; set; }
Property Value
DisplayMode
The request's display, when it is one of OpenID Connect's four. Duende's.
public string? DisplayMode { get; set; }
Property Value
Remarks
page, popup, touch or wap; any other value is ignored, as Duende ignores it.
IsOpenIdRequest
Whether the requested scopes include openid, making this an OpenID Connect authentication request.
public bool IsOpenIdRequest { get; set; }
Property Value
IssuerName
The issuer the request was served as. Duende's.
public string IssuerName { get; set; }
Property Value
Remarks
Written by the authorize endpoint once the validator has answered, so a custom authorize request validator does not see it: Duende's validator reads the issuer itself, and this server's has no HTTP request to read it from.
LoginHint
The request's login_hint, as the client sent it. Duende's.
public string? LoginHint { get; set; }
Property Value
MaxAge
The max_age the client sent, in seconds, or null when it sent none or it was already acted on. Duende's.
public int? MaxAge { get; set; }
Property Value
- int?
Nonce
The request's nonce, carried into the identity token; null when it sent none.
public string? Nonce { get; set; }
Property Value
Options
The options the request was validated under. Duende's.
public IdentityServerOptions Options { get; set; }
Property Value
OriginalPromptModes
The prompt values the client sent. Duende's.
public IEnumerable<string> OriginalPromptModes { get; set; }
Property Value
ProcessedPromptModes
The prompt values already acted on, carried back as suppressed_prompt. Duende's.
public IEnumerable<string> ProcessedPromptModes { get; set; }
Property Value
PromptModes
The prompt values still to be acted on: those the client sent, less those already acted on. Duende's.
public IEnumerable<string> PromptModes { get; set; }
Property Value
Remarks
What the interaction generator reads, rather than the request's parameters, so a custom authorize request validator
that changes it is obeyed. Until 0.142.0 the endpoint read prompt from the parameters, and a validator could
change nothing about it.
PushedAuthorizationReferenceValue
The reference value of the pushed request this one redeems, or null. Duende's.
public string? PushedAuthorizationReferenceValue { get; set; }
Property Value
Remarks
What follows urn:ietf:params:oauth:request_uri: in the request_uri. Written by the authorize endpoint
once the validator has answered, as RequestObject is. It is a bearer credential until the code is issued.
Raw
Every parameter of the request — the request object's, when it came as one.
public IReadOnlyDictionary<string, string> Raw { get; set; }
Property Value
Remarks
Duende's ValidatedRequest.Raw, as a map of single strings as this server reads a request. What a custom
validator reads a parameter of its own from, since nothing else on the request carries one.
RedirectUri
The request's redirect_uri, accepted by the redirect URI validator: where the response is sent.
public string RedirectUri { get; set; }
Property Value
RequestObject
The request object the request came in, as the JWT the client sent, or null. Duende's.
public string? RequestObject { get; set; }
Property Value
Remarks
Written by the authorize endpoint once the validator has answered, as IssuerName is: here the endpoint resolves the object before the validator is asked. Null for an object fetched by reference, whose parameters are stored without it once fetched.
RequestObjectValues
The claims of the request object the request came in, or none. Duende's.
public IEnumerable<Claim> RequestObjectValues { get; set; }
Property Value
Remarks
The signed object's payload, less the claims that belong to the JWT rather than the request, as Duende hands it on — so a host can tell a signed value from one that came in the query string: Raw holds them merged. Empty for a request without one, and for a request object fetched by reference, whose parameters are stored without it once fetched.
RequestedResourceIndicators
The APIs named by resource (RFC 8707), already checked against the requested scopes.
public ICollection<string> RequestedResourceIndicators { get; set; }
Property Value
Remarks
Duende's name and shape: a request may name several, and the code remembers them all.
RequestedScopes
The scope values the request's scope parameter named, each once.
public ICollection<string> RequestedScopes { get; }
Property Value
ResponseMode
How the response goes back to the client: query, form_post or fragment. Duende's.
public string? ResponseMode { get; set; }
Property Value
Remarks
Back in 0.130.0. It was deleted in 0.26.0 as a name with only one value — fragment and form_post were taken for the implicit and hybrid flows' alone, and they are not.
ResponseType
The request's response_type, which is always code: the only one this server supports.
public string ResponseType { get; set; }
Property Value
SessionId
The signed-in user's session, when there is one. Duende's.
public string? SessionId { get; set; }
Property Value
Remarks
Written by the authorize endpoint, as IssuerName is; the code issued carries it.
State
The request's state, echoed back to the client in the response; null when it sent none.
public string? State { get; set; }
Property Value
Subject
The signed-in user, when there is one; null when the user has yet to sign in.
public ClaimsPrincipal? Subject { get; set; }
Property Value
UiLocales
The request's ui_locales, as the client sent it. Duende's.
public string? UiLocales { get; set; }
Property Value
Remarks
What the interaction pages are told the user's language is, through IUiLocalesService.
ValidatedResources
The identity resources, API resources and API scopes the requested scopes resolved to.
public ResourceValidationResult ValidatedResources { get; set; }