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

## UriValidatorFactory Class

Provides a factory method for creating URI validators\. Depending on the number of URIs provided,
it creates either a single exact match validator or a composite validator that combines multiple exact
match validators\.

```csharp
public static class UriValidatorFactory
```

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

## UriValidatorFactory\.Create\(bool, Uri\[\]\) Method {#Abblix.Oidc.Server.Features.UriValidation.UriValidatorFactory.Create(bool,System.Uri[])}

Creates a URI validator based on the given URIs,
with an option to ignore query strings and fragments during validation\.

```csharp
public static Abblix.Oidc.Server.Features.UriValidation.IUriValidator Create(bool ignoreQueryAndFragment, params System.Uri[] validUris);
```
#### Parameters

###### `ignoreQueryAndFragment` [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') {#Abblix.Oidc.Server.Features.UriValidation.UriValidatorFactory.Create(bool,System.Uri[]).ignoreQueryAndFragment}

Specifies whether query strings and fragments should be ignored during validation\.

###### `validUris` [System\.Uri](https://learn.microsoft.com/en-us/dotnet/api/system.uri 'System\.Uri')[\[\]](https://learn.microsoft.com/en-us/dotnet/api/system.array 'System\.Array') {#Abblix.Oidc.Server.Features.UriValidation.UriValidatorFactory.Create(bool,System.Uri[]).validUris}

An array of URIs to be used for validation\.

#### Returns
[IUriValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.UriValidation.IUriValidator 'Abblix\.Oidc\.Server\.Features\.UriValidation\.IUriValidator')  
An [IUriValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.UriValidation.IUriValidator 'Abblix\.Oidc\.Server\.Features\.UriValidation\.IUriValidator') instance that can validate URIs based on the provided URIs\.
Returns an [ExactMatchUriValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.UriValidation.ExactMatchUriValidator 'Abblix\.Oidc\.Server\.Features\.UriValidation\.ExactMatchUriValidator') for a single URI or a [CompositeUriValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.UriValidation.CompositeUriValidator 'Abblix\.Oidc\.Server\.Features\.UriValidation\.CompositeUriValidator')
for multiple URIs\.

### Remarks
\- If only one URI is provided, an [ExactMatchUriValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.UriValidation.ExactMatchUriValidator 'Abblix\.Oidc\.Server\.Features\.UriValidation\.ExactMatchUriValidator') is returned\.
\- If multiple URIs are provided, a [CompositeUriValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.UriValidation.CompositeUriValidator 'Abblix\.Oidc\.Server\.Features\.UriValidation\.CompositeUriValidator') is returned, which validates
  against all specified URIs\.
\- The \`ignoreQueryAndFragment\` parameter determines whether query strings and fragments in URIs
  are considered during validation\.

## UriValidatorFactory\.Create\(Uri\[\]\) Method {#Abblix.Oidc.Server.Features.UriValidation.UriValidatorFactory.Create(System.Uri[])}

Creates a URI validator based on the given URIs\.
If only one URI is provided, it returns an [ExactMatchUriValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.UriValidation.ExactMatchUriValidator 'Abblix\.Oidc\.Server\.Features\.UriValidation\.ExactMatchUriValidator') for that URI\.
If multiple URIs are provided, it returns a [CompositeUriValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.UriValidation.CompositeUriValidator 'Abblix\.Oidc\.Server\.Features\.UriValidation\.CompositeUriValidator') that validates against
all given URIs\.

```csharp
public static Abblix.Oidc.Server.Features.UriValidation.IUriValidator Create(params System.Uri[] validUris);
```
#### Parameters

###### `validUris` [System\.Uri](https://learn.microsoft.com/en-us/dotnet/api/system.uri 'System\.Uri')[\[\]](https://learn.microsoft.com/en-us/dotnet/api/system.array 'System\.Array') {#Abblix.Oidc.Server.Features.UriValidation.UriValidatorFactory.Create(System.Uri[]).validUris}

An array of URIs to be used for validation\.

#### Returns
[IUriValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.UriValidation.IUriValidator 'Abblix\.Oidc\.Server\.Features\.UriValidation\.IUriValidator')  
An [IUriValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.UriValidation.IUriValidator 'Abblix\.Oidc\.Server\.Features\.UriValidation\.IUriValidator') instance that can validate URIs based on the provided URIs\.
Returns an [ExactMatchUriValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.UriValidation.ExactMatchUriValidator 'Abblix\.Oidc\.Server\.Features\.UriValidation\.ExactMatchUriValidator') for a single URI or a [CompositeUriValidator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.UriValidation.CompositeUriValidator 'Abblix\.Oidc\.Server\.Features\.UriValidation\.CompositeUriValidator')
for multiple URIs\.

### Remarks
Use this method when you want to create a validator with default behavior for handling query strings
and fragments during validation\.
