using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CloudBuilder.Security.Data { /// /// Plain-old-data wrapper for the credential fields we persist on /// SecurityUser. The frontend never sees this type. /// public class StoredBiometricCredential { public byte[] CredentialId { get; set; } = Array.Empty(); public byte[] PublicKey { get; set; } = Array.Empty(); } public class WebAuthnOptions { /// /// Relying Party ID — the registrable domain suffix of the /// origin's host. For dev: "localhost". For production: /// "eleave.1010printing.com". /// public string RpId { get; set; } = "localhost"; /// /// Human-readable relying-party name. Shown in the OS biometric /// prompt ("Use HR Plus to sign in to localhost"). /// public string RpName { get; set; } = "HR Plus"; /// /// The full origin (scheme + host + port) the user is loading /// the page from. Fido2NetLib verifies the attestation/assertion /// origin matches this exactly. Must be HTTPS in production /// (localhost is exempt). /// public string Origin { get; set; } = "https://localhost:8000"; /// /// WebAuthn ceremony timeout in milliseconds. Default 60s. /// public int TimeoutMs { get; set; } = 60000; } }