func verifyAuthObject()

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
}