Skip to content

Commit 9e86724

Browse files
committed
fix(provider): remove deprecated clientID
1 parent 4d0508e commit 9e86724

File tree

6 files changed

+24
-39
lines changed

6 files changed

+24
-39
lines changed

README.md

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,11 @@ func main() {
6161

6262
// Create credentials provider
6363
provider, err := entraid.NewManagedIdentityCredentialsProvider(entraid.ManagedIdentityCredentialsProviderOptions{
64-
CredentialsProviderOptions: entraid.CredentialsProviderOptions{
65-
ClientID: clientID,
64+
CredentialsProviderOptions: entraid.CredentialsProviderOptions{},
65+
ManagedIdentityProviderOptions: identity.ManagedIdentityProviderOptions{
66+
UserAssignedObjectID: clientID,
67+
ManagedIdentityType: identity.UserAssignedObjectID,
68+
Scopes: []string{identity.RedisScopeDefault},
6669
},
6770
})
6871
if err != nil {
@@ -214,13 +217,11 @@ AZURE_CLIENT_SECRET=your-client-secret
214217
### Available Configuration Options
215218

216219
#### 1. CredentialsProviderOptions
217-
Base options for all credential providers:
220+
Base options for credential providers includes the options for the token manager:
218221
```go
219222
type CredentialsProviderOptions struct {
220-
// Required: Client ID for authentication
221-
ClientID string
222-
223-
// Optional: Token manager configuration
223+
// TokenManagerOptions is the options for the token manager.
224+
// This is used to configure the token manager when requesting a token.
224225
TokenManagerOptions manager.TokenManagerOptions
225226
}
226227
```
@@ -275,7 +276,7 @@ type RetryOptions struct {
275276
```
276277

277278
#### 4. ManagedIdentityProviderOptions
278-
Options for managed identity authentication:
279+
Options for managed identity provider (user assigned or system assigned identity):
279280
```go
280281
type ManagedIdentityProviderOptions struct {
281282
// Required: Type of managed identity
@@ -291,7 +292,7 @@ type ManagedIdentityProviderOptions struct {
291292
```
292293

293294
#### 5. ConfidentialIdentityProviderOptions
294-
Options for confidential client authentication:
295+
Options for confidential identity provider (client secret or client sertificate):
295296
```go
296297
type ConfidentialIdentityProviderOptions struct {
297298
// Required: Client ID for authentication
@@ -355,7 +356,6 @@ type DefaultAzureIdentityProviderOptions struct {
355356
#### Basic Configuration
356357
```go
357358
options := entraid.CredentialsProviderOptions{
358-
ClientID: os.Getenv("AZURE_CLIENT_ID"),
359359
TokenManagerOptions: manager.TokenManagerOptions{
360360
ExpirationRefreshRatio: 0.7,
361361
LowerRefreshBounds: 10000,
@@ -366,7 +366,6 @@ options := entraid.CredentialsProviderOptions{
366366
#### Advanced Configuration
367367
```go
368368
options := entraid.CredentialsProviderOptions{
369-
ClientID: os.Getenv("AZURE_CLIENT_ID"),
370369
TokenManagerOptions: manager.TokenManagerOptions{
371370
ExpirationRefreshRatio: 0.7,
372371
LowerRefreshBounds: 10000,
@@ -414,6 +413,7 @@ authority := identity.AuthorityConfiguration{
414413
```go
415414
// Create provider for system assigned identity
416415
provider, err := entraid.NewManagedIdentityCredentialsProvider(entraid.ManagedIdentityCredentialsProviderOptions{
416+
CredentialsProviderOptions: entraid.CredentialsProviderOptions{},
417417
ManagedIdentityProviderOptions: identity.ManagedIdentityProviderOptions{
418418
ManagedIdentityType: identity.SystemAssignedIdentity,
419419
Scopes: []string{"https://redis.azure.com/.default"},
@@ -425,9 +425,7 @@ provider, err := entraid.NewManagedIdentityCredentialsProvider(entraid.ManagedId
425425
```go
426426
// Create provider for user assigned identity
427427
provider, err := entraid.NewManagedIdentityCredentialsProvider(entraid.ManagedIdentityCredentialsProviderOptions{
428-
CredentialsProviderOptions: entraid.CredentialsProviderOptions{
429-
ClientID: os.Getenv("AZURE_CLIENT_ID"),
430-
},
428+
CredentialsProviderOptions: entraid.CredentialsProviderOptions{},
431429
ManagedIdentityProviderOptions: identity.ManagedIdentityProviderOptions{
432430
ManagedIdentityType: identity.UserAssignedObjectID,
433431
UserAssignedObjectID: os.Getenv("AZURE_USER_ASSIGNED_MANAGED_ID"),
@@ -617,8 +615,11 @@ This approach gives you the flexibility of custom authentication while benefitin
617615
func TestManagedIdentityProvider(t *testing.T) {
618616
// Create test provider
619617
provider, err := entraid.NewManagedIdentityCredentialsProvider(entraid.ManagedIdentityCredentialsProviderOptions{
620-
CredentialsProviderOptions: entraid.CredentialsProviderOptions{
621-
ClientID: "test-client-id",
618+
CredentialsProviderOptions: entraid.CredentialsProviderOptions{},
619+
ManagedIdentityProviderOptions: identity.ManagedIdentityProviderOptions{
620+
UserAssignedObjectID: "test-managed-id",
621+
ManagedIdentityType: identity.UserAssignedObjectID,
622+
Scopes: []string{identity.RedisScopeDefault},
622623
},
623624
})
624625
if err != nil {
@@ -652,8 +653,11 @@ func TestManagedIdentityProvider(t *testing.T) {
652653
func TestRedisConnection(t *testing.T) {
653654
// Create provider
654655
provider, err := entraid.NewManagedIdentityCredentialsProvider(entraid.ManagedIdentityCredentialsProviderOptions{
655-
CredentialsProviderOptions: entraid.CredentialsProviderOptions{
656-
ClientID: os.Getenv("AZURE_CLIENT_ID"),
656+
CredentialsProviderOptions: entraid.CredentialsProviderOptions{},
657+
ManagedIdentityProviderOptions: identity.ManagedIdentityProviderOptions{
658+
UserAssignedObjectID: os.Getenv("AZURE_CLIENT_ID"),
659+
ManagedIdentityType: identity.UserAssignedObjectID,
660+
Scopes: []string{identity.RedisScopeDefault},
657661
},
658662
})
659663
if err != nil {

credentials_provider_test.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ func TestCredentialsProviderErrorScenarios(t *testing.T) {
2020
// Create a test provider with invalid options
2121
options := ConfidentialCredentialsProviderOptions{
2222
CredentialsProviderOptions: CredentialsProviderOptions{
23-
ClientID: "test-client-id",
2423
TokenManagerOptions: manager.TokenManagerOptions{
2524
ExpirationRefreshRatio: 0.7,
2625
},
@@ -43,7 +42,6 @@ func TestCredentialsProviderErrorScenarios(t *testing.T) {
4342
// Create a test provider with invalid options
4443
options := ConfidentialCredentialsProviderOptions{
4544
CredentialsProviderOptions: CredentialsProviderOptions{
46-
ClientID: "test-client-id",
4745
TokenManagerOptions: manager.TokenManagerOptions{
4846
ExpirationRefreshRatio: 0.7,
4947
},
@@ -66,7 +64,6 @@ func TestCredentialsProviderErrorScenarios(t *testing.T) {
6664
// Create a test provider with invalid options
6765
options := ManagedIdentityCredentialsProviderOptions{
6866
CredentialsProviderOptions: CredentialsProviderOptions{
69-
ClientID: "test-client-id",
7067
TokenManagerOptions: manager.TokenManagerOptions{
7168
ExpirationRefreshRatio: 0.7,
7269
},
@@ -86,7 +83,6 @@ func TestCredentialsProviderErrorScenarios(t *testing.T) {
8683
// Create a test provider with invalid options
8784
options := DefaultAzureCredentialsProviderOptions{
8885
CredentialsProviderOptions: CredentialsProviderOptions{
89-
ClientID: "test-client-id",
9086
TokenManagerOptions: manager.TokenManagerOptions{
9187
ExpirationRefreshRatio: 0.7,
9288
},
@@ -308,7 +304,6 @@ func TestCredentialsProviderSubscribe(t *testing.T) {
308304
// Create a test provider
309305
opts := ConfidentialCredentialsProviderOptions{
310306
CredentialsProviderOptions: CredentialsProviderOptions{
311-
ClientID: "test-client-id",
312307
TokenManagerOptions: manager.TokenManagerOptions{
313308
ExpirationRefreshRatio: 0.7,
314309
},

examples/entraid/managedidentity_systemassigned/main.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,8 @@ func main() {
3333
},
3434
},
3535
ManagedIdentityProviderOptions: identity.ManagedIdentityProviderOptions{
36-
// For system-assigned identity, we don't need to specify ClientID
3736
Scopes: cfg.GetRedisScopes(),
38-
ManagedIdentityType: "SystemAssigned",
37+
ManagedIdentityType: identity.SystemAssignedIdentity,
3938
},
4039
})
4140
if err != nil {

examples/entraid/managedidentity_userassigned/main.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ func main() {
2727
// Create a managed identity credentials provider for user-assigned identity
2828
cp, err := entraid.NewManagedIdentityCredentialsProvider(entraid.ManagedIdentityCredentialsProviderOptions{
2929
CredentialsProviderOptions: entraid.CredentialsProviderOptions{
30-
ClientID: cfg.AzureClientID,
3130
TokenManagerOptions: manager.TokenManagerOptions{
3231
ExpirationRefreshRatio: 0.001, // Set to refresh very early
3332
LowerRefreshBound: time.Second * 1, // Set lower bound to 1 second

providers.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ type ConfidentialCredentialsProviderOptions struct {
101101
// The client credentials can be either a client secret or a client certificate.
102102
func NewConfidentialCredentialsProvider(options ConfidentialCredentialsProviderOptions) (auth.StreamingCredentialsProvider, error) {
103103
// If the client ID is not provided in the confidential identity provider options, use the one from the credentials provider options.
104-
// Those are duplicated and should be the same.
104+
// Those are duplicated and should be the same and the one in the credentials provider options is deprecated.
105105
if options.ConfidentialIdentityProviderOptions.ClientID == "" {
106106
options.ConfidentialIdentityProviderOptions.ClientID = options.CredentialsProviderOptions.ClientID
107107
}

providers_test.go

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ func TestNewManagedIdentityCredentialsProvider(t *testing.T) {
2424
name: "valid managed identity options",
2525
options: ManagedIdentityCredentialsProviderOptions{
2626
CredentialsProviderOptions: CredentialsProviderOptions{
27-
ClientID: "test-client-id",
2827
TokenManagerOptions: manager.TokenManagerOptions{
2928
ExpirationRefreshRatio: 0.7,
3029
},
@@ -112,7 +111,6 @@ func TestNewConfidentialCredentialsProvider(t *testing.T) {
112111
name: "valid confidential options with client secret",
113112
options: ConfidentialCredentialsProviderOptions{
114113
CredentialsProviderOptions: CredentialsProviderOptions{
115-
ClientID: "test-client-id",
116114
TokenManagerOptions: manager.TokenManagerOptions{
117115
ExpirationRefreshRatio: 0.7,
118116
},
@@ -197,7 +195,6 @@ func TestNewDefaultAzureCredentialsProvider(t *testing.T) {
197195
name: "valid default azure options",
198196
options: DefaultAzureCredentialsProviderOptions{
199197
CredentialsProviderOptions: CredentialsProviderOptions{
200-
ClientID: "test-client-id",
201198
TokenManagerOptions: manager.TokenManagerOptions{
202199
ExpirationRefreshRatio: 0.7,
203200
},
@@ -271,7 +268,6 @@ func TestCredentialsProviderInterface(t *testing.T) {
271268
provider: func() auth.StreamingCredentialsProvider {
272269
options := ManagedIdentityCredentialsProviderOptions{
273270
CredentialsProviderOptions: CredentialsProviderOptions{
274-
ClientID: "test-client-id",
275271
TokenManagerOptions: manager.TokenManagerOptions{
276272
ExpirationRefreshRatio: 0.7,
277273
},
@@ -305,7 +301,6 @@ func TestCredentialsProviderInterface(t *testing.T) {
305301
provider: func() auth.StreamingCredentialsProvider {
306302
options := ConfidentialCredentialsProviderOptions{
307303
CredentialsProviderOptions: CredentialsProviderOptions{
308-
ClientID: "test-client-id",
309304
TokenManagerOptions: manager.TokenManagerOptions{
310305
ExpirationRefreshRatio: 0.7,
311306
},
@@ -341,7 +336,6 @@ func TestCredentialsProviderInterface(t *testing.T) {
341336
provider: func() auth.StreamingCredentialsProvider {
342337
options := DefaultAzureCredentialsProviderOptions{
343338
CredentialsProviderOptions: CredentialsProviderOptions{
344-
ClientID: "test-client-id",
345339
TokenManagerOptions: manager.TokenManagerOptions{
346340
ExpirationRefreshRatio: 0.7,
347341
},
@@ -386,7 +380,6 @@ func TestCredentialsProviderInterface(t *testing.T) {
386380
func TestNewManagedIdentityCredentialsProvider_TokenManagerFactoryError(t *testing.T) {
387381
options := ManagedIdentityCredentialsProviderOptions{
388382
CredentialsProviderOptions: CredentialsProviderOptions{
389-
ClientID: "test-client-id",
390383
TokenManagerOptions: manager.TokenManagerOptions{
391384
ExpirationRefreshRatio: 0.7,
392385
},
@@ -412,7 +405,6 @@ func TestNewManagedIdentityCredentialsProvider_TokenManagerFactoryError(t *testi
412405
func TestNewConfidentialCredentialsProvider_TokenManagerFactoryError(t *testing.T) {
413406
options := ConfidentialCredentialsProviderOptions{
414407
CredentialsProviderOptions: CredentialsProviderOptions{
415-
ClientID: "test-client-id",
416408
TokenManagerOptions: manager.TokenManagerOptions{
417409
ExpirationRefreshRatio: 0.7,
418410
},
@@ -440,7 +432,6 @@ func TestNewConfidentialCredentialsProvider_TokenManagerFactoryError(t *testing.
440432
func TestNewDefaultAzureCredentialsProvider_TokenManagerFactoryError(t *testing.T) {
441433
options := DefaultAzureCredentialsProviderOptions{
442434
CredentialsProviderOptions: CredentialsProviderOptions{
443-
ClientID: "test-client-id",
444435
TokenManagerOptions: manager.TokenManagerOptions{
445436
ExpirationRefreshRatio: 0.7,
446437
},
@@ -464,7 +455,6 @@ func TestNewDefaultAzureCredentialsProvider_TokenManagerFactoryError(t *testing.
464455
func TestNewManagedIdentityCredentialsProvider_TokenManagerStartError(t *testing.T) {
465456
options := ManagedIdentityCredentialsProviderOptions{
466457
CredentialsProviderOptions: CredentialsProviderOptions{
467-
ClientID: "test-client-id",
468458
TokenManagerOptions: manager.TokenManagerOptions{
469459
ExpirationRefreshRatio: 0.7,
470460
},
@@ -506,7 +496,6 @@ func TestNewManagedIdentityCredentialsProvider_TokenManagerStartError(t *testing
506496
func TestNewConfidentialCredentialsProvider_TokenManagerStartError(t *testing.T) {
507497
options := ConfidentialCredentialsProviderOptions{
508498
CredentialsProviderOptions: CredentialsProviderOptions{
509-
ClientID: "test-client-id",
510499
TokenManagerOptions: manager.TokenManagerOptions{
511500
ExpirationRefreshRatio: 0.7,
512501
},
@@ -550,7 +539,6 @@ func TestNewConfidentialCredentialsProvider_TokenManagerStartError(t *testing.T)
550539
func TestNewDefaultAzureCredentialsProvider_TokenManagerStartError(t *testing.T) {
551540
options := DefaultAzureCredentialsProviderOptions{
552541
CredentialsProviderOptions: CredentialsProviderOptions{
553-
ClientID: "test-client-id",
554542
TokenManagerOptions: manager.TokenManagerOptions{
555543
ExpirationRefreshRatio: 0.7,
556544
},

0 commit comments

Comments
 (0)