in internal/controller/utils.go [174:201]
func verifyAuthObject(auth *acpv1.AzureAppConfigurationProviderAuth) error {
if auth != nil {
var authCount int = 0
if auth.ServicePrincipalReference != nil {
authCount++
}
if auth.ManagedIdentityClientId != nil {
authCount++
_, err := uuid.Parse(*auth.ManagedIdentityClientId)
if err != nil {
return loader.NewArgumentError("auth", fmt.Errorf("ManagedIdentityClientId %q in auth field is not a valid uuid", *auth.ManagedIdentityClientId))
}
}
if auth.WorkloadIdentity != nil {
authCount++
err := verifyWorkloadIdentityParameters(auth.WorkloadIdentity)
if err != nil {
return err
}
}
if authCount > 1 {
return loader.NewArgumentError("auth", fmt.Errorf("more than one authentication methods are specified in 'auth' field"))
}
}
return nil
}