Skip to content

Commit 6acc611

Browse files
authored
fix the refresh token issue (IBM-Cloud#6489)
1 parent 94980b6 commit 6acc611

File tree

3 files changed

+18
-8
lines changed

3 files changed

+18
-8
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ module github.com/IBM-Cloud/terraform-provider-ibm
33
go 1.24.2
44

55
require (
6-
github.com/IBM-Cloud/bluemix-go v0.0.0-20250926123547-63b728a65b05
6+
github.com/IBM-Cloud/bluemix-go v0.0.0-20251001005609-37dbcddbe871
77
github.com/IBM-Cloud/container-services-go-sdk v0.0.0-20240725064144-454a2ae23113
88
github.com/IBM-Cloud/power-go-client v1.13.0
99
github.com/IBM/appconfiguration-go-admin-sdk v0.5.1

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,8 @@ github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ
8989
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
9090
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
9191
github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=
92-
github.com/IBM-Cloud/bluemix-go v0.0.0-20250926123547-63b728a65b05 h1:5M3cNzIxuEWBQaOHUGIhhmUWJMtnw1cpZEtyMR1eImw=
93-
github.com/IBM-Cloud/bluemix-go v0.0.0-20250926123547-63b728a65b05/go.mod h1:lU1/3aolIs4y062yTTokFEiIEssAZqqjdj/5qvkBeq8=
92+
github.com/IBM-Cloud/bluemix-go v0.0.0-20251001005609-37dbcddbe871 h1:0NrvGUWBoGxPZj73Az6y7ITMcGEitZf2lRvXlzCYRgs=
93+
github.com/IBM-Cloud/bluemix-go v0.0.0-20251001005609-37dbcddbe871/go.mod h1:lU1/3aolIs4y062yTTokFEiIEssAZqqjdj/5qvkBeq8=
9494
github.com/IBM-Cloud/container-services-go-sdk v0.0.0-20240725064144-454a2ae23113 h1:f2Erqfea1dKpaTFagTJM6W/wnD3JGq/Vn9URh8nuRwk=
9595
github.com/IBM-Cloud/container-services-go-sdk v0.0.0-20240725064144-454a2ae23113/go.mod h1:xUQL9SGAjoZFd4GNjrjjtEpjpkgU7RFXRyHesbKTjiY=
9696
github.com/IBM-Cloud/power-go-client v1.13.0 h1:TqxPlkJe0VkNdV9hYOD5NRepxEFhhyKXWXfg22x2zhU=

ibm/conns/config.go

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1548,7 +1548,7 @@ func (c *Config) ClientSession() (interface{}, error) {
15481548
kpurl = fileFallBack(fileMap, c.Visibility, "IBMCLOUD_KP_API_ENDPOINT", c.Region, kpurl)
15491549
}
15501550
var options kp.ClientConfig
1551-
if c.BluemixAPIKey != "" {
1551+
if (c.BluemixAPIKey != "") && (c.IAMTrustedProfileID == "" && c.IAMTrustedProfileName == "") {
15521552
options = kp.ClientConfig{
15531553
BaseURL: EnvFallBack([]string{"IBMCLOUD_KP_API_ENDPOINT"}, kpurl),
15541554
APIKey: sess.BluemixSession.Config.BluemixAPIKey, // pragma: allowlist secret
@@ -1591,7 +1591,7 @@ func (c *Config) ClientSession() (interface{}, error) {
15911591
kmsurl = fileFallBack(fileMap, c.Visibility, "IBMCLOUD_KP_API_ENDPOINT", c.Region, kmsurl)
15921592
}
15931593
var kmsOptions kp.ClientConfig
1594-
if c.BluemixAPIKey != "" {
1594+
if (c.BluemixAPIKey != "") && (c.IAMTrustedProfileID == "" && c.IAMTrustedProfileName == "") {
15951595
kmsOptions = kp.ClientConfig{
15961596
BaseURL: EnvFallBack([]string{"IBMCLOUD_KP_API_ENDPOINT"}, kmsurl),
15971597
APIKey: sess.BluemixSession.Config.BluemixAPIKey, // pragma: allowlist secret
@@ -1621,6 +1621,7 @@ func (c *Config) ClientSession() (interface{}, error) {
16211621
authenticator, err = core.NewIamAssumeAuthenticatorBuilder().
16221622
SetApiKey(c.BluemixAPIKey).
16231623
SetIAMProfileID(c.IAMTrustedProfileID).
1624+
SetURL(EnvFallBack([]string{"IBMCLOUD_IAM_API_ENDPOINT"}, iamURL)).
16241625
Build()
16251626
if err != nil {
16261627
log.Fatalf("Error in authenticating using NewIamAssumeAuthenticatorBuilder. Error: %s", err)
@@ -1630,6 +1631,7 @@ func (c *Config) ClientSession() (interface{}, error) {
16301631
SetApiKey(c.BluemixAPIKey).
16311632
SetIAMProfileName(c.IAMTrustedProfileName).
16321633
SetIAMAccountID(c.Account).
1634+
SetURL(EnvFallBack([]string{"IBMCLOUD_IAM_API_ENDPOINT"}, iamURL)).
16331635
Build()
16341636
if err != nil {
16351637
log.Fatalf("Error in authenticating using NewIamAssumeAuthenticatorBuilder with trusted profile name. Error: %s", err)
@@ -3785,6 +3787,7 @@ func newSession(c *Config) (*Session, error) {
37853787
iamURL := EnvFallBack([]string{"IBMCLOUD_IAM_API_ENDPOINT"}, IAMURL)
37863788
if (c.BluemixAPIKey != "") && (c.IAMTrustedProfileID != "" || c.IAMTrustedProfileName != "") {
37873789
if c.IAMTrustedProfileID != "" {
3790+
log.Println("Configuring Session with Trusted Profile ID")
37883791
authenticator, err = core.NewIamAssumeAuthenticatorBuilder().
37893792
SetApiKey(c.BluemixAPIKey).
37903793
SetIAMProfileID(c.IAMTrustedProfileID).
@@ -3794,6 +3797,7 @@ func newSession(c *Config) (*Session, error) {
37943797
log.Fatalf("Error in authenticating using NewIamAssumeAuthenticatorBuilder. Error: %s", err)
37953798
}
37963799
} else {
3800+
log.Println("Configuring Session with Trusted Profile Name")
37973801
authenticator, err = core.NewIamAssumeAuthenticatorBuilder().
37983802
SetApiKey(c.BluemixAPIKey).
37993803
SetIAMProfileName(c.IAMTrustedProfileName).
@@ -3806,12 +3810,16 @@ func newSession(c *Config) (*Session, error) {
38063810
}
38073811
} else if c.BluemixAPIKey != "" || c.IAMRefreshToken != "" {
38083812
if c.BluemixAPIKey != "" {
3813+
log.Println("Configuring Session with API Key")
38093814
authenticator = &core.IamAuthenticator{
3810-
ApiKey: c.BluemixAPIKey,
3811-
URL: iamURL,
3815+
ApiKey: c.BluemixAPIKey,
3816+
URL: iamURL,
3817+
ClientId: "bx",
3818+
ClientSecret: "bx",
38123819
}
38133820
} else {
38143821
// Construct the IamAuthenticator with the IAM refresh token.
3822+
log.Println("Configuring Session with refresh token")
38153823
authenticator = &core.IamAuthenticator{
38163824
RefreshToken: c.IAMRefreshToken,
38173825
ClientId: "bx",
@@ -3820,10 +3828,12 @@ func newSession(c *Config) (*Session, error) {
38203828
}
38213829
}
38223830
} else if strings.HasPrefix(c.IAMToken, "Bearer") {
3831+
log.Println("Configuring Session with access token")
38233832
authenticator = &core.BearerTokenAuthenticator{
38243833
BearerToken: c.IAMToken[7:],
38253834
}
38263835
} else {
3836+
log.Println("Configuring Session with access token")
38273837
authenticator = &core.BearerTokenAuthenticator{
38283838
BearerToken: c.IAMToken,
38293839
}
@@ -3950,7 +3960,7 @@ func RefreshToken(sess *bxsession.Session) error {
39503960
if err != nil {
39513961
return err
39523962
}
3953-
_, err = tokenRefresher.RefreshToken()
3963+
err = tokenRefresher.FetchAuthorizationData(config.Authenticator)
39543964
return err
39553965
}
39563966

0 commit comments

Comments
 (0)