#### [Abblix\.SecurityEvents](https://www.abblix.com/en/docs/api/abblix-securityevents 'index')
### [Abblix\.SecurityEvents\.BackChannelLogout](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.BackChannelLogout 'Abblix\.SecurityEvents\.BackChannelLogout')

## BackChannelLogoutResult Class

What a back\-channel logout request earns: the status code the transport answers with, and \-
only beside a 400 \- the error body the provider reads \(OpenID Connect Back\-Channel Logout 1\.0
Section 2\.8\)\. The shape is transport\-neutral on purpose: any host adapter renders it, none
decides it\.

```csharp
public sealed record BackChannelLogoutResult : System.IEquatable<Abblix.SecurityEvents.BackChannelLogout.BackChannelLogoutResult>
```

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

Implements [System\.IEquatable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1')[BackChannelLogoutResult](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.BackChannelLogout.BackChannelLogoutResult 'Abblix\.SecurityEvents\.BackChannelLogout\.BackChannelLogoutResult')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1')
### Constructors

## BackChannelLogoutResult\(HttpStatusCode, BackChannelLogoutError\) Constructor {#Abblix.SecurityEvents.BackChannelLogout.BackChannelLogoutResult.BackChannelLogoutResult(System.Net.HttpStatusCode,Abblix.SecurityEvents.BackChannelLogout.BackChannelLogoutError)}

What a back\-channel logout request earns: the status code the transport answers with, and \-
only beside a 400 \- the error body the provider reads \(OpenID Connect Back\-Channel Logout 1\.0
Section 2\.8\)\. The shape is transport\-neutral on purpose: any host adapter renders it, none
decides it\.

```csharp
public BackChannelLogoutResult(System.Net.HttpStatusCode StatusCode, Abblix.SecurityEvents.BackChannelLogout.BackChannelLogoutError? Error);
```
#### Parameters

###### `StatusCode` [System\.Net\.HttpStatusCode](https://learn.microsoft.com/en-us/dotnet/api/system.net.httpstatuscode 'System\.Net\.HttpStatusCode') {#Abblix.SecurityEvents.BackChannelLogout.BackChannelLogoutResult.BackChannelLogoutResult(System.Net.HttpStatusCode,Abblix.SecurityEvents.BackChannelLogout.BackChannelLogoutError).StatusCode}

The HTTP status the response carries\.

###### `Error` [BackChannelLogoutError](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.BackChannelLogout.BackChannelLogoutError 'Abblix\.SecurityEvents\.BackChannelLogout\.BackChannelLogoutError') {#Abblix.SecurityEvents.BackChannelLogout.BackChannelLogoutResult.BackChannelLogoutResult(System.Net.HttpStatusCode,Abblix.SecurityEvents.BackChannelLogout.BackChannelLogoutError).Error}

The error body of a failure response; null on success, whose body is empty\.
### Properties

## BackChannelLogoutResult\.Error Property {#Abblix.SecurityEvents.BackChannelLogout.BackChannelLogoutResult.Error}

The error body of a failure response; null on success, whose body is empty\.

```csharp
public Abblix.SecurityEvents.BackChannelLogout.BackChannelLogoutError? Error { get; init; }
```

#### Property Value
[BackChannelLogoutError](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.BackChannelLogout.BackChannelLogoutError 'Abblix\.SecurityEvents\.BackChannelLogout\.BackChannelLogoutError')

## BackChannelLogoutResult\.Ok Property {#Abblix.SecurityEvents.BackChannelLogout.BackChannelLogoutResult.Ok}

The success: "If the logout succeeded, the RP MUST respond with HTTP 200 OK\." A single
shared instance, because success carries no request\-specific state\.

```csharp
public static Abblix.SecurityEvents.BackChannelLogout.BackChannelLogoutResult Ok { get; }
```

#### Property Value
[BackChannelLogoutResult](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.BackChannelLogout.BackChannelLogoutResult 'Abblix\.SecurityEvents\.BackChannelLogout\.BackChannelLogoutResult')

### Remarks
Section 2\.8 notes that a framework may turn this into a 204 when the body is empty, and
that providers should accept either\. Which of the two goes out is therefore the host
adapter's business, not a decision to make here\.

## BackChannelLogoutResult\.StatusCode Property {#Abblix.SecurityEvents.BackChannelLogout.BackChannelLogoutResult.StatusCode}

The HTTP status the response carries\.

```csharp
public System.Net.HttpStatusCode StatusCode { get; init; }
```

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

## BackChannelLogoutResult\.BadRequest\(string\) Method {#Abblix.SecurityEvents.BackChannelLogout.BackChannelLogoutResult.BadRequest(string)}

A rejection: "If the logout request was invalid or the logout failed, the RP MUST respond
with HTTP 400 Bad Request\."

```csharp
public static Abblix.SecurityEvents.BackChannelLogout.BackChannelLogoutResult BadRequest(string description);
```
#### Parameters

###### `description` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.SecurityEvents.BackChannelLogout.BackChannelLogoutResult.BadRequest(string).description}

What was wrong, for an operator reading the provider's logs\.

#### Returns
[BackChannelLogoutResult](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.BackChannelLogout.BackChannelLogoutResult 'Abblix\.SecurityEvents\.BackChannelLogout\.BackChannelLogoutResult')
