pkg/internal/token/azureclicredential.go (33 lines of code) (raw):

package token import ( "context" "fmt" "github.com/Azure/azure-sdk-for-go/sdk/azcore" "github.com/Azure/azure-sdk-for-go/sdk/azcore/policy" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" ) type AzureCLICredential struct { cred *azidentity.AzureCLICredential } var _ CredentialProvider = (*AzureCLICredential)(nil) func newAzureCLICredential(opts *Options) (CredentialProvider, error) { cred, err := azidentity.NewAzureCLICredential(&azidentity.AzureCLICredentialOptions{ TenantID: opts.TenantID, }) if err != nil { return nil, fmt.Errorf("failed to create azure cli credential: %w", err) } return &AzureCLICredential{cred: cred}, nil } func (c *AzureCLICredential) Name() string { return "AzureCLICredential" } func (c *AzureCLICredential) Authenticate(ctx context.Context, opts *policy.TokenRequestOptions) (azidentity.AuthenticationRecord, error) { return azidentity.AuthenticationRecord{}, errAuthenticateNotSupported } func (c *AzureCLICredential) GetToken(ctx context.Context, opts policy.TokenRequestOptions) (azcore.AccessToken, error) { return c.cred.GetToken(ctx, opts) } func (c *AzureCLICredential) NeedAuthenticate() bool { return false }