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

## HttpRequestInfoProvider Class

Supplies the core with information about the current HTTP request, reading it from the ambient
[Microsoft\.AspNetCore\.Http\.HttpContext](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.http.httpcontext 'Microsoft\.AspNetCore\.Http\.HttpContext')\. Touches only ASP\.NET Core's HTTP abstractions \(no MVC, no Minimal API types\), so it is
shared by both transport adapters as the default [IRequestInfoProvider](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Interfaces.IRequestInfoProvider 'Abblix\.Oidc\.Server\.Common\.Interfaces\.IRequestInfoProvider')\.

```csharp
public class HttpRequestInfoProvider : Abblix.Oidc.Server.Common.Interfaces.IRequestInfoProvider
```

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

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

## HttpRequestInfoProvider\(IHttpContextAccessor\) Constructor {#Abblix.Oidc.Server.AspNetCore.HttpRequestInfoProvider.HttpRequestInfoProvider(Microsoft.AspNetCore.Http.IHttpContextAccessor)}

Supplies the core with information about the current HTTP request, reading it from the ambient
[Microsoft\.AspNetCore\.Http\.HttpContext](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.http.httpcontext 'Microsoft\.AspNetCore\.Http\.HttpContext')\. Touches only ASP\.NET Core's HTTP abstractions \(no MVC, no Minimal API types\), so it is
shared by both transport adapters as the default [IRequestInfoProvider](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Interfaces.IRequestInfoProvider 'Abblix\.Oidc\.Server\.Common\.Interfaces\.IRequestInfoProvider')\.

```csharp
public HttpRequestInfoProvider(Microsoft.AspNetCore.Http.IHttpContextAccessor httpContextAccessor);
```
#### 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.AspNetCore.HttpRequestInfoProvider.HttpRequestInfoProvider(Microsoft.AspNetCore.Http.IHttpContextAccessor).httpContextAccessor}
### Properties

## HttpRequestInfoProvider\.ApplicationUri Property {#Abblix.Oidc.Server.AspNetCore.HttpRequestInfoProvider.ApplicationUri}

The base URI of the application\.

```csharp
public string ApplicationUri { get; }
```

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

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')

## HttpRequestInfoProvider\.IsHttps Property {#Abblix.Oidc.Server.AspNetCore.HttpRequestInfoProvider.IsHttps}

Indicates whether the request is using HTTPS\.

```csharp
public bool IsHttps { get; }
```

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

#### Property Value
[System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')

## HttpRequestInfoProvider\.PathBase Property {#Abblix.Oidc.Server.AspNetCore.HttpRequestInfoProvider.PathBase}

The base path of the request\.

```csharp
public string PathBase { get; }
```

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

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')

## HttpRequestInfoProvider\.RemoteIpAddress Property {#Abblix.Oidc.Server.AspNetCore.HttpRequestInfoProvider.RemoteIpAddress}

The client's IP address from the current request\.
May be null if the IP address cannot be determined\.

```csharp
public System.Net.IPAddress? RemoteIpAddress { get; }
```

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

#### Property Value
[System\.Net\.IPAddress](https://learn.microsoft.com/en-us/dotnet/api/system.net.ipaddress 'System\.Net\.IPAddress')

## HttpRequestInfoProvider\.RequestMethod Property {#Abblix.Oidc.Server.AspNetCore.HttpRequestInfoProvider.RequestMethod}

The HTTP method of the current request \(e\.g\. `GET`, `POST`\) in upper case
per RFC 9110 §9\. Surfaced for protocol\-binding checks \(e\.g\. RFC 9449 §4\.3 DPoP
`htm`\) that match the inbound method byte\-exact rather than assuming a fixed
value per endpoint\.

```csharp
public string RequestMethod { get; }
```

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

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')

## HttpRequestInfoProvider\.RequestUri Property {#Abblix.Oidc.Server.AspNetCore.HttpRequestInfoProvider.RequestUri}

The request URI\.

```csharp
public string RequestUri { get; }
```

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

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')
