pub struct AuthForgeConfig {
pub app_id: String,
pub app_secret: String,
pub public_key: String,
pub public_keys: Vec<String>,
pub heartbeat_mode: HeartbeatMode,
pub heartbeat_interval: u64,
pub api_base_url: String,
pub on_failure: Option<Box<FailureCallback>>,
pub request_timeout: u64,
pub heartbeat_request_timeout: Option<u64>,
pub session_ttl_seconds: Option<u64>,
pub hwid_override: Option<String>,
}Fields§
§app_id: String§app_secret: String§public_key: StringTrusted Ed25519 public key in base64. Use public_keys instead for
rotation set support; public_key remains for the single-key
historical contract and is merged into the trust list at construction.
public_keys: Vec<String>Optional rotation set. When non-empty its entries are merged ahead of
public_key so the SDK trusts both the previous and the current
server-side key during a cutover. A signature that matches any
entry verifies successfully.
heartbeat_mode: HeartbeatMode§heartbeat_interval: u64§api_base_url: String§on_failure: Option<Box<FailureCallback>>§request_timeout: u64§heartbeat_request_timeout: Option<u64>HTTP timeout in seconds for /auth/heartbeat only. Use a value smaller
than Self::request_timeout so a stuck heartbeat does not block
AuthForgeClient::logout for as long as activation/validate. None
or 0 resolves to 8 seconds at runtime.
session_ttl_seconds: Option<u64>Requested session token lifetime (seconds) forwarded to /auth/validate.
None means “use the server default” (24h today). Server clamps to
[3600, 604800]; out-of-range values are silently clamped.
hwid_override: Option<String>