{ "Serilog": { "MinimumLevel": { "Default": "Information", "Override": { "Microsoft": "Warning", "Microsoft.AspNetCore": "Warning", "Microsoft.EntityFrameworkCore.Database.Command": "Warning", "System.Net.Http.HttpClient": "Warning" } }, "Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ], "WriteTo": [ { "Name": "Console", "Args": { "outputTemplate": "[{Timestamp:HH:mm:ss} {Level:u3}] {SourceContext} {Message:lj} {Properties:j}{NewLine}{Exception}" } } ], "Properties": { "Application": "Tiku.Api" } }, "OpenTelemetry": { "OtlpEndpoint": "" }, "Cors": { "AllowedOrigins": [], "AllowedHeaders": [ "Authorization", "Content-Type", "x-tenant-code" ], "AllowedMethods": [ "GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS" ], "AllowCredentials": false }, "RateLimiting": { "Enabled": true, "PermitLimit": 600, "WindowSeconds": 60, "QueueLimit": 0, "Authentication": { "PasswordPermitLimit": 5, "PasswordWindowSeconds": 900, "SmsPermitLimit": 5, "SmsWindowSeconds": 300 } }, "Authentication": { "Sms": { "CodePepper": "", "MaxVerificationAttempts": 5, "TenantRequestsPerHour": 100, "PhoneRequestsPerHour": 5, "IpRequestsPerHour": 20, "DeviceRequestsPerHour": 10 } }, "Redis": { "KeyPrefix": "tiku" }, "BackgroundProcessing": { "Enabled": true, "JobPollSeconds": 2, "JobParallelism": 4, "JobBatchSize": 5 }, "TenantDomains": { "Enabled": true, "PollSeconds": 60, "BatchSize": 50, "DnsJsonEndpoint": "https://cloudflare-dns.com/dns-query", "VerificationRecordPrefix": "_tiku-verification", "AllowedCnameTargets": [], "GatewayBaseUrl": null, "GatewayApiKey": null }, "SaasSubscriptions": { "Enabled": true, "BatchSize": 100, "PastDueGraceDays": 7 }, "FeatureUsageReconciliation": { "Enabled": true, "BatchSize": 100, "IntervalMinutes": 60 }, "BrowserAuth": { "AllowedOrigins": [] }, "Storage": { "DefaultProvider": "aliyun_oss", "DefaultBucket": "tenant-assets", "PublicBaseUrl": "", "MaxUploadBytes": 524288000, "AllowedMimePrefixes": [ "image/", "video/", "audio/" ], "AllowedMimeTypes": [ "application/pdf", "application/json", "text/csv", "application/vnd.ms-excel", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "application/vnd.openxmlformats-officedocument.wordprocessingml.document" ], "RequireTenantPrefix": true, "AliyunOss": { "Region": "", "Endpoint": "", "AccessKeyId": "", "AccessKeySecret": "", "SecurityToken": "", "UseInternalEndpoint": false, "UsePathStyle": false, "UseCName": false, "PresignDefaultMinutes": 15 } }, "Security": { "Jwt": { "Issuer": "tiku-backend", "Audience": "tiku-api", "KeyId": "", "PrivateKeyPem": "", "PublicKeys": {}, "AccessTokenMinutes": 15, "RefreshTokenDays": 30 }, "TenantSecrets": { "KeyId": "", "MasterKey": "" }, "DataProtection": { "ApplicationName": "Tiku.Api", "CertificatePath": "", "CertificatePassword": "" } }, "AllowedHosts": "*" }