From e0ad0fc4f2d8b867abf2285d3a22c84ac2be0080 Mon Sep 17 00:00:00 2001 From: Sacha Al Himdani Date: Tue, 5 Aug 2025 14:55:40 +0200 Subject: [PATCH] Use configuration for report url duration Signed-off-by: Sacha Al Himdani --- pkg/probod/auth_config.go | 15 +++++++------ pkg/probod/probod.go | 30 ++++++++++++++------------ pkg/server/api/api.go | 30 ++++++++++++++------------ pkg/server/api/trust/v1/resolver.go | 15 +++++++------ pkg/server/api/trust/v1/v1_resolver.go | 2 +- 5 files changed, 49 insertions(+), 43 deletions(-) diff --git a/pkg/probod/auth_config.go b/pkg/probod/auth_config.go index 870d4e2ec..fc04f3182 100644 --- a/pkg/probod/auth_config.go +++ b/pkg/probod/auth_config.go @@ -27,13 +27,14 @@ type ( } trustAuthConfig struct { - CookieName string `json:"cookie-name"` - CookieDomain string `json:"cookie-domain"` - CookieDuration int `json:"cookie-duration"` - TokenDuration int `json:"token-duration"` - TokenSecret string `json:"token-secret"` - Scope string `json:"scope"` - TokenType string `json:"token-type"` + CookieName string `json:"cookie-name"` + CookieDomain string `json:"cookie-domain"` + CookieDuration int `json:"cookie-duration"` + TokenDuration int `json:"token-duration"` + ReportURLDuration int `json:"report-url-duration"` + TokenSecret string `json:"token-secret"` + Scope string `json:"scope"` + TokenType string `json:"token-type"` } cookieConfig struct { diff --git a/pkg/probod/probod.go b/pkg/probod/probod.go index 667b25b97..b74c84c7c 100644 --- a/pkg/probod/probod.go +++ b/pkg/probod/probod.go @@ -102,13 +102,14 @@ func New() *Implm { DisableSignup: false, }, TrustAuth: trustAuthConfig{ - CookieName: "TCT", - CookieDomain: "localhost", - CookieDuration: 24, - TokenDuration: 168, - TokenSecret: "this-is-a-secure-secret-for-trust-token-signing-at-least-32-bytes", - Scope: "trust_center_readonly", - TokenType: "trust_center_access", + CookieName: "TCT", + CookieDomain: "localhost", + CookieDuration: 24, + TokenDuration: 168, + ReportURLDuration: 15, + TokenSecret: "this-is-a-secure-secret-for-trust-token-signing-at-least-32-bytes", + Scope: "trust_center_readonly", + TokenType: "trust_center_access", }, AWS: awsConfig{ Region: "us-east-1", @@ -284,13 +285,14 @@ func (impl *Implm) Run( CookieSecret: impl.cfg.Auth.Cookie.Secret, }, TrustAuth: api.TrustAuthConfig{ - CookieName: impl.cfg.TrustAuth.CookieName, - CookieDomain: impl.cfg.TrustAuth.CookieDomain, - CookieDuration: time.Duration(impl.cfg.TrustAuth.CookieDuration) * time.Hour, - TokenDuration: time.Duration(impl.cfg.TrustAuth.TokenDuration) * time.Hour, - TokenSecret: impl.cfg.TrustAuth.TokenSecret, - Scope: impl.cfg.TrustAuth.Scope, - TokenType: impl.cfg.TrustAuth.TokenType, + CookieName: impl.cfg.TrustAuth.CookieName, + CookieDomain: impl.cfg.TrustAuth.CookieDomain, + CookieDuration: time.Duration(impl.cfg.TrustAuth.CookieDuration) * time.Hour, + TokenDuration: time.Duration(impl.cfg.TrustAuth.TokenDuration) * time.Hour, + ReportURLDuration: time.Duration(impl.cfg.TrustAuth.ReportURLDuration) * time.Minute, + TokenSecret: impl.cfg.TrustAuth.TokenSecret, + Scope: impl.cfg.TrustAuth.Scope, + TokenType: impl.cfg.TrustAuth.TokenType, }, }, ) diff --git a/pkg/server/api/api.go b/pkg/server/api/api.go index e5a6fa9f8..b8eeed082 100644 --- a/pkg/server/api/api.go +++ b/pkg/server/api/api.go @@ -42,13 +42,14 @@ type ( } TrustAuthConfig struct { - CookieName string - CookieDomain string - CookieDuration time.Duration - TokenDuration time.Duration - TokenSecret string - Scope string - TokenType string + CookieName string + CookieDomain string + CookieDuration time.Duration + TokenDuration time.Duration + ReportURLDuration time.Duration + TokenSecret string + Scope string + TokenType string } Config struct { @@ -170,13 +171,14 @@ func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) { CookieSecret: s.cfg.Auth.CookieSecret, }, trust_v1.TrustAuthConfig{ - CookieName: s.cfg.TrustAuth.CookieName, - CookieDomain: s.cfg.TrustAuth.CookieDomain, - CookieDuration: s.cfg.TrustAuth.CookieDuration, - TokenDuration: s.cfg.TrustAuth.TokenDuration, - TokenSecret: s.cfg.TrustAuth.TokenSecret, - Scope: s.cfg.TrustAuth.Scope, - TokenType: s.cfg.TrustAuth.TokenType, + CookieName: s.cfg.TrustAuth.CookieName, + CookieDomain: s.cfg.TrustAuth.CookieDomain, + CookieDuration: s.cfg.TrustAuth.CookieDuration, + TokenDuration: s.cfg.TrustAuth.TokenDuration, + ReportURLDuration: s.cfg.TrustAuth.ReportURLDuration, + TokenSecret: s.cfg.TrustAuth.TokenSecret, + Scope: s.cfg.TrustAuth.Scope, + TokenType: s.cfg.TrustAuth.TokenType, }, ), ) diff --git a/pkg/server/api/trust/v1/resolver.go b/pkg/server/api/trust/v1/resolver.go index 12c06375c..40155f220 100644 --- a/pkg/server/api/trust/v1/resolver.go +++ b/pkg/server/api/trust/v1/resolver.go @@ -42,13 +42,14 @@ import ( type ( TrustAuthConfig struct { - CookieName string - CookieDomain string - CookieDuration time.Duration - TokenDuration time.Duration - TokenSecret string - Scope string - TokenType string + CookieName string + CookieDomain string + CookieDuration time.Duration + TokenDuration time.Duration + ReportURLDuration time.Duration + TokenSecret string + Scope string + TokenType string } Resolver struct { diff --git a/pkg/server/api/trust/v1/v1_resolver.go b/pkg/server/api/trust/v1/v1_resolver.go index f9becea00..f35db18de 100644 --- a/pkg/server/api/trust/v1/v1_resolver.go +++ b/pkg/server/api/trust/v1/v1_resolver.go @@ -73,7 +73,7 @@ func (r *auditResolver) ReportURL(ctx context.Context, obj *types.Audit) (*strin return nil, nil } - url, err := trust.Audits.GenerateReportURL(ctx, obj.ID, 15*time.Minute) + url, err := trust.Audits.GenerateReportURL(ctx, obj.ID, r.trustAuthCfg.ReportURLDuration) if err != nil { return nil, fmt.Errorf("cannot generate report URL: %w", err) }