Skip to main content

ClientCredentials Class

Abblix.Oidc.Server

Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces

ClientCredentials Class

Encapsulates both transmission and storage formats of client credentials. Maintains plain-text secret for immediate transmission in registration response, while also providing SHA-512 hash for secure persistence.

public record ClientCredentials : System.IEquatable<Abblix.Oidc.Server.Endpoints.DynamicClientManagement.Interfaces.ClientCredentials>

Inheritance System.Object → ClientCredentials

Implements System.IEquatable<ClientCredentials>

Constructors

ClientCredentials(string, string, byte[], Nullable<DateTimeOffset>) Constructor

Encapsulates both transmission and storage formats of client credentials. Maintains plain-text secret for immediate transmission in registration response, while also providing SHA-512 hash for secure persistence.

public ClientCredentials(string ClientId, string? ClientSecret, byte[]? Sha512Hash, System.Nullable<System.DateTimeOffset> ExpiresAt);

Parameters

ClientId System.String

Generated or provided identifier for the OAuth 2.0 client.

ClientSecret System.String

Plain-text secret sent to client in registration response; null for public clients or private_key_jwt.

Sha512Hash System.Byte[]

SHA-512 hash for secure storage; prevents storing plain-text secrets in database.

ExpiresAt System.Nullable<System.DateTimeOffset>

Enables secret rotation by enforcing time-limited validity; null indicates no expiration.

Properties

ClientCredentials.ClientId Property

Generated or provided identifier for the OAuth 2.0 client.

public string ClientId { get; init; }

Property Value

System.String

ClientCredentials.ClientSecret Property

Plain-text secret sent to client in registration response; null for public clients or private_key_jwt.

public string? ClientSecret { get; init; }

Property Value

System.String

ClientCredentials.ExpiresAt Property

Enables secret rotation by enforcing time-limited validity; null indicates no expiration.

public System.Nullable<System.DateTimeOffset> ExpiresAt { get; init; }

Property Value

System.Nullable<System.DateTimeOffset>

ClientCredentials.Sha512Hash Property

SHA-512 hash for secure storage; prevents storing plain-text secrets in database.

public byte[]? Sha512Hash { get; init; }

Property Value

System.Byte[]