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

## ResourceManagerExtensions Class

Provides extension methods for resource validation, leveraging a resource manager to ensure the validity and
permissibility of requested resources\.

```csharp
public static class ResourceManagerExtensions
```

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

## ResourceManagerExtensions\.Validate\(this IResourceManager, IEnumerable\<Uri\>, IEnumerable\<string\>, ResourceDefinition\[\], string\) Method {#Abblix.Oidc.Server.Features.ResourceIndicators.ResourceManagerExtensions.Validate(thisAbblix.Oidc.Server.Features.ResourceIndicators.IResourceManager,System.Collections.Generic.IEnumerable_System.Uri_,System.Collections.Generic.IEnumerable_string_,Abblix.Oidc.Server.Common.Constants.ResourceDefinition[],string)}

Validates requested resources against registered resource definitions to confirm their validity and
authorization\.
This method ensures that resources and the requested scopes within those resources are registered and allowed\.

```csharp
public static bool Validate(this Abblix.Oidc.Server.Features.ResourceIndicators.IResourceManager resourceManager, System.Collections.Generic.IEnumerable<System.Uri> resources, System.Collections.Generic.IEnumerable<string> scopes, out Abblix.Oidc.Server.Common.Constants.ResourceDefinition[] resourceDefinitions, out string errorDescription);
```
#### Parameters

###### `resourceManager` [IResourceManager](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.ResourceIndicators.IResourceManager 'Abblix\.Oidc\.Server\.Features\.ResourceIndicators\.IResourceManager') {#Abblix.Oidc.Server.Features.ResourceIndicators.ResourceManagerExtensions.Validate(thisAbblix.Oidc.Server.Features.ResourceIndicators.IResourceManager,System.Collections.Generic.IEnumerable_System.Uri_,System.Collections.Generic.IEnumerable_string_,Abblix.Oidc.Server.Common.Constants.ResourceDefinition[],string).resourceManager}

The resource manager that maintains the definitions of resources\.

###### `resources` [System\.Collections\.Generic\.IEnumerable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[System\.Uri](https://learn.microsoft.com/en-us/dotnet/api/system.uri 'System\.Uri')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1') {#Abblix.Oidc.Server.Features.ResourceIndicators.ResourceManagerExtensions.Validate(thisAbblix.Oidc.Server.Features.ResourceIndicators.IResourceManager,System.Collections.Generic.IEnumerable_System.Uri_,System.Collections.Generic.IEnumerable_string_,Abblix.Oidc.Server.Common.Constants.ResourceDefinition[],string).resources}

A collection of URIs representing the resources being requested\.

###### `scopes` [System\.Collections\.Generic\.IEnumerable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1') {#Abblix.Oidc.Server.Features.ResourceIndicators.ResourceManagerExtensions.Validate(thisAbblix.Oidc.Server.Features.ResourceIndicators.IResourceManager,System.Collections.Generic.IEnumerable_System.Uri_,System.Collections.Generic.IEnumerable_string_,Abblix.Oidc.Server.Common.Constants.ResourceDefinition[],string).scopes}

A collection of scope identifiers associated with the request\.

###### `resourceDefinitions` [ResourceDefinition](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Constants.ResourceDefinition 'Abblix\.Oidc\.Server\.Common\.Constants\.ResourceDefinition')[\[\]](https://learn.microsoft.com/en-us/dotnet/api/system.array 'System\.Array') {#Abblix.Oidc.Server.Features.ResourceIndicators.ResourceManagerExtensions.Validate(thisAbblix.Oidc.Server.Features.ResourceIndicators.IResourceManager,System.Collections.Generic.IEnumerable_System.Uri_,System.Collections.Generic.IEnumerable_string_,Abblix.Oidc.Server.Common.Constants.ResourceDefinition[],string).resourceDefinitions}

Outputs an array of [ResourceDefinition](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Constants.ResourceDefinition 'Abblix\.Oidc\.Server\.Common\.Constants\.ResourceDefinition') objects if
            the validation is successful, otherwise null\.

###### `errorDescription` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.Oidc.Server.Features.ResourceIndicators.ResourceManagerExtensions.Validate(thisAbblix.Oidc.Server.Features.ResourceIndicators.IResourceManager,System.Collections.Generic.IEnumerable_System.Uri_,System.Collections.Generic.IEnumerable_string_,Abblix.Oidc.Server.Common.Constants.ResourceDefinition[],string).errorDescription}

Outputs a string describing the reason for validation failure,
            otherwise null if the validation is successful\.

#### Returns
[System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')  
True if all requested resources and their corresponding scopes are valid and permissible,
            false otherwise\.
