using System.Text.Json.Serialization;
namespace ModelContextProtocol.TestOAuthServer;
///
/// Represents authorization code information for OAuth flow.
///
internal sealed class AuthorizationCodeInfo
{
///
/// Gets or sets the client ID associated with this authorization code.
///
public required string ClientId { get; init; }
///
/// Gets or sets the redirect URI associated with this authorization code.
///
public required string RedirectUri { get; init; }
///
/// Gets or sets the code challenge associated with this authorization code (for PKCE).
///
public required string CodeChallenge { get; init; }
///
/// Gets or sets the list of scopes approved for this authorization code.
///
public List Scope { get; init; } = [];
///
/// Gets or sets the optional resource URI this authorization code is for.
///
public Uri? Resource { get; init; }
}