@@ -20,6 +20,7 @@ import (
2020 "context"
2121 "fmt"
2222
23+ "github.com/Azure/azure-sdk-for-go/sdk/azcore/policy"
2324 asocontainerservicev1hub "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage"
2425 "github.com/Azure/azure-service-operator/v2/pkg/genruntime"
2526 "github.com/pkg/errors"
@@ -29,7 +30,6 @@ import (
2930 infrav1 "sigs.k8s.io/cluster-api-provider-azure/api/v1beta1"
3031 "sigs.k8s.io/cluster-api-provider-azure/azure"
3132 "sigs.k8s.io/cluster-api-provider-azure/azure/services/aso"
32- "sigs.k8s.io/cluster-api-provider-azure/azure/services/token"
3333 clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
3434 "sigs.k8s.io/cluster-api/util/secret"
3535 "sigs.k8s.io/controller-runtime/pkg/client"
@@ -148,7 +148,7 @@ func reconcileKubeconfig(ctx context.Context, scope ManagedClusterScope, namespa
148148 }
149149
150150 if scope .AreLocalAccountsDisabled () {
151- userKubeconfigWithToken , err := getUserKubeConfigWithToken (userKubeConfigData , ctx , scope )
151+ userKubeconfigWithToken , err := getUserKubeConfigWithToken (ctx , userKubeConfigData , scope )
152152 if err != nil {
153153 return nil , nil , errors .Wrap (err , "error while trying to get user kubeconfig with token" )
154154 }
@@ -190,28 +190,17 @@ func getUserKubeconfigData(ctx context.Context, scope ManagedClusterScope, names
190190}
191191
192192// getUserKubeConfigWithToken returns the kubeconfig with user token, for capz to create the target cluster.
193- func getUserKubeConfigWithToken (userKubeConfigData []byte , ctx context.Context , scope azure.Authorizer ) ([]byte , error ) {
194- tokenClient , err := token .NewClient (scope )
195- if err != nil {
196- return nil , errors .Wrap (err , "error while getting aad token client" )
197- }
198-
199- token , err := tokenClient .GetAzureActiveDirectoryToken (ctx , aadResourceID )
193+ func getUserKubeConfigWithToken (ctx context.Context , userKubeConfigData []byte , auth azure.Authorizer ) ([]byte , error ) {
194+ token , err := auth .Token ().GetToken (ctx , policy.TokenRequestOptions {Scopes : []string {aadResourceID + "/.default" }})
200195 if err != nil {
201196 return nil , errors .Wrap (err , "error while getting aad token for user kubeconfig" )
202197 }
203-
204- return createUserKubeconfigWithToken (token , userKubeConfigData )
205- }
206-
207- // createUserKubeconfigWithToken gets the kubeconfig data for authenticating with target cluster.
208- func createUserKubeconfigWithToken (token string , userKubeConfigData []byte ) ([]byte , error ) {
209198 config , err := clientcmd .Load (userKubeConfigData )
210199 if err != nil {
211200 return nil , errors .Wrap (err , "error while trying to unmarshal new user kubeconfig with token" )
212201 }
213202 for _ , auth := range config .AuthInfos {
214- auth .Token = token
203+ auth .Token = token . Token
215204 auth .Exec = nil
216205 }
217206 kubeconfig , err := clientcmd .Write (* config )
0 commit comments