From e718d0c0150dff5edeeb45e0fb0ea4bd0ea74602 Mon Sep 17 00:00:00 2001 From: tzwang Date: Mon, 23 Jun 2025 10:37:49 +0800 Subject: [PATCH] update octopusHttp token --- internal/storeLink/octopusHttp/token.go | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/internal/storeLink/octopusHttp/token.go b/internal/storeLink/octopusHttp/token.go index a3591980..9323acc3 100644 --- a/internal/storeLink/octopusHttp/token.go +++ b/internal/storeLink/octopusHttp/token.go @@ -3,6 +3,7 @@ package octopusHttp import ( "crypto/tls" "encoding/json" + "errors" "github.com/go-resty/resty/v2" "time" ) @@ -47,15 +48,37 @@ func NewToken(server, host, user, pwd string) (*Token, error) { token, err := generateToken(jsonStr, tokenUrl, host) if err != nil { - return nil, err + return &Token{token: "", host: host, user: user, pwd: pwd, tokenUrl: tokenUrl}, err } return &Token{token: token, host: host, user: user, pwd: pwd, tokenUrl: tokenUrl}, nil } func (t *Token) Get() (string, error) { + if t.token == "" { + err := t.Update() + if err != nil { + return "", errors.New("get token failed") + } + } return t.token, nil } +func (t *Token) Update() error { + login := Login{ + Username: t.user, + Password: t.pwd, + } + jsonStr, _ := json.Marshal(login) + tokenUrl := t.server + GetToken + token, err := generateToken(jsonStr, tokenUrl, t.host) + if err != nil { + return errors.New("get token failed") + } + + t.token = token + return nil +} + func generateToken(jsonStr []byte, tokenUrl string, host string) (string, error) { client := resty.New().SetTimeout(time.Duration(5) * time.Second) req := client.R()