using System.Text.Json.Serialization;
namespace ModelContextProtocol.TestOAuthServer;
///
/// Represents token information for OAuth flow.
///
internal sealed class TokenInfo
{
///
/// Gets or sets the client ID associated with this token.
///
public required string ClientId { get; init; }
///
/// Gets or sets the list of scopes approved for this token.
///
public List Scopes { get; init; } = [];
///
/// Gets or sets the issued time of this token.
///
public required DateTimeOffset IssuedAt { get; init; }
///
/// Gets or sets the expiration time of this token.
///
public required DateTimeOffset ExpiresAt { get; init; }
///
/// Gets or sets the optional resource URI this token is for.
///
public Uri? Resource { get; init; }
///
/// Gets or sets the JWT ID for this token.
///
public string? JwtId { get; init; }
}