namespace Csob.Credentials;
///
/// Names of the HTTP headers that carry per-request ČSOB credentials and context.
///
/// This service is multi-tenant: it stores no credentials itself. Every sensitive value is
/// supplied per request in a header (never the query string or body) and is forwarded to ČSOB.
/// Headers must therefore only be sent over TLS. Nothing here is logged or persisted.
///
public static class CredentialConstants
{
///
/// eIDAS client certificate (QWAC) as a Base64-encoded PKCS#12 / PFX bundle, including the
/// private key and the full chain. Used to establish the mutual-TLS connection to ČSOB.
/// Analogous to Node's https.Agent({ pfx, passphrase }).
///
public const string CertificateHeader = "X-CSOB-Certificate";
/// Optional passphrase protecting the PFX in .
public const string CertificatePasswordHeader = "X-CSOB-Certificate-Password";
/// OAuth2 Bearer access token obtained for the PSU; forwarded as Authorization: Bearer.
public const string AccessTokenHeader = "X-Access-Token";
/// ČSOB application API key; forwarded as the APIKEY header.
public const string ApiKeyHeader = "X-API-Key";
/// TPP (third-party provider) organisation name; forwarded as the TPP-Name header.
public const string TppNameHeader = "X-TPP-Name";
/// OAuth2 client id of the registered TPP application (used by the OAuth helper endpoints).
public const string ClientIdHeader = "X-CSOB-Client-Id";
/// OAuth2 client secret of the registered TPP application (used by the OAuth helper endpoints).
public const string ClientSecretHeader = "X-CSOB-Client-Secret";
// Optional PSU (end-user) context, forwarded verbatim to ČSOB when present.
/// Whether the PSU is online/involved in the request; forwarded as User-Involved (default false).
public const string UserInvolvedHeader = "X-User-Involved";
/// PSU IP address; forwarded as User-IP-Address.
public const string UserIpAddressHeader = "X-User-IP-Address";
}