@@ -39,14 +39,15 @@ type DBTokenProvider struct {
39
39
Logger slog.Logger
40
40
41
41
// DashboardURL is the main dashboard access URL for error pages.
42
- DashboardURL * url.URL
43
- Authorizer rbac.Authorizer
44
- Auditor * atomic.Pointer [audit.Auditor ]
45
- Database database.Store
46
- DeploymentValues * codersdk.DeploymentValues
47
- OAuth2Configs * httpmw.OAuth2Configs
48
- WorkspaceAgentInactiveTimeout time.Duration
49
- Keycache cryptokeys.SigningKeycache
42
+ DashboardURL * url.URL
43
+ Authorizer rbac.Authorizer
44
+ Auditor * atomic.Pointer [audit.Auditor ]
45
+ Database database.Store
46
+ DeploymentValues * codersdk.DeploymentValues
47
+ OAuth2Configs * httpmw.OAuth2Configs
48
+ WorkspaceAgentInactiveTimeout time.Duration
49
+ WorkspaceAppAuditSessionTimeout time.Duration
50
+ Keycache cryptokeys.SigningKeycache
50
51
}
51
52
52
53
var _ SignedTokenProvider = & DBTokenProvider {}
@@ -59,22 +60,27 @@ func NewDBTokenProvider(log slog.Logger,
59
60
cfg * codersdk.DeploymentValues ,
60
61
oauth2Cfgs * httpmw.OAuth2Configs ,
61
62
workspaceAgentInactiveTimeout time.Duration ,
63
+ workspaceAppAuditSessionTimeout time.Duration ,
62
64
signer cryptokeys.SigningKeycache ,
63
65
)SignedTokenProvider {
64
66
if workspaceAgentInactiveTimeout == 0 {
65
67
workspaceAgentInactiveTimeout = 1 * time .Minute
66
68
}
69
+ if workspaceAppAuditSessionTimeout == 0 {
70
+ workspaceAppAuditSessionTimeout = time .Hour
71
+ }
67
72
68
73
return & DBTokenProvider {
69
- Logger :log ,
70
- DashboardURL :accessURL ,
71
- Authorizer :authz ,
72
- Auditor :auditor ,
73
- Database :db ,
74
- DeploymentValues :cfg ,
75
- OAuth2Configs :oauth2Cfgs ,
76
- WorkspaceAgentInactiveTimeout :workspaceAgentInactiveTimeout ,
77
- Keycache :signer ,
74
+ Logger :log ,
75
+ DashboardURL :accessURL ,
76
+ Authorizer :authz ,
77
+ Auditor :auditor ,
78
+ Database :db ,
79
+ DeploymentValues :cfg ,
80
+ OAuth2Configs :oauth2Cfgs ,
81
+ WorkspaceAgentInactiveTimeout :workspaceAgentInactiveTimeout ,
82
+ WorkspaceAppAuditSessionTimeout :workspaceAppAuditSessionTimeout ,
83
+ Keycache :signer ,
78
84
}
79
85
}
80
86
@@ -446,7 +452,7 @@ func (p *DBTokenProvider) auditInitAutocommitRequest(ctx context.Context, w http
446
452
UserID :userID ,
447
453
Ip :aReq .ip ,
448
454
UpdatedAt :aReq .time ,
449
- StaleIntervalMS :( 2 * time . Hour ) .Milliseconds (),
455
+ StaleIntervalMS :p . WorkspaceAppAuditSessionTimeout .Milliseconds (),
450
456
})
451
457
if err != nil {
452
458
return xerrors .Errorf ("update workspace app audit session: %w" ,err )