namespace Svrnty.CQRS.Altcha.Grpc;
///
/// Configuration for and
/// . Bind from configuration
/// (e.g. "Altcha" section) or pass via the registration delegate.
///
public sealed class AltchaGrpcOptions
{
///
/// gRPC endpoint of the altcha service. Typically the internal
/// docker / k8s address — e.g. http://altcha:9090 or
/// https://altcha.planb.svc.cluster.local:9090.
///
public string Endpoint { get; set; } = string.Empty;
///
/// Optional per-call HMAC service-token provider. When set, the
/// returned string is sent as Authorization: Bearer <token>
/// on every outbound gRPC call. Use this to integrate with whatever
/// service-auth scheme the rest of the deployment uses (e.g. plan-b's
/// ServiceTokenIssuer.GetToken("altcha")).
///
public Func>? TokenProvider { get; set; }
///
/// Per-call timeout for both CreateChallenge and
/// VerifyChallenge. Defaults to 5s.
///
public TimeSpan CallTimeout { get; set; } = TimeSpan.FromSeconds(5);
}