Skip to content

Commit c43614b

Browse files
authored
Add OIDC context struct (#1411)
1 parent 54ff6f6 commit c43614b

File tree

5 files changed

+42
-8
lines changed

5 files changed

+42
-8
lines changed

common/commands/config.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,10 @@ func exchangeOidcTokenAndSetAccessToken(cc *ConfigCommand) error {
231231
SetProjectKey(cc.oidcSetupParams.ProjectKey).
232232
SetRepository(cc.oidcSetupParams.Repository).
233233
SetJobId(cc.oidcSetupParams.JobId).
234-
SetRunId(cc.oidcSetupParams.RunId)
234+
SetRunId(cc.oidcSetupParams.RunId).
235+
SetVcsRevision(cc.oidcSetupParams.VcsRevision).
236+
SetVcsBranch(cc.oidcSetupParams.VcsBranch).
237+
SetVcsUrl(cc.oidcSetupParams.VcsUrl)
235238

236239
// Usage report will be sent only after execution in order to have valid token
237240
err := ExecAndThenReportUsage(exchangeOidcTokenCmd)

general/token/oidctokenexchange.go

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@ package token
33
import (
44
"encoding/json"
55
"fmt"
6+
"os"
7+
"strings"
8+
69
rtUtils "github.com/jfrog/jfrog-cli-core/v2/artifactory/utils"
710
"github.com/jfrog/jfrog-cli-core/v2/utils/config"
811
"github.com/jfrog/jfrog-cli-core/v2/utils/coreutils"
912
"github.com/jfrog/jfrog-client-go/access/services"
1013
"github.com/jfrog/jfrog-client-go/auth"
1114
"github.com/jfrog/jfrog-client-go/utils/log"
12-
"os"
13-
"strings"
1415
)
1516

1617
const (
@@ -73,6 +74,9 @@ type OidcParams struct {
7374
JobId string
7475
RunId string
7576
Repository string
77+
VcsUrl string
78+
VcsBranch string
79+
VcsRevision string
7680
}
7781

7882
type ExchangeCommandOutputStruct struct {
@@ -133,6 +137,21 @@ func (otc *OidcTokenExchangeCommand) SetRepository(repo string) *OidcTokenExchan
133137
return otc
134138
}
135139

140+
func (otc *OidcTokenExchangeCommand) SetVcsUrl(vcsUrl string) *OidcTokenExchangeCommand {
141+
otc.VcsUrl = vcsUrl
142+
return otc
143+
}
144+
145+
func (otc *OidcTokenExchangeCommand) SetVcsBranch(vcsBranch string) *OidcTokenExchangeCommand {
146+
otc.VcsBranch = vcsBranch
147+
return otc
148+
}
149+
150+
func (otc *OidcTokenExchangeCommand) SetVcsRevision(vcsRevision string) *OidcTokenExchangeCommand {
151+
otc.VcsRevision = vcsRevision
152+
return otc
153+
}
154+
136155
func (otc *OidcTokenExchangeCommand) Response() (response *auth.OidcTokenResponseData) {
137156
return otc.response
138157
}
@@ -191,5 +210,14 @@ func (otc *OidcTokenExchangeCommand) getOidcTokenParams() services.CreateOidcTok
191210
oidcTokenParams.Repo = otc.Repository
192211
oidcTokenParams.Audience = otc.Audience
193212
oidcTokenParams.ProviderName = otc.ProviderName
213+
oidcTokenParams.ProviderType = otc.ProviderType.String()
214+
oidcTokenParams.Context = &services.Context{
215+
VcsCommit: &services.VcsCommit{
216+
VcsUrl: otc.VcsUrl,
217+
Branch: otc.VcsBranch,
218+
Revision: otc.VcsRevision,
219+
},
220+
}
221+
194222
return oidcTokenParams
195223
}

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ require (
114114
sigs.k8s.io/yaml v1.4.0 // indirect
115115
)
116116

117-
replace github.com/jfrog/jfrog-client-go => github.com/jfrog/jfrog-client-go v1.28.1-0.20250619121353-6ff3439c999d
117+
replace github.com/jfrog/jfrog-client-go => github.com/jfrog/jfrog-client-go v1.28.1-0.20250629142537-bb24db402fe1
118118

119119
// replace github.com/jfrog/build-info-go => github.com/jfrog/build-info-go v1.8.9-0.20250611113558-c1a092f216fd
120120

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,8 @@ github.com/jfrog/build-info-go v1.10.14 h1:PWnw+rBwiQTHZ5q+84+E8MHFjtAQkB3+Oc2sK
113113
github.com/jfrog/build-info-go v1.10.14/go.mod h1:JcISnovFXKx3wWf3p1fcMmlPdt6adxScXvoJN4WXqIE=
114114
github.com/jfrog/gofrog v1.7.6 h1:QmfAiRzVyaI7JYGsB7cxfAJePAZTzFz0gRWZSE27c6s=
115115
github.com/jfrog/gofrog v1.7.6/go.mod h1:ntr1txqNOZtHplmaNd7rS4f8jpA5Apx8em70oYEe7+4=
116-
github.com/jfrog/jfrog-client-go v1.28.1-0.20250619121353-6ff3439c999d h1:0TNgRnYr92lmxC4my2P07MqaWmYBuLP/sgoCD5k/fhA=
117-
github.com/jfrog/jfrog-client-go v1.28.1-0.20250619121353-6ff3439c999d/go.mod h1:1v0eih4thdPA4clBo9TuvAMT25sGDr1IQJ81DXQ/lBY=
116+
github.com/jfrog/jfrog-client-go v1.28.1-0.20250629142537-bb24db402fe1 h1:0t6dQHoalUDNVrfZujD3iCmDGLDl+ndHclFkmONSpq0=
117+
github.com/jfrog/jfrog-client-go v1.28.1-0.20250629142537-bb24db402fe1/go.mod h1:1v0eih4thdPA4clBo9TuvAMT25sGDr1IQJ81DXQ/lBY=
118118
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
119119
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
120120
github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4=

utils/coreutils/coreconsts.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,9 @@ var (
7777
//#nosec G101
7878
EncryptionKey = "JFROG_CLI_ENCRYPTION_KEY"
7979
// For CI runs
80-
CIJobID = "JFROG_CLI_CI_JOB_ID"
81-
CIRunID = "JFROG_CLI_CI_RUN_ID"
80+
CIJobID = "JFROG_CLI_CI_JOB_ID"
81+
CIRunID = "JFROG_CLI_CI_RUN_ID"
82+
CIVcsUrl = "JFROG_CLI_CI_VCS_URL"
83+
CIVcsRevision = "JFROG_CLI_CI_VCS_REVISION"
84+
CIVcsBranch = "JFROG_CLI_CI_BRANCH"
8285
)

0 commit comments

Comments
 (0)