use jwt instead of basicAuth for webEnv (#10246)

This commit is contained in:
Harshavardhana 2020-08-11 16:09:34 -07:00 committed by GitHub
parent 6914b2c99d
commit 900eebb9a4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

16
pkg/env/web_env.go vendored
View File

@ -30,6 +30,8 @@ import (
"os"
"regexp"
"time"
"github.com/dgrijalva/jwt-go"
)
const (
@ -96,10 +98,20 @@ func fetchEnvHTTP(envKey string, u *url.URL) (string, error) {
return "", err
}
if username != "" && password != "" {
req.SetBasicAuth(username, password)
claims := &jwt.StandardClaims{
ExpiresAt: int64(15 * time.Minute),
Issuer: username,
Subject: envKey,
}
token := jwt.NewWithClaims(jwt.SigningMethodHS512, claims)
ss, err := token.SignedString([]byte(password))
if err != nil {
return "", err
}
req.Header.Set("Authorization", "Bearer "+ss)
clnt := &http.Client{
Transport: &http.Transport{
Proxy: http.ProxyFromEnvironment,