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

## ClientRegistrationResponse Class

The response returned from the client registration endpoint per RFC 7591 §3\.2\.1 and OIDC Dynamic Client
Registration §3\.2, echoing the registered metadata together with server\-issued credentials and the URL
of the client configuration endpoint \(RFC 7592\) for subsequent management operations\.
Unregistered metadata is omitted from the JSON per RFC 7591 §3\.2\.1, not emitted as an explicit null\.

```csharp
public record ClientRegistrationResponse : System.IEquatable<Abblix.Oidc.Server.Model.ClientRegistrationResponse>
```

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

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

## ClientRegistrationResponse\.ApplicationType Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.ApplicationType}

The type of application for which the client is registered \(`web`, `native`\)\.
Optional — server may assign a default\. Per RFC 7591 §2\.

```csharp
public string? ApplicationType { get; init; }
```

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

## ClientRegistrationResponse\.AuthorizationDetailsTypes Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.AuthorizationDetailsTypes}

The per\-client allowlist of authorization\-detail `type` values this client may
use in RFC 9396 Rich Authorization Requests \(`authorization_details_types`,
RFC 9396 §5\.1\)\. Echoes the registered value of
[AuthorizationDetailsTypes](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.ClientInformation.ClientInfo#Abblix.Oidc.Server.Features.ClientInformation.ClientInfo.AuthorizationDetailsTypes 'Abblix\.Oidc\.Server\.Features\.ClientInformation\.ClientInfo\.AuthorizationDetailsTypes')\.

```csharp
public string[]? AuthorizationDetailsTypes { get; init; }
```

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

## ClientRegistrationResponse\.ClientId Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.ClientId}

The unique Client Identifier\. It must not be currently valid for any other registered client\.
This identifier is critical for client identification and for securing client\-to\-server communication\.

```csharp
public string ClientId { get; init; }
```

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

## ClientRegistrationResponse\.ClientIdIssuedAt Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.ClientIdIssuedAt}

The time at which the Client Identifier was issued\. Represented as the number of seconds since Unix Epoch \(1970\-01\-01T0:0:0Z\) in UTC\.

```csharp
public System.Nullable<System.DateTimeOffset> ClientIdIssuedAt { get; init; }
```

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

## ClientRegistrationResponse\.ClientName Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.ClientName}

The human\-readable name of the client\. Optional client metadata\. Per RFC 7591 §2\.

```csharp
public string? ClientName { get; init; }
```

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

## ClientRegistrationResponse\.ClientSecret Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.ClientSecret}

The client secret\. This value must not be assigned to multiple clients and is used for authenticating the client with the server\.

```csharp
public string? ClientSecret { get; init; }
```

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

## ClientRegistrationResponse\.ClientSecretExpiresAt Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.ClientSecretExpiresAt}

The time at which the client\_secret will expire\. Represented as the number of seconds since Unix Epoch \(1970\-01\-01T0:0:0Z\) in UTC\.
A value of 0 indicates that the secret does not expire\.

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

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

## ClientRegistrationResponse\.Contacts Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.Contacts}

Array of contact email addresses for people responsible for this client\.
Optional\. Per RFC 7591 §2\.

```csharp
public string[]? Contacts { get; init; }
```

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

## ClientRegistrationResponse\.DpopBoundAccessTokens Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.DpopBoundAccessTokens}

Whether access tokens issued to this client are sender\-constrained via DPoP per
RFC 9449 §5\.2 \(`dpop_bound_access_tokens`\)\. Echoes the registered value of
`ClientInfo.RequireDPoP`\.

```csharp
public System.Nullable<bool> DpopBoundAccessTokens { get; init; }
```

#### Property Value
[System\.Nullable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.nullable-1 'System\.Nullable\`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.nullable-1 'System\.Nullable\`1')

## ClientRegistrationResponse\.GrantTypes Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.GrantTypes}

The registered grant types, including server\-assigned defaults\. Per RFC 7591 §2/§3\.2\.1\.

```csharp
public string[]? GrantTypes { get; init; }
```

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

## ClientRegistrationResponse\.InitiateLoginUri Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.InitiateLoginUri}

The URI for initiating the client's login process\.

```csharp
public System.Uri? InitiateLoginUri { get; init; }
```

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

## ClientRegistrationResponse\.IntrospectionEncryptedResponseAlg Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.IntrospectionEncryptedResponseAlg}

JWE `alg` algorithm for encrypting introspection responses\. Optional\. Per RFC 9701 §6\.

```csharp
public string? IntrospectionEncryptedResponseAlg { get; init; }
```

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

## ClientRegistrationResponse\.IntrospectionEncryptedResponseEnc Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.IntrospectionEncryptedResponseEnc}

JWE `enc` algorithm for encrypting introspection responses\. Optional\. Per RFC 9701 §6\.

```csharp
public string? IntrospectionEncryptedResponseEnc { get; init; }
```

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

## ClientRegistrationResponse\.IntrospectionSignedResponseAlg Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.IntrospectionSignedResponseAlg}

JWS algorithm for signing introspection responses\. Optional\. Per RFC 9701 §6\.

```csharp
public string? IntrospectionSignedResponseAlg { get; init; }
```

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

## ClientRegistrationResponse\.JwksUri Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.JwksUri}

URL for the client's JSON Web Key Set document\.
Optional\. Per RFC 7591 §2\.

```csharp
public System.Uri? JwksUri { get; init; }
```

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

## ClientRegistrationResponse\.LogoUri Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.LogoUri}

URL that references a logo for the client\. Optional\. Per RFC 7591 §2\.

```csharp
public System.Uri? LogoUri { get; init; }
```

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

## ClientRegistrationResponse\.RedirectUris Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.RedirectUris}

The URIs where the client expects to receive responses after user authentication\.
Per RFC 7591 §2\.

```csharp
public System.Uri[]? RedirectUris { get; init; }
```

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

## ClientRegistrationResponse\.RegistrationAccessToken Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.RegistrationAccessToken}

The registration access token that can be used at the Client Configuration Endpoint to perform subsequent operations on the client registration\.

```csharp
public string? RegistrationAccessToken { get; init; }
```

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

## ClientRegistrationResponse\.RegistrationClientUri Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.RegistrationClientUri}

The location of the Client Configuration Endpoint where the registration access token can be used for subsequent operations\.

```csharp
public System.Uri? RegistrationClientUri { get; init; }
```

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

## ClientRegistrationResponse\.RequestUris Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.RequestUris}

Array of `request_uri` values pre\-registered by the client\.
Optional\. Per OpenID Connect Core §6\.2\.

```csharp
public System.Uri[]? RequestUris { get; init; }
```

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

## ClientRegistrationResponse\.RequirePushedAuthorizationRequests Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.RequirePushedAuthorizationRequests}

Whether PAR is the only way this client may start an authorization flow per RFC 9126 §6\.
Echoes `ClientInfo.RequirePushedAuthorizationRequests`\.

```csharp
public System.Nullable<bool> RequirePushedAuthorizationRequests { get; init; }
```

#### Property Value
[System\.Nullable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.nullable-1 'System\.Nullable\`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.nullable-1 'System\.Nullable\`1')

## ClientRegistrationResponse\.RequireSignedRequestObject Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.RequireSignedRequestObject}

Whether this client must deliver authorization parameters as a signed request object per
RFC 9101 §10\.5\. Echoes `ClientInfo.RequireSignedRequestObject`\.

```csharp
public System.Nullable<bool> RequireSignedRequestObject { get; init; }
```

#### Property Value
[System\.Nullable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.nullable-1 'System\.Nullable\`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.nullable-1 'System\.Nullable\`1')

## ClientRegistrationResponse\.ResponseTypes Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.ResponseTypes}

The registered response type combinations \(each entry space\-separated\), including
server\-assigned defaults\. Per RFC 7591 §2/§3\.2\.1\.

```csharp
public string[][]? ResponseTypes { get; init; }
```

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

## ClientRegistrationResponse\.Scope Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.Scope}

The registered scope values per RFC 7591 Section 2\.

```csharp
public string[]? Scope { get; init; }
```

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

## ClientRegistrationResponse\.SectorIdentifierUri Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.SectorIdentifierUri}

URL using `https` scheme used in calculating pseudonymous identifiers for
pairwise subject type\. Optional\. Per OpenID Connect Core §8\.1\.

```csharp
public System.Uri? SectorIdentifierUri { get; init; }
```

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

## ClientRegistrationResponse\.SoftwareId Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.SoftwareId}

The software identifier per RFC 7591 Section 2\.

```csharp
public string? SoftwareId { get; init; }
```

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

## ClientRegistrationResponse\.SoftwareStatement Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.SoftwareStatement}

The software statement JWT echoed back per RFC 7591 Section 3\.2\.1\.

```csharp
public string? SoftwareStatement { get; init; }
```

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

## ClientRegistrationResponse\.SoftwareVersion Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.SoftwareVersion}

The software version per RFC 7591 Section 2\.

```csharp
public string? SoftwareVersion { get; init; }
```

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

## ClientRegistrationResponse\.SubjectType Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.SubjectType}

The type of subject identifier used \(`public`, `pairwise`\)\.
Optional\. Per OpenID Connect Core §8\.

```csharp
public string? SubjectType { get; init; }
```

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

## ClientRegistrationResponse\.TlsClientAuthSanDns Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.TlsClientAuthSanDns}

Required DNS Subject Alternative Names for `tls_client_auth` per RFC 8705\.

```csharp
public string[]? TlsClientAuthSanDns { get; init; }
```

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

## ClientRegistrationResponse\.TlsClientAuthSanEmail Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.TlsClientAuthSanEmail}

Required email Subject Alternative Names for `tls_client_auth` per RFC 8705\.

```csharp
public string[]? TlsClientAuthSanEmail { get; init; }
```

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

## ClientRegistrationResponse\.TlsClientAuthSanIp Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.TlsClientAuthSanIp}

Required IP Subject Alternative Names for `tls_client_auth` per RFC 8705\.

```csharp
public string[]? TlsClientAuthSanIp { get; init; }
```

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

## ClientRegistrationResponse\.TlsClientAuthSanUri Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.TlsClientAuthSanUri}

Required URI Subject Alternative Names for `tls_client_auth` per RFC 8705\.

```csharp
public System.Uri[]? TlsClientAuthSanUri { get; init; }
```

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

## ClientRegistrationResponse\.TlsClientAuthSubjectDn Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.TlsClientAuthSubjectDn}

Exact Subject Distinguished Name required when using `tls_client_auth` per RFC 8705\.

```csharp
public string? TlsClientAuthSubjectDn { get; init; }
```

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

## ClientRegistrationResponse\.TlsClientCertificateBoundAccessTokens Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.TlsClientCertificateBoundAccessTokens}

Whether access tokens are certificate\-bound whenever the token request arrives over mutual
TLS per RFC 8705 §3\.4\. Echoes `ClientInfo.TlsClientCertificateBoundAccessTokens`\.

```csharp
public System.Nullable<bool> TlsClientCertificateBoundAccessTokens { get; init; }
```

#### Property Value
[System\.Nullable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.nullable-1 'System\.Nullable\`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.nullable-1 'System\.Nullable\`1')

## ClientRegistrationResponse\.TokenEndpointAuthMethod Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.TokenEndpointAuthMethod}

The authentication method used by the client at the token endpoint\.
Possible values include "client\_secret\_basic", "client\_secret\_post", "client\_secret\_jwt",
"private\_key\_jwt", "tls\_client\_auth", "self\_signed\_tls\_client\_auth", or "none"\.
Per OpenID Connect Dynamic Client Registration Section 2\.

```csharp
public string? TokenEndpointAuthMethod { get; init; }
```

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

## ClientRegistrationResponse\.TokenExchangeAudiences Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.TokenExchangeAudiences}

Non\-standard extension: default\-deny per\-client allowlist of RFC 8693 `audience` values
this client may request when exchanging a token\. Echoes
[TokenExchangeAllowedAudiences](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.ClientInformation.ClientInfo#Abblix.Oidc.Server.Features.ClientInformation.ClientInfo.TokenExchangeAllowedAudiences 'Abblix\.Oidc\.Server\.Features\.ClientInformation\.ClientInfo\.TokenExchangeAllowedAudiences')\.

```csharp
public string[]? TokenExchangeAudiences { get; init; }
```

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

## ClientRegistrationResponse\.TokenExchangeSubjectTokenTypes Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.TokenExchangeSubjectTokenTypes}

Non\-standard extension: per\-client allowlist of RFC 8693 `subject_token_type` URIs this
client may submit to the Token Exchange grant\. Echoes
[TokenExchangeAllowedSubjectTokenTypes](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.ClientInformation.ClientInfo#Abblix.Oidc.Server.Features.ClientInformation.ClientInfo.TokenExchangeAllowedSubjectTokenTypes 'Abblix\.Oidc\.Server\.Features\.ClientInformation\.ClientInfo\.TokenExchangeAllowedSubjectTokenTypes')\.

```csharp
public string[]? TokenExchangeSubjectTokenTypes { get; init; }
```

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

## ClientRegistrationResponse\.UserInfoEncryptedResponseAlg Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.UserInfoEncryptedResponseAlg}

JWE `alg` algorithm for encrypting UserInfo responses\.
Optional\. Per OpenID Connect Core §5\.6\.2\.

```csharp
public string? UserInfoEncryptedResponseAlg { get; init; }
```

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

## ClientRegistrationResponse\.UserInfoEncryptedResponseEnc Property {#Abblix.Oidc.Server.Model.ClientRegistrationResponse.UserInfoEncryptedResponseEnc}

JWE `enc` algorithm for encrypting UserInfo responses\.
Optional\. Per OpenID Connect Core §5\.6\.2\.

```csharp
public string? UserInfoEncryptedResponseEnc { get; init; }
```

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