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

## HttpNotificationDeliveryService Class

HTTP\-based implementation of backchannel notification service for CIBA ping and push modes\.
Sends HTTP POST notifications to client endpoints with authentication request status updates or token delivery\.

```csharp
public class HttpNotificationDeliveryService : Abblix.Oidc.Server.Features.BackChannelAuthentication.Interfaces.INotificationDeliveryService
```

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

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

## HttpNotificationDeliveryService\(ILogger\<HttpNotificationDeliveryService\>, IHttpClientFactory\) Constructor {#Abblix.Oidc.Server.Features.BackChannelAuthentication.HttpNotificationDeliveryService.HttpNotificationDeliveryService(Microsoft.Extensions.Logging.ILogger_Abblix.Oidc.Server.Features.BackChannelAuthentication.HttpNotificationDeliveryService_,System.Net.Http.IHttpClientFactory)}

HTTP\-based implementation of backchannel notification service for CIBA ping and push modes\.
Sends HTTP POST notifications to client endpoints with authentication request status updates or token delivery\.

```csharp
public HttpNotificationDeliveryService(Microsoft.Extensions.Logging.ILogger<Abblix.Oidc.Server.Features.BackChannelAuthentication.HttpNotificationDeliveryService> logger, System.Net.Http.IHttpClientFactory httpClientFactory);
```
#### Parameters

###### `logger` [Microsoft\.Extensions\.Logging\.ILogger&lt;](https://learn.microsoft.com/en-us/dotnet/api/microsoft.extensions.logging.ilogger-1 'Microsoft\.Extensions\.Logging\.ILogger\`1')[HttpNotificationDeliveryService](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.BackChannelAuthentication.HttpNotificationDeliveryService 'Abblix\.Oidc\.Server\.Features\.BackChannelAuthentication\.HttpNotificationDeliveryService')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/microsoft.extensions.logging.ilogger-1 'Microsoft\.Extensions\.Logging\.ILogger\`1') {#Abblix.Oidc.Server.Features.BackChannelAuthentication.HttpNotificationDeliveryService.HttpNotificationDeliveryService(Microsoft.Extensions.Logging.ILogger_Abblix.Oidc.Server.Features.BackChannelAuthentication.HttpNotificationDeliveryService_,System.Net.Http.IHttpClientFactory).logger}

Logger for tracking notification attempts and failures\.

###### `httpClientFactory` [System\.Net\.Http\.IHttpClientFactory](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.ihttpclientfactory 'System\.Net\.Http\.IHttpClientFactory') {#Abblix.Oidc.Server.Features.BackChannelAuthentication.HttpNotificationDeliveryService.HttpNotificationDeliveryService(Microsoft.Extensions.Logging.ILogger_Abblix.Oidc.Server.Features.BackChannelAuthentication.HttpNotificationDeliveryService_,System.Net.Http.IHttpClientFactory).httpClientFactory}

Factory for creating HTTP clients\.
### Methods

## HttpNotificationDeliveryService\.SendAsync\(Uri, string, IBackChannelNotificationRequest, string\) Method {#Abblix.Oidc.Server.Features.BackChannelAuthentication.HttpNotificationDeliveryService.SendAsync(System.Uri,string,Abblix.Oidc.Server.Features.BackChannelAuthentication.Interfaces.IBackChannelNotificationRequest,string)}

Sends an HTTP POST notification to the client's registered endpoint\.

```csharp
public System.Threading.Tasks.Task<bool> SendAsync(System.Uri clientNotificationEndpoint, string clientNotificationToken, Abblix.Oidc.Server.Features.BackChannelAuthentication.Interfaces.IBackChannelNotificationRequest payload, string mode);
```
#### Parameters

###### `clientNotificationEndpoint` [System\.Uri](https://learn.microsoft.com/en-us/dotnet/api/system.uri 'System\.Uri') {#Abblix.Oidc.Server.Features.BackChannelAuthentication.HttpNotificationDeliveryService.SendAsync(System.Uri,string,Abblix.Oidc.Server.Features.BackChannelAuthentication.Interfaces.IBackChannelNotificationRequest,string).clientNotificationEndpoint}

The client's registered notification endpoint URL\.

###### `clientNotificationToken` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.Oidc.Server.Features.BackChannelAuthentication.HttpNotificationDeliveryService.SendAsync(System.Uri,string,Abblix.Oidc.Server.Features.BackChannelAuthentication.Interfaces.IBackChannelNotificationRequest,string).clientNotificationToken}

Bearer token for authenticating the notification request\.

###### `payload` [IBackChannelNotificationRequest](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.BackChannelAuthentication.Interfaces.IBackChannelNotificationRequest 'Abblix\.Oidc\.Server\.Features\.BackChannelAuthentication\.Interfaces\.IBackChannelNotificationRequest') {#Abblix.Oidc.Server.Features.BackChannelAuthentication.HttpNotificationDeliveryService.SendAsync(System.Uri,string,Abblix.Oidc.Server.Features.BackChannelAuthentication.Interfaces.IBackChannelNotificationRequest,string).payload}

The notification payload to send\.

###### `mode` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.Oidc.Server.Features.BackChannelAuthentication.HttpNotificationDeliveryService.SendAsync(System.Uri,string,Abblix.Oidc.Server.Features.BackChannelAuthentication.Interfaces.IBackChannelNotificationRequest,string).mode}

The CIBA mode \(ping or push\) for logging purposes\.

Implements [SendAsync\(Uri, string, IBackChannelNotificationRequest, string\)](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.BackChannelAuthentication.Interfaces.INotificationDeliveryService#Abblix.Oidc.Server.Features.BackChannelAuthentication.Interfaces.INotificationDeliveryService.SendAsync(System.Uri,string,Abblix.Oidc.Server.Features.BackChannelAuthentication.Interfaces.IBackChannelNotificationRequest,string) 'Abblix\.Oidc\.Server\.Features\.BackChannelAuthentication\.Interfaces\.INotificationDeliveryService\.SendAsync\(System\.Uri, string, Abblix\.Oidc\.Server\.Features\.BackChannelAuthentication\.Interfaces\.IBackChannelNotificationRequest, string\)')

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
`true` if the endpoint returned a success status; otherwise `false`\.
