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; }
}