diff --git a/internal/certacme/certifiers/sp_cloudflare.go b/internal/certacme/certifiers/sp_cloudflare.go index 65ee34988..98adde4ae 100644 --- a/internal/certacme/certifiers/sp_cloudflare.go +++ b/internal/certacme/certifiers/sp_cloudflare.go @@ -17,8 +17,8 @@ func init() { } provider, err := chlgimpl.NewChallenger(&chlgimpl.ChallengerConfig{ - DnsApiToken: credentials.DnsApiToken, - ZoneApiToken: credentials.ZoneApiToken, + ApiToken: credentials.ApiToken, + ApiTokenForZone: credentials.ApiTokenForZone, DnsPropagationTimeout: options.DnsPropagationTimeout, DnsTTL: options.DnsTTL, }) diff --git a/internal/domain/access.go b/internal/domain/access.go index 4bc3c32dc..94fa1f701 100644 --- a/internal/domain/access.go +++ b/internal/domain/access.go @@ -152,8 +152,8 @@ type AccessConfigForCdnfly struct { } type AccessConfigForCloudflare struct { - DnsApiToken string `json:"dnsApiToken"` - ZoneApiToken string `json:"zoneApiToken,omitempty"` + ApiToken string `json:"apiToken"` + ApiTokenForZone string `json:"apiTokenForZone,omitempty"` } type AccessConfigForClouDNS struct { diff --git a/migrations/1780408800_upgrade_v0.4.25.go b/migrations/1780545600_upgrade_v0.4.25.go similarity index 51% rename from migrations/1780408800_upgrade_v0.4.25.go rename to migrations/1780545600_upgrade_v0.4.25.go index 34606691a..bd83e7066 100644 --- a/migrations/1780408800_upgrade_v0.4.25.go +++ b/migrations/1780545600_upgrade_v0.4.25.go @@ -33,25 +33,44 @@ func init() { } switch provider { - case "byteplus": - if _, ok := config["accessKey"]; ok { - config["accessKeyId"] = config["accessKey"] - delete(config, "accessKey") - record.Set("config", config) - changed = true + case "cloudflare": + { + if _, ok := config["dnsApiToken"]; ok { + config["apiToken"] = config["dnsApiToken"] + delete(config, "dnsApiToken") + record.Set("config", config) + changed = true + } + if _, ok := config["zoneApiToken"]; ok { + config["apiTokenForZone"] = config["zoneApiToken"] + delete(config, "zoneApiToken") + record.Set("config", config) + changed = true + } } - if _, ok := config["secretKey"]; ok { - config["secretAccessKey"] = config["secretKey"] - delete(config, "secretKey") - record.Set("config", config) - changed = true + case "byteplus": + { + if _, ok := config["accessKey"]; ok { + config["accessKeyId"] = config["accessKey"] + delete(config, "accessKey") + record.Set("config", config) + changed = true + } + if _, ok := config["secretKey"]; ok { + config["secretAccessKey"] = config["secretKey"] + delete(config, "secretKey") + record.Set("config", config) + changed = true + } } case "volcengine": - if _, ok := config["accessKeySecret"]; ok { - config["secretAccessKey"] = config["accessKeySecret"] - delete(config, "accessKeySecret") - record.Set("config", config) - changed = true + { + if _, ok := config["accessKeySecret"]; ok { + config["secretAccessKey"] = config["accessKeySecret"] + delete(config, "accessKeySecret") + record.Set("config", config) + changed = true + } } } diff --git a/pkg/core/certifier/challengers/dns01/cloudflare/cloudflare.go b/pkg/core/certifier/challengers/dns01/cloudflare/cloudflare.go index 6341af780..ca0c4db29 100644 --- a/pkg/core/certifier/challengers/dns01/cloudflare/cloudflare.go +++ b/pkg/core/certifier/challengers/dns01/cloudflare/cloudflare.go @@ -10,8 +10,8 @@ import ( ) type ChallengerConfig struct { - DnsApiToken string `json:"dnsApiToken"` - ZoneApiToken string `json:"zoneApiToken,omitempty"` + ApiToken string `json:"apiToken"` + ApiTokenForZone string `json:"apiTokenForZone,omitempty"` DnsPropagationTimeout int `json:"dnsPropagationTimeout,omitempty"` DnsTTL int `json:"dnsTTL,omitempty"` } @@ -22,8 +22,10 @@ func NewChallenger(config *ChallengerConfig) (core.ACMEChallenger, error) { } providerConfig := cloudflare.NewDefaultConfig() - providerConfig.AuthToken = config.DnsApiToken - providerConfig.ZoneToken = config.ZoneApiToken + providerConfig.AuthToken = config.ApiToken + if config.ApiTokenForZone != "" { + providerConfig.ZoneToken = config.ApiTokenForZone + } if config.DnsPropagationTimeout != 0 { providerConfig.PropagationTimeout = time.Duration(config.DnsPropagationTimeout) * time.Second } diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderCloudflare.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderCloudflare.tsx index ee7313e54..30565a49a 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProviderCloudflare.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderCloudflare.tsx @@ -18,24 +18,24 @@ const AccessConfigFormFieldsProviderCloudflare = () => { return ( <>