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

## ErrorFactory Class

Provides a factory for creating standardized authorization request error responses\.
This factory simplifies the creation of error responses for various types of validation failures
during authorization request processing\.

```csharp
public static class ErrorFactory
```

Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → ErrorFactory
### Methods

## ErrorFactory\.Error\(this AuthorizationValidationContext, string, string\) Method {#Abblix.Oidc.Server.Endpoints.Authorization.Validation.ErrorFactory.Error(thisAbblix.Oidc.Server.Endpoints.Authorization.Validation.AuthorizationValidationContext,string,string)}

Creates an [AuthorizationRequestValidationError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationRequestValidationError') with a specified error code and description,
using the context from an [AuthorizationValidationContext](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Validation.AuthorizationValidationContext 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Validation\.AuthorizationValidationContext')\.

```csharp
public static Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError Error(this Abblix.Oidc.Server.Endpoints.Authorization.Validation.AuthorizationValidationContext context, string error, string description);
```
#### Parameters

###### `context` [AuthorizationValidationContext](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Validation.AuthorizationValidationContext 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Validation\.AuthorizationValidationContext') {#Abblix.Oidc.Server.Endpoints.Authorization.Validation.ErrorFactory.Error(thisAbblix.Oidc.Server.Endpoints.Authorization.Validation.AuthorizationValidationContext,string,string).context}

The validation context associated with the authorization request\.

###### `error` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.Oidc.Server.Endpoints.Authorization.Validation.ErrorFactory.Error(thisAbblix.Oidc.Server.Endpoints.Authorization.Validation.AuthorizationValidationContext,string,string).error}

The error code as defined by the OpenID Connect and OAuth 2\.0 specifications\.

###### `description` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.Oidc.Server.Endpoints.Authorization.Validation.ErrorFactory.Error(thisAbblix.Oidc.Server.Endpoints.Authorization.Validation.AuthorizationValidationContext,string,string).description}

A human\-readable description of the error\.

#### Returns
[AuthorizationRequestValidationError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationRequestValidationError')  
An [AuthorizationRequestValidationError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationRequestValidationError') instance encapsulating the error details\.

## ErrorFactory\.InvalidAuthorizationDetails\(this AuthorizationValidationContext, string\) Method {#Abblix.Oidc.Server.Endpoints.Authorization.Validation.ErrorFactory.InvalidAuthorizationDetails(thisAbblix.Oidc.Server.Endpoints.Authorization.Validation.AuthorizationValidationContext,string)}

Creates an [AuthorizationRequestValidationError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationRequestValidationError') indicating an invalid
`authorization_details` array per RFC 9396 §4 / §5\. Used when an entry references an
unknown `type`, fails per\-type schema validation, or is not in the per\-client allowlist\.

```csharp
public static Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError InvalidAuthorizationDetails(this Abblix.Oidc.Server.Endpoints.Authorization.Validation.AuthorizationValidationContext context, string description);
```
#### Parameters

###### `context` [AuthorizationValidationContext](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Validation.AuthorizationValidationContext 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Validation\.AuthorizationValidationContext') {#Abblix.Oidc.Server.Endpoints.Authorization.Validation.ErrorFactory.InvalidAuthorizationDetails(thisAbblix.Oidc.Server.Endpoints.Authorization.Validation.AuthorizationValidationContext,string).context}

The validation context associated with the request\.

###### `description` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.Oidc.Server.Endpoints.Authorization.Validation.ErrorFactory.InvalidAuthorizationDetails(thisAbblix.Oidc.Server.Endpoints.Authorization.Validation.AuthorizationValidationContext,string).description}

A human\-readable description of the rejection cause\.

#### Returns
[AuthorizationRequestValidationError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationRequestValidationError')  
An [AuthorizationRequestValidationError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationRequestValidationError') with the RAR\-specific error code\.

## ErrorFactory\.InvalidClient\(string\) Method {#Abblix.Oidc.Server.Endpoints.Authorization.Validation.ErrorFactory.InvalidClient(string)}

Creates an [AuthorizationRequestValidationError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationRequestValidationError') indicating an invalid client error\.
This error type is used when the client authentication fails or when the client is not authorized to perform
the requested operation\. It may occur due to issues like incorrect client credentials, unauthorized grant types
for the client, or the client being unknown to the authorization server\.

```csharp
public static Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError InvalidClient(string description);
```
#### Parameters

###### `description` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.Oidc.Server.Endpoints.Authorization.Validation.ErrorFactory.InvalidClient(string).description}

A human\-readable description specifying why the client is considered invalid\.

#### Returns
[AuthorizationRequestValidationError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationRequestValidationError')  
An [AuthorizationRequestValidationError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationRequestValidationError') with the specified error details, indicating that
            the error relates to an invalid client\.

## ErrorFactory\.InvalidRequest\(string\) Method {#Abblix.Oidc.Server.Endpoints.Authorization.Validation.ErrorFactory.InvalidRequest(string)}

Creates an [AuthorizationRequestValidationError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationRequestValidationError') for a general invalid request error,
without an associated validation context\.

```csharp
public static Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError InvalidRequest(string description);
```
#### Parameters

###### `description` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.Oidc.Server.Endpoints.Authorization.Validation.ErrorFactory.InvalidRequest(string).description}

A description of what was invalid about the request\.

#### Returns
[AuthorizationRequestValidationError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationRequestValidationError')  
An [AuthorizationRequestValidationError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationRequestValidationError') with the specified error details\.

## ErrorFactory\.InvalidRequest\(this AuthorizationValidationContext, string\) Method {#Abblix.Oidc.Server.Endpoints.Authorization.Validation.ErrorFactory.InvalidRequest(thisAbblix.Oidc.Server.Endpoints.Authorization.Validation.AuthorizationValidationContext,string)}

Creates an [AuthorizationRequestValidationError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationRequestValidationError') indicating an invalid request\.
This error type is commonly used when an authorization request fails due to missing or invalid parameters\.

```csharp
public static Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError InvalidRequest(this Abblix.Oidc.Server.Endpoints.Authorization.Validation.AuthorizationValidationContext context, string description);
```
#### Parameters

###### `context` [AuthorizationValidationContext](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Validation.AuthorizationValidationContext 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Validation\.AuthorizationValidationContext') {#Abblix.Oidc.Server.Endpoints.Authorization.Validation.ErrorFactory.InvalidRequest(thisAbblix.Oidc.Server.Endpoints.Authorization.Validation.AuthorizationValidationContext,string).context}

The validation context associated with the request, providing additional context for
            the error response\.

###### `description` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.Oidc.Server.Endpoints.Authorization.Validation.ErrorFactory.InvalidRequest(thisAbblix.Oidc.Server.Endpoints.Authorization.Validation.AuthorizationValidationContext,string).description}

A human\-readable explanation detailing what was invalid about the request\.

#### Returns
[AuthorizationRequestValidationError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationRequestValidationError')  
An [AuthorizationRequestValidationError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationRequestValidationError') instance encapsulating the error details\.

## ErrorFactory\.InvalidRequestObject\(string\) Method {#Abblix.Oidc.Server.Endpoints.Authorization.Validation.ErrorFactory.InvalidRequestObject(string)}

Creates an [AuthorizationRequestValidationError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationRequestValidationError') indicating an invalid request object\.
This error is used when the request object \(JWT\) in an authorization request is invalid, such as when
signature validation fails or required claims are missing\.

```csharp
public static Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError InvalidRequestObject(string description);
```
#### Parameters

###### `description` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.Oidc.Server.Endpoints.Authorization.Validation.ErrorFactory.InvalidRequestObject(string).description}

A description of the issue with the request object\.

#### Returns
[AuthorizationRequestValidationError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationRequestValidationError')  
An [AuthorizationRequestValidationError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationRequestValidationError') for the invalid request object\.

## ErrorFactory\.InvalidRequestUri\(string\) Method {#Abblix.Oidc.Server.Endpoints.Authorization.Validation.ErrorFactory.InvalidRequestUri(string)}

Creates an [AuthorizationRequestValidationError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationRequestValidationError') indicating an invalid request URI\.
This error is used when the request\_uri parameter of an authorization request is invalid or malformed\.

```csharp
public static Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError InvalidRequestUri(string description);
```
#### Parameters

###### `description` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.Oidc.Server.Endpoints.Authorization.Validation.ErrorFactory.InvalidRequestUri(string).description}

A description of the issue with the request URI\.

#### Returns
[AuthorizationRequestValidationError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationRequestValidationError')  
An [AuthorizationRequestValidationError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationRequestValidationError') for the invalid request URI\.

## ErrorFactory\.InvalidScope\(this AuthorizationValidationContext, string\) Method {#Abblix.Oidc.Server.Endpoints.Authorization.Validation.ErrorFactory.InvalidScope(thisAbblix.Oidc.Server.Endpoints.Authorization.Validation.AuthorizationValidationContext,string)}

Creates an [AuthorizationRequestValidationError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationRequestValidationError') indicating an invalid scope error\.
This error type is used when the scopes requested by the client are not supported or are inappropriate
for the requested operation\.

```csharp
public static Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError InvalidScope(this Abblix.Oidc.Server.Endpoints.Authorization.Validation.AuthorizationValidationContext context, string description);
```
#### Parameters

###### `context` [AuthorizationValidationContext](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Validation.AuthorizationValidationContext 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Validation\.AuthorizationValidationContext') {#Abblix.Oidc.Server.Endpoints.Authorization.Validation.ErrorFactory.InvalidScope(thisAbblix.Oidc.Server.Endpoints.Authorization.Validation.AuthorizationValidationContext,string).context}

The validation context associated with the request, providing additional context for
            the error response\.

###### `description` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.Oidc.Server.Endpoints.Authorization.Validation.ErrorFactory.InvalidScope(thisAbblix.Oidc.Server.Endpoints.Authorization.Validation.AuthorizationValidationContext,string).description}

A human\-readable description of why the requested scopes are invalid\.

#### Returns
[AuthorizationRequestValidationError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationRequestValidationError')  
An [AuthorizationRequestValidationError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationRequestValidationError') with details about the scope\-related issue\.

## ErrorFactory\.ValidationError\(string, string\) Method {#Abblix.Oidc.Server.Endpoints.Authorization.Validation.ErrorFactory.ValidationError(string,string)}

A private helper method to create an [AuthorizationRequestValidationError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationRequestValidationError') with
a specified error code and description\.

```csharp
public static Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError ValidationError(string error, string description);
```
#### Parameters

###### `error` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.Oidc.Server.Endpoints.Authorization.Validation.ErrorFactory.ValidationError(string,string).error}

The error code as defined by the OpenID Connect and OAuth 2\.0 specifications\.

###### `description` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.Oidc.Server.Endpoints.Authorization.Validation.ErrorFactory.ValidationError(string,string).description}

A human\-readable description of the error\.

#### Returns
[AuthorizationRequestValidationError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationRequestValidationError')  
An [AuthorizationRequestValidationError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationRequestValidationError') instance with the specified error details\.
