#### [Abblix\.Oidc\.Server](https://www.abblix.com/en/docs/api/abblix-oidc-server 'index')

## Abblix\.Oidc\.Server\.Endpoints\.EndSession\.Validation Namespace

| Classes | |
| :--- | :--- |
| [ClientValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.EndSession.Validation.ClientValidator 'Abblix\.Oidc\.Server\.Endpoints\.EndSession\.Validation\.ClientValidator') | Resolves the client referenced by the request \(either via `client_id` directly or via `id_token_hint`'s audience\) into a [ClientInfo](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.ClientInformation.ClientInfo 'Abblix\.Oidc\.Server\.Features\.ClientInformation\.ClientInfo') stored on the context for later steps such as post\-logout redirect URI validation\. A request with no client identifier at all is permitted to pass; an identifier that does not resolve yields [UnauthorizedClient](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Constants.ErrorCodes#Abblix.Oidc.Server.Common.Constants.ErrorCodes.UnauthorizedClient 'Abblix\.Oidc\.Server\.Common\.Constants\.ErrorCodes\.UnauthorizedClient')\. |
| [ConfirmationValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.EndSession.Validation.ConfirmationValidator 'Abblix\.Oidc\.Server\.Endpoints\.EndSession\.Validation\.ConfirmationValidator') | Enforces the end\-user confirmation step described in OpenID Connect RP\-Initiated Logout 1\.0 §2: when the request omits `id_token_hint` the OP cannot trust that the user really initiated the logout, so a UI confirmation must precede the call\. This validator surfaces [ConfirmationRequired](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Constants.ErrorCodes#Abblix.Oidc.Server.Common.Constants.ErrorCodes.ConfirmationRequired 'Abblix\.Oidc\.Server\.Common\.Constants\.ErrorCodes\.ConfirmationRequired') until the host echoes back `confirmed=true`\. |
| [EndSessionContextValidatorComposite](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.EndSession.Validation.EndSessionContextValidatorComposite 'Abblix\.Oidc\.Server\.Endpoints\.EndSession\.Validation\.EndSessionContextValidatorComposite') | Represents a composite validator for end\-session requests\. |
| [EndSessionValidationContext](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.EndSession.Validation.EndSessionValidationContext 'Abblix\.Oidc\.Server\.Endpoints\.EndSession\.Validation\.EndSessionValidationContext') | Represents the context for validating an end\-session request\. |
| [IdTokenHintValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.EndSession.Validation.IdTokenHintValidator 'Abblix\.Oidc\.Server\.Endpoints\.EndSession\.Validation\.IdTokenHintValidator') | Validates the `id_token_hint` parameter \(OpenID Connect RP\-Initiated Logout 1\.0 §2\): verifies signature/issuer/audience but deliberately accepts expired tokens \(since the hint's role is to identify a no\-longer\-active session\), then either populates `ClientId` from the token's audience when the request omitted it, or asserts that an explicitly supplied `client_id` matches that audience\. |
| [PostLogoutRedirectUrisValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.EndSession.Validation.PostLogoutRedirectUrisValidator 'Abblix\.Oidc\.Server\.Endpoints\.EndSession\.Validation\.PostLogoutRedirectUrisValidator') | Verifies that the request's `post_logout_redirect_uri` is one of the URIs the resolved client previously registered \(OpenID Connect RP\-Initiated Logout 1\.0 §2\)\. A request without `post_logout_redirect_uri` is allowed; if one is present but the client cannot be resolved from `client_id` or `id_token_hint`, the redirect URI cannot be safely validated and the request is rejected\. |

| Interfaces | |
| :--- | :--- |
| [IEndSessionContextValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.EndSession.Validation.IEndSessionContextValidator 'Abblix\.Oidc\.Server\.Endpoints\.EndSession\.Validation\.IEndSessionContextValidator') | One step in the end\-session validation pipeline\. Each implementation inspects \(and may enrich\) a shared [EndSessionValidationContext](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.EndSession.Validation.EndSessionValidationContext 'Abblix\.Oidc\.Server\.Endpoints\.EndSession\.Validation\.EndSessionValidationContext'); returning a non\-null [OidcError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.OidcError 'Abblix\.Oidc\.Server\.Common\.OidcError') aborts the pipeline\. Implementations are composed via [EndSessionContextValidatorComposite](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.EndSession.Validation.EndSessionContextValidatorComposite 'Abblix\.Oidc\.Server\.Endpoints\.EndSession\.Validation\.EndSessionContextValidatorComposite')\. |
