namespace Csob.Models; /// Body for POST /oauth/token (Authorization Code grant). Secrets travel in headers. public sealed class TokenExchangeRequest { /// Authorization code returned to the redirect URI after PSU consent. public string Code { get; set; } = string.Empty; /// Redirect URI registered for the TPP app; must match the one used to obtain the code. public string RedirectUri { get; set; } = string.Empty; } /// Body for POST /oauth/refresh (Refresh Token grant). public sealed class TokenRefreshRequest { public string RefreshToken { get; set; } = string.Empty; } /// Response of GET /oauth/authorization-url. public sealed class AuthorizationUrlResponse { /// Fully-built ČSOB authorization URL to which the PSU must be redirected. public string AuthorizationUrl { get; set; } = string.Empty; /// The opaque state value echoed back on the redirect (CSRF protection). public string? State { get; set; } }