using /jenkins replace jenkins.kubesphere.io api
Signed-off-by: shaowenchen <mail@chenshaowen.com>
This commit is contained in:
@@ -1,15 +1,10 @@
|
||||
package jenkins
|
||||
|
||||
import (
|
||||
"encoding/base64"
|
||||
"fmt"
|
||||
"github.com/dgrijalva/jwt-go"
|
||||
"k8s.io/klog"
|
||||
authtoken "kubesphere.io/kubesphere/pkg/apiserver/authentication/token"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/devops"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
@@ -32,23 +27,7 @@ func (j *Jenkins) SendPureRequestWithHeaderResp(path string, httpParameters *dev
|
||||
client := &http.Client{Timeout: 30 * time.Second}
|
||||
|
||||
header := httpParameters.Header
|
||||
bearTokenArray := strings.Split(header.Get("Authorization"), " ")
|
||||
bearFlag := bearTokenArray[0]
|
||||
if strings.ToLower(bearFlag) == "bearer" {
|
||||
bearToken := bearTokenArray[1]
|
||||
if err != nil {
|
||||
klog.Error(err)
|
||||
return nil, nil, err
|
||||
}
|
||||
claim := authtoken.Claims{}
|
||||
parser := jwt.Parser{}
|
||||
_, _, err = parser.ParseUnverified(bearToken, &claim)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
creds := base64.StdEncoding.EncodeToString([]byte(fmt.Sprintf("%s:%s", claim.Username, bearToken)))
|
||||
header.Set("Authorization", fmt.Sprintf("Basic %s", creds))
|
||||
}
|
||||
SetBasicBearTokenHeader(&header)
|
||||
|
||||
newRequest := &http.Request{
|
||||
Method: httpParameters.Method,
|
||||
|
||||
@@ -16,11 +16,14 @@ package jenkins
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/base64"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"github.com/dgrijalva/jwt-go"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
authtoken "kubesphere.io/kubesphere/pkg/apiserver/authentication/token"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/devops"
|
||||
"mime/multipart"
|
||||
"net/http"
|
||||
@@ -40,6 +43,28 @@ type APIRequest struct {
|
||||
Suffix string
|
||||
}
|
||||
|
||||
// set basic token for jenkins auth
|
||||
func SetBasicBearTokenHeader(header *http.Header) error {
|
||||
bearTokenArray := strings.Split(header.Get("Authorization"), " ")
|
||||
bearFlag := bearTokenArray[0]
|
||||
var err error
|
||||
if strings.ToLower(bearFlag) == "bearer" {
|
||||
bearToken := bearTokenArray[1]
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
claim := authtoken.Claims{}
|
||||
parser := jwt.Parser{}
|
||||
_, _, err = parser.ParseUnverified(bearToken, &claim)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
creds := base64.StdEncoding.EncodeToString([]byte(fmt.Sprintf("%s:%s", claim.Username, bearToken)))
|
||||
header.Set("Authorization", fmt.Sprintf("Basic %s", creds))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (ar *APIRequest) SetHeader(key string, value string) *APIRequest {
|
||||
ar.Headers.Set(key, value)
|
||||
return ar
|
||||
|
||||
Reference in New Issue
Block a user