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

## OidcEndpointResolver Class

Answers [IOidcEndpointResolver](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Interfaces.IOidcEndpointResolver 'Abblix\.Oidc\.Server\.Common\.Interfaces\.IOidcEndpointResolver') from the endpoints
[MapOidcEndpoints\(this IEndpointRouteBuilder, string\)](https://www.abblix.com/en/docs/api/abblix-oidc-server-minimalapi/Abblix.Oidc.Server.MinimalApi.EndpointRouteBuilderExtensions#Abblix.Oidc.Server.MinimalApi.EndpointRouteBuilderExtensions.MapOidcEndpoints(thisMicrosoft.AspNetCore.Routing.IEndpointRouteBuilder,string) 'Abblix\.Oidc\.Server\.MinimalApi\.EndpointRouteBuilderExtensions\.MapOidcEndpoints\(this Microsoft\.AspNetCore\.Routing\.IEndpointRouteBuilder, string\)') actually mapped,
found by the stable name each one carries\.

```csharp
public class OidcEndpointResolver : Abblix.Oidc.Server.Common.Interfaces.IOidcEndpointResolver
```

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

Implements [IOidcEndpointResolver](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Interfaces.IOidcEndpointResolver 'Abblix\.Oidc\.Server\.Common\.Interfaces\.IOidcEndpointResolver')

### Remarks
Going through [Microsoft\.AspNetCore\.Routing\.LinkGenerator](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.routing.linkgenerator 'Microsoft\.AspNetCore\.Routing\.LinkGenerator') rather than reading [OidcRouteOptions](https://www.abblix.com/en/docs/api/abblix-oidc-server-minimalapi/Abblix.Oidc.Server.MinimalApi.OidcRouteOptions 'Abblix\.Oidc\.Server\.MinimalApi\.OidcRouteOptions') is what makes
the answer the truth rather than a reconstruction of it: the generator sees the route as mapped, so a group
prefix, the request's scheme and host, and the application's path base are all already in it\. A disabled
endpoint was never mapped and therefore has no name to find, which is the same null this contract returns
for it\.
### Constructors

## OidcEndpointResolver\(IHttpContextAccessor, LinkGenerator\) Constructor {#Abblix.Oidc.Server.MinimalApi.Features.EndpointResolving.OidcEndpointResolver.OidcEndpointResolver(Microsoft.AspNetCore.Http.IHttpContextAccessor,Microsoft.AspNetCore.Routing.LinkGenerator)}

Answers [IOidcEndpointResolver](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Interfaces.IOidcEndpointResolver 'Abblix\.Oidc\.Server\.Common\.Interfaces\.IOidcEndpointResolver') from the endpoints
[MapOidcEndpoints\(this IEndpointRouteBuilder, string\)](https://www.abblix.com/en/docs/api/abblix-oidc-server-minimalapi/Abblix.Oidc.Server.MinimalApi.EndpointRouteBuilderExtensions#Abblix.Oidc.Server.MinimalApi.EndpointRouteBuilderExtensions.MapOidcEndpoints(thisMicrosoft.AspNetCore.Routing.IEndpointRouteBuilder,string) 'Abblix\.Oidc\.Server\.MinimalApi\.EndpointRouteBuilderExtensions\.MapOidcEndpoints\(this Microsoft\.AspNetCore\.Routing\.IEndpointRouteBuilder, string\)') actually mapped,
found by the stable name each one carries\.

```csharp
public OidcEndpointResolver(Microsoft.AspNetCore.Http.IHttpContextAccessor httpContextAccessor, Microsoft.AspNetCore.Routing.LinkGenerator linkGenerator);
```
#### Parameters

###### `httpContextAccessor` [Microsoft\.AspNetCore\.Http\.IHttpContextAccessor](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.http.ihttpcontextaccessor 'Microsoft\.AspNetCore\.Http\.IHttpContextAccessor') {#Abblix.Oidc.Server.MinimalApi.Features.EndpointResolving.OidcEndpointResolver.OidcEndpointResolver(Microsoft.AspNetCore.Http.IHttpContextAccessor,Microsoft.AspNetCore.Routing.LinkGenerator).httpContextAccessor}

###### `linkGenerator` [Microsoft\.AspNetCore\.Routing\.LinkGenerator](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.routing.linkgenerator 'Microsoft\.AspNetCore\.Routing\.LinkGenerator') {#Abblix.Oidc.Server.MinimalApi.Features.EndpointResolving.OidcEndpointResolver.OidcEndpointResolver(Microsoft.AspNetCore.Http.IHttpContextAccessor,Microsoft.AspNetCore.Routing.LinkGenerator).linkGenerator}

### Remarks
Going through [Microsoft\.AspNetCore\.Routing\.LinkGenerator](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.routing.linkgenerator 'Microsoft\.AspNetCore\.Routing\.LinkGenerator') rather than reading [OidcRouteOptions](https://www.abblix.com/en/docs/api/abblix-oidc-server-minimalapi/Abblix.Oidc.Server.MinimalApi.OidcRouteOptions 'Abblix\.Oidc\.Server\.MinimalApi\.OidcRouteOptions') is what makes
the answer the truth rather than a reconstruction of it: the generator sees the route as mapped, so a group
prefix, the request's scheme and host, and the application's path base are all already in it\. A disabled
endpoint was never mapped and therefore has no name to find, which is the same null this contract returns
for it\.
### Methods

## OidcEndpointResolver\.Resolve\(OidcEndpoints\) Method {#Abblix.Oidc.Server.MinimalApi.Features.EndpointResolving.OidcEndpointResolver.Resolve(Abblix.Oidc.Server.Common.Configuration.OidcEndpoints)}

Returns the absolute URL of [endpoint](https://www.abblix.com/en/docs/api/abblix-oidc-server-minimalapi/Abblix.Oidc.Server.MinimalApi.Features.EndpointResolving.OidcEndpointResolver#Abblix.Oidc.Server.MinimalApi.Features.EndpointResolving.OidcEndpointResolver.Resolve(Abblix.Oidc.Server.Common.Configuration.OidcEndpoints).endpoint 'Abblix\.Oidc\.Server\.MinimalApi\.Features\.EndpointResolving\.OidcEndpointResolver\.Resolve\(Abblix\.Oidc\.Server\.Common\.Configuration\.OidcEndpoints\)\.endpoint') for the current request\.

```csharp
public System.Uri? Resolve(Abblix.Oidc.Server.Common.Configuration.OidcEndpoints endpoint);
```
#### Parameters

###### `endpoint` [OidcEndpoints](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Configuration.OidcEndpoints 'Abblix\.Oidc\.Server\.Common\.Configuration\.OidcEndpoints') {#Abblix.Oidc.Server.MinimalApi.Features.EndpointResolving.OidcEndpointResolver.Resolve(Abblix.Oidc.Server.Common.Configuration.OidcEndpoints).endpoint}

The endpoint to resolve\. Exactly one flag, never a combination: [All](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Configuration.OidcEndpoints#Abblix.Oidc.Server.Common.Configuration.OidcEndpoints.All 'Abblix\.Oidc\.Server\.Common\.Configuration\.OidcEndpoints\.All') and
[Base](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Configuration.OidcEndpoints#Abblix.Oidc.Server.Common.Configuration.OidcEndpoints.Base 'Abblix\.Oidc\.Server\.Common\.Configuration\.OidcEndpoints\.Base') name a set rather than an endpoint and resolve to nothing\.

Implements [Resolve\(OidcEndpoints\)](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Interfaces.IOidcEndpointResolver#Abblix.Oidc.Server.Common.Interfaces.IOidcEndpointResolver.Resolve(Abblix.Oidc.Server.Common.Configuration.OidcEndpoints) 'Abblix\.Oidc\.Server\.Common\.Interfaces\.IOidcEndpointResolver\.Resolve\(Abblix\.Oidc\.Server\.Common\.Configuration\.OidcEndpoints\)')

#### Returns
[System\.Uri](https://learn.microsoft.com/en-us/dotnet/api/system.uri 'System\.Uri')  
The endpoint's absolute URL, or `null` when it is not mapped \- because the endpoint is disabled in
[EnabledEndpoints](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Configuration.OidcOptions#Abblix.Oidc.Server.Common.Configuration.OidcOptions.EnabledEndpoints 'Abblix\.Oidc\.Server\.Common\.Configuration\.OidcOptions\.EnabledEndpoints'), or because its route takes parameters this contract cannot
supply, which today is the per\-client configuration endpoint of
[RegisterClient](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Configuration.OidcEndpoints#Abblix.Oidc.Server.Common.Configuration.OidcEndpoints.RegisterClient 'Abblix\.Oidc\.Server\.Common\.Configuration\.OidcEndpoints\.RegisterClient')\.
