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

## JsonWebTokenConfirmation Class

Typed wrapper over the `cnf` confirmation\-method JSON object \(RFC 7800 §3\.1\)\.
Exposes the proof\-of\-possession binding members an issued JWT can carry: the mutual\-TLS
client certificate thumbprint \(`x5t#S256`, RFC 8705 §3\.1\) and the DPoP proof\-key
JWK thumbprint \(`jkt`, RFC 9449 §6\.1\)\. Symmetric with [JsonWebTokenPayload](https://www.abblix.com/en/docs/api/abblix-jwt/Abblix.Jwt.JsonWebTokenPayload 'Abblix\.Jwt\.JsonWebTokenPayload'):
each member is a typed accessor over the underlying [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject'); constants
live in [ConfirmationMethods](https://www.abblix.com/en/docs/api/abblix-jwt/Abblix.Jwt.IanaClaimTypes.ConfirmationMethods 'Abblix\.Jwt\.IanaClaimTypes\.ConfirmationMethods') so adding a new member is a
single\-file edit\.

```csharp
public class JsonWebTokenConfirmation
```

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

## JsonWebTokenConfirmation\(\) Constructor {#Abblix.Jwt.JsonWebTokenConfirmation.JsonWebTokenConfirmation()}

Initialises a fresh, detached confirmation object backed by an empty
[System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject')\. Use this overload when constructing a new `cnf` for
assignment to [Confirmation](https://www.abblix.com/en/docs/api/abblix-jwt/Abblix.Jwt.JsonWebTokenPayload#Abblix.Jwt.JsonWebTokenPayload.Confirmation 'Abblix\.Jwt\.JsonWebTokenPayload\.Confirmation'); for read or
read\-modify\-write paths obtain the wrapper from the payload instead\.

```csharp
public JsonWebTokenConfirmation();
```

## JsonWebTokenConfirmation\(JsonObject\) Constructor {#Abblix.Jwt.JsonWebTokenConfirmation.JsonWebTokenConfirmation(System.Text.Json.Nodes.JsonObject)}

Typed wrapper over the `cnf` confirmation\-method JSON object \(RFC 7800 §3\.1\)\.
Exposes the proof\-of\-possession binding members an issued JWT can carry: the mutual\-TLS
client certificate thumbprint \(`x5t#S256`, RFC 8705 §3\.1\) and the DPoP proof\-key
JWK thumbprint \(`jkt`, RFC 9449 §6\.1\)\. Symmetric with [JsonWebTokenPayload](https://www.abblix.com/en/docs/api/abblix-jwt/Abblix.Jwt.JsonWebTokenPayload 'Abblix\.Jwt\.JsonWebTokenPayload'):
each member is a typed accessor over the underlying [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject'); constants
live in [ConfirmationMethods](https://www.abblix.com/en/docs/api/abblix-jwt/Abblix.Jwt.IanaClaimTypes.ConfirmationMethods 'Abblix\.Jwt\.IanaClaimTypes\.ConfirmationMethods') so adding a new member is a
single\-file edit\.

```csharp
public JsonWebTokenConfirmation(System.Text.Json.Nodes.JsonObject json);
```
#### Parameters

###### `json` [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') {#Abblix.Jwt.JsonWebTokenConfirmation.JsonWebTokenConfirmation(System.Text.Json.Nodes.JsonObject).json}
### Properties

## JsonWebTokenConfirmation\.CertificateSha256Thumbprint Property {#Abblix.Jwt.JsonWebTokenConfirmation.CertificateSha256Thumbprint}

Base64url\-encoded SHA\-256 thumbprint of the client X\.509 certificate that
authenticated the request \(RFC 8705 §3\.1\)\. Locks an access token to the
certificate the client presented at the token endpoint via mutual TLS\.

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

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

## JsonWebTokenConfirmation\.Json Property {#Abblix.Jwt.JsonWebTokenConfirmation.Json}

The underlying mutable JSON object backing the strongly\-typed accessors\. Exposed so
the payload setter can attach this object as the `cnf` claim and so callers can
read or write `cnf` members the wrapper does not yet expose as named properties\.

```csharp
public System.Text.Json.Nodes.JsonObject Json { get; }
```

#### Property Value
[System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject')

## JsonWebTokenConfirmation\.JwkThumbprint Property {#Abblix.Jwt.JsonWebTokenConfirmation.JwkThumbprint}

Base64url\-encoded RFC 7638 JWK Thumbprint of the DPoP proof key \(RFC 9449 §6\.1\)\.
Locks an access token to the specific proof\-of\-possession key the client
demonstrated control of when the token was issued\.

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

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