From 94b1bc7798b03b187ce87bed5396ce8edc5989b8 Mon Sep 17 00:00:00 2001 From: YeqingKy Date: Sat, 19 Sep 2026 13:27:29 +0800 Subject: [PATCH] fix: lecdn v4 API authentication and certificate deployment --- pkg/core/deployer/providers/lecdn/lecdn.go | 13 +++++++------ pkg/sdk3rd/lecdn/client/v4/client.go | 8 ++------ pkg/sdk3rd/lecdn/master/v4/client.go | 6 +----- 3 files changed, 10 insertions(+), 17 deletions(-) diff --git a/pkg/core/deployer/providers/lecdn/lecdn.go b/pkg/core/deployer/providers/lecdn/lecdn.go index b180da5fe..98be24db0 100644 --- a/pkg/core/deployer/providers/lecdn/lecdn.go +++ b/pkg/core/deployer/providers/lecdn/lecdn.go @@ -3,6 +3,7 @@ package lecdn import ( "context" "crypto/tls" + "encoding/base64" "fmt" "log/slog" "time" @@ -150,8 +151,8 @@ func (d *Deployer) deployToCertificate(ctx context.Context, certPEM, privkeyPEM updateSSLCertReq := &lecdnclientsdkv4.UpdateCertificateRequest{ Name: certName, Description: certDesc, - SSLPEM: certPEM, - SSLKey: privkeyPEM, + SSLPEM: base64.StdEncoding.EncodeToString([]byte(certPEM)), + SSLKey: base64.StdEncoding.EncodeToString([]byte(privkeyPEM)), AutoRenewal: false, } updateSSLCertResp, err := sdkClient.UpdateCertificateWithContext(ctx, d.config.CertificateId, updateSSLCertReq) @@ -166,8 +167,8 @@ func (d *Deployer) deployToCertificate(ctx context.Context, certPEM, privkeyPEM updateSSLCertReq := &lecdnmastersdkv4.UpdateCertificateRequest{ Name: certName, Description: certDesc, - SSLPEM: certPEM, - SSLKey: privkeyPEM, + SSLPEM: base64.StdEncoding.EncodeToString([]byte(certPEM)), + SSLKey: base64.StdEncoding.EncodeToString([]byte(privkeyPEM)), AutoRenewal: false, } updateSSLCertResp, err := sdkClient.UpdateCertificateWithContext(ctx, d.config.CertificateId, updateSSLCertReq) @@ -264,7 +265,7 @@ func createSDKClient(serverUrl, apiVersion, apiRole, authMethod, username, passw case "", AUTH_METHOD_PASSWORD: client, err = lecdnclientsdkv4.NewClient(serverUrl, lecdnclientsdkv4.WithLogins(username, password)) case AUTH_METHOD_APIKEY: - client, err = lecdnclientsdkv4.NewClient(serverUrl, lecdnclientsdkv4.WithLogins(username, password)) + client, err = lecdnclientsdkv4.NewClient(serverUrl, lecdnclientsdkv4.WithApiKey(apiKey)) default: err = fmt.Errorf("unsupported auth method '%s'", authMethod) } @@ -290,7 +291,7 @@ func createSDKClient(serverUrl, apiVersion, apiRole, authMethod, username, passw case "", AUTH_METHOD_PASSWORD: client, err = lecdnmastersdkv4.NewClient(serverUrl, lecdnmastersdkv4.WithLogins(username, password)) case AUTH_METHOD_APIKEY: - client, err = lecdnmastersdkv4.NewClient(serverUrl, lecdnmastersdkv4.WithLogins(username, password)) + client, err = lecdnmastersdkv4.NewClient(serverUrl, lecdnmastersdkv4.WithApiKey(apiKey)) default: err = fmt.Errorf("unsupported auth method '%s'", authMethod) } diff --git a/pkg/sdk3rd/lecdn/client/v4/client.go b/pkg/sdk3rd/lecdn/client/v4/client.go index f8460e6c8..834bfb420 100644 --- a/pkg/sdk3rd/lecdn/client/v4/client.go +++ b/pkg/sdk3rd/lecdn/client/v4/client.go @@ -48,11 +48,7 @@ func NewClient(serverUrl string, optFns ...OptionsFunc) (*Client, error) { } baseUrl := strings.TrimSuffix(serverUrl, "/") - if opts.ApiKey != "" { - baseUrl += "/api/client" - } else { - baseUrl += "/prod-api" - } + baseUrl += "/prod-api" client := &Client{ username: opts.Username, @@ -150,7 +146,7 @@ func (c *Client) ensureToken(ctx context.Context) error { return nil } - httpreq, err := c.newRequest(http.MethodPost, "/auth/login") + httpreq, err := c.newRequest(http.MethodPost, "/login") if err != nil { return err } else { diff --git a/pkg/sdk3rd/lecdn/master/v4/client.go b/pkg/sdk3rd/lecdn/master/v4/client.go index 40c490288..502b063c8 100644 --- a/pkg/sdk3rd/lecdn/master/v4/client.go +++ b/pkg/sdk3rd/lecdn/master/v4/client.go @@ -48,11 +48,7 @@ func NewClient(serverUrl string, optFns ...OptionsFunc) (*Client, error) { } baseUrl := strings.TrimSuffix(serverUrl, "/") - if opts.ApiKey != "" { - baseUrl += "/api/admin" - } else { - baseUrl += "/prod-api" - } + baseUrl += "/prod-api" client := &Client{ username: opts.Username,