using System.Text.Json.Serialization; namespace ModelContextProtocol.Authentication; /// /// Represents a client registration request for OAuth 2.0 Dynamic Client Registration (RFC 7591). /// internal sealed class DynamicClientRegistrationRequest { /// /// Gets or sets the redirect URIs for the client. /// [JsonPropertyName("redirect_uris")] public required string[] RedirectUris { get; init; } /// /// Gets or sets the token endpoint authentication method. /// [JsonPropertyName("token_endpoint_auth_method")] public string? TokenEndpointAuthMethod { get; init; } /// /// Gets or sets the grant types that the client will use. /// [JsonPropertyName("grant_types")] public string[]? GrantTypes { get; init; } /// /// Gets or sets the response types that the client will use. /// [JsonPropertyName("response_types")] public string[]? ResponseTypes { get; init; } /// /// Gets or sets the human-readable name of the client. /// [JsonPropertyName("client_name")] public string? ClientName { get; init; } /// /// Gets or sets the URL of the client's home page. /// [JsonPropertyName("client_uri")] public string? ClientUri { get; init; } /// /// Gets or sets the scope values that the client will use. /// [JsonPropertyName("scope")] public string? Scope { get; init; } /// /// Gets or sets the OIDC application type ("native" or "web") for the client. /// [JsonPropertyName("application_type")] public string? ApplicationType { get; init; } }