Skip to content

Commit 424af20

Browse files
authored
Merge pull request #2087 from dgageot/remove-experimental-feature
Remove experimental feature
2 parents cf98b63 + d85a686 commit 424af20

1 file changed

Lines changed: 1 addition & 54 deletions

File tree

‎pkg/desktop/login.go‎

Lines changed: 1 addition & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,18 @@
11
package desktop
22

3-
import (
4-
"context"
5-
"log/slog"
6-
"os"
7-
"os/exec"
8-
"time"
9-
10-
"github.com/golang-jwt/jwt/v5"
11-
)
3+
import "context"
124

135
type DockerHubInfo struct {
146
Username string `json:"id"`
157
Email string `json:"email,omitempty"`
168
}
179

1810
func GetToken(ctx context.Context) string {
19-
token := fetchToken(ctx)
20-
21-
if token == "" || !isTokenExpired(token) {
22-
return token
23-
}
24-
25-
if os.Getenv("EXPERIMENTAL_DOCKER_TOKEN_REFRESH") != "1" {
26-
return token
27-
}
28-
29-
slog.Debug("Token expired, attempting docker login to refresh")
30-
if err := runDockerLogin(ctx); err != nil {
31-
slog.Debug("docker login failed", "error", err)
32-
return token
33-
}
34-
35-
slog.Debug("docker login succeeded, fetching new token")
36-
return fetchToken(ctx)
37-
}
38-
39-
func fetchToken(ctx context.Context) string {
4011
var token string
4112
_ = ClientBackend.Get(ctx, "/registry/token", &token)
4213
return token
4314
}
4415

45-
func isTokenExpired(token string) bool {
46-
parsed, _, err := jwt.NewParser().ParseUnverified(token, jwt.MapClaims{})
47-
if err != nil {
48-
slog.Debug("Failed to parse JWT", "error", err)
49-
return false
50-
}
51-
52-
exp, err := parsed.Claims.GetExpirationTime()
53-
if err != nil || exp == nil {
54-
slog.Debug("Failed to get expiration time from JWT", "error", err)
55-
return false
56-
}
57-
58-
return exp.Before(time.Now())
59-
}
60-
61-
func runDockerLogin(ctx context.Context) error {
62-
cmd := exec.CommandContext(ctx, "docker", "login")
63-
cmd.Stdin = os.Stdin
64-
cmd.Stdout = os.Stdout
65-
cmd.Stderr = os.Stderr
66-
return cmd.Run()
67-
}
68-
6916
func GetUserInfo(ctx context.Context) DockerHubInfo {
7017
var info DockerHubInfo
7118
_ = ClientBackend.Get(ctx, "/registry/username", &info)

0 commit comments

Comments
 (0)