namespace EntitlementBLL.Options; /// /// Forgot/reset-password configuration for Entitlement client users, bound from appsettings /// "Entitlement:ClientPasswordReset". Reuses the repo's existing signed-link-email mechanism /// (IDirectActionTokenService/TDIRECTACTIONTOKEN/MMAILTEMPLATE/EmailActionHandler) — this class /// only holds the two values specific to Entitlement's own use of that shared mechanism. /// public class ClientPasswordResetOptions { public const string SectionName = "Entitlement:ClientPasswordReset"; /// Minutes a forgot-password token remains valid before /// IDirectActionTokenService.TryValidate rejects it as expired. public int TokenExpiryMinutes { get; set; } = 30; /// Base URL of gb-ent-client's public reset-password page. The signed token is /// appended as "?token=...". Must be set per environment (dev/staging/prod FE origin) — /// the placeholder below is a dev-only fallback, never suitable for production. public string ResetPasswordBaseUrl { get; set; } = "https://app.goodbooks.example/public/reset-password"; }