namespace FileAccessAgent.TestSite.Models; public sealed class TestSiteAuthOptions { public const string SectionName = "MemberCenter"; public string Authority { get; set; } = "http://localhost:7850/"; public string WebBaseUrl { get; set; } = "http://localhost:5080/"; public string? MetadataAddress { get; set; } public string ClientId { get; set; } = string.Empty; // web_login client public string? ClientSecret { get; set; } // web_login client secret (optional for public client) public string CallbackPath { get; set; } = "/auth/callback"; public string SignedOutCallbackPath { get; set; } = "/signout-callback-oidc"; public string Scopes { get; set; } = "openid email profile"; // web_login scopes public bool RequireHttpsMetadata { get; set; } = false; public string ServiceClientId { get; set; } = string.Empty; // file_api client public string ServiceClientSecret { get; set; } = string.Empty; public string ServiceScopes { get; set; } = "files:upload.write files:metadata.read files:delete files:download.delegate"; public string ServiceTokenEndpointPath { get; set; } = "/oauth/token"; }