#### [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')

## BackChannelAuthenticationRequest Class

Represents a backchannel authentication request as part of the Client\-Initiated Backchannel Authentication \(CIBA\)
protocol\.
This request facilitates the authentication of users without requiring immediate interaction with their devices,
allowing for a more flexible and user\-friendly authentication experience\.

```csharp
public record BackChannelAuthenticationRequest : System.IEquatable<Abblix.Oidc.Server.Features.BackChannelAuthentication.BackChannelAuthenticationRequest>
```

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

Implements [System\.IEquatable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1')[BackChannelAuthenticationRequest](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.BackChannelAuthentication.BackChannelAuthenticationRequest 'Abblix\.Oidc\.Server\.Features\.BackChannelAuthentication\.BackChannelAuthenticationRequest')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1')
### Constructors

## BackChannelAuthenticationRequest\(AuthorizedGrant, DateTimeOffset\) Constructor {#Abblix.Oidc.Server.Features.BackChannelAuthentication.BackChannelAuthenticationRequest.BackChannelAuthenticationRequest(Abblix.Oidc.Server.Endpoints.Token.Interfaces.AuthorizedGrant,System.DateTimeOffset)}

Represents a backchannel authentication request as part of the Client\-Initiated Backchannel Authentication \(CIBA\)
protocol\.
This request facilitates the authentication of users without requiring immediate interaction with their devices,
allowing for a more flexible and user\-friendly authentication experience\.

```csharp
public BackChannelAuthenticationRequest(Abblix.Oidc.Server.Endpoints.Token.Interfaces.AuthorizedGrant AuthorizedGrant, System.DateTimeOffset ExpiresAt);
```
#### Parameters

###### `AuthorizedGrant` [AuthorizedGrant](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Token.Interfaces.AuthorizedGrant 'Abblix\.Oidc\.Server\.Endpoints\.Token\.Interfaces\.AuthorizedGrant') {#Abblix.Oidc.Server.Features.BackChannelAuthentication.BackChannelAuthenticationRequest.BackChannelAuthenticationRequest(Abblix.Oidc.Server.Endpoints.Token.Interfaces.AuthorizedGrant,System.DateTimeOffset).AuthorizedGrant}

The authorized grant associated with this authentication request,
containing details about the user's authorization context\.

###### `ExpiresAt` [System\.DateTimeOffset](https://learn.microsoft.com/en-us/dotnet/api/system.datetimeoffset 'System\.DateTimeOffset') {#Abblix.Oidc.Server.Features.BackChannelAuthentication.BackChannelAuthenticationRequest.BackChannelAuthenticationRequest(Abblix.Oidc.Server.Endpoints.Token.Interfaces.AuthorizedGrant,System.DateTimeOffset).ExpiresAt}

The absolute time when this backchannel authentication request expires\.
### Properties

## BackChannelAuthenticationRequest\.AuthorizedGrant Property {#Abblix.Oidc.Server.Features.BackChannelAuthentication.BackChannelAuthenticationRequest.AuthorizedGrant}

The authorized grant associated with this authentication request,
containing details about the user's authorization context\.

```csharp
public Abblix.Oidc.Server.Endpoints.Token.Interfaces.AuthorizedGrant AuthorizedGrant { get; init; }
```

#### Property Value
[AuthorizedGrant](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Token.Interfaces.AuthorizedGrant 'Abblix\.Oidc\.Server\.Endpoints\.Token\.Interfaces\.AuthorizedGrant')

## BackChannelAuthenticationRequest\.ClientNotificationEndpoint Property {#Abblix.Oidc.Server.Features.BackChannelAuthentication.BackChannelAuthenticationRequest.ClientNotificationEndpoint}

The client notification endpoint for ping mode\.
Populated from client configuration when ping mode is used\.

```csharp
public System.Uri? ClientNotificationEndpoint { get; set; }
```

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

## BackChannelAuthenticationRequest\.ClientNotificationToken Property {#Abblix.Oidc.Server.Features.BackChannelAuthentication.BackChannelAuthenticationRequest.ClientNotificationToken}

The client notification token for ping mode\.
Provided by the client in the authentication request for secure notification delivery\.

```csharp
public string? ClientNotificationToken { get; set; }
```

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

## BackChannelAuthenticationRequest\.ExpiresAt Property {#Abblix.Oidc.Server.Features.BackChannelAuthentication.BackChannelAuthenticationRequest.ExpiresAt}

The absolute time when this backchannel authentication request expires\.

```csharp
public System.DateTimeOffset ExpiresAt { get; init; }
```

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

## BackChannelAuthenticationRequest\.NextPollAt Property {#Abblix.Oidc.Server.Features.BackChannelAuthentication.BackChannelAuthenticationRequest.NextPollAt}

Specifies the next time the client should poll for updates regarding the authentication request\.
This helps manage the timing of polling requests efficiently\.

```csharp
public System.Nullable<System.DateTimeOffset> NextPollAt { get; set; }
```

#### Property Value
[System\.Nullable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.nullable-1 'System\.Nullable\`1')[System\.DateTimeOffset](https://learn.microsoft.com/en-us/dotnet/api/system.datetimeoffset 'System\.DateTimeOffset')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.nullable-1 'System\.Nullable\`1')

## BackChannelAuthenticationRequest\.Status Property {#Abblix.Oidc.Server.Features.BackChannelAuthentication.BackChannelAuthenticationRequest.Status}

Indicates the current status of the backchannel authentication request\.
Defaults to Pending, reflecting that the request has not yet been resolved\.

```csharp
public Abblix.Oidc.Server.Features.BackChannelAuthentication.BackChannelAuthenticationStatus Status { get; set; }
```

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