Our customers have versions of our Java web app installed in their data center. I want to build a managed packaged Salesforce App that is able to connect to those web app instances using Salesforce Canvas.
As I planned to packaged the Connected Canvas App it seems that I then would have to hardcode the base URL (domain), which would make it impossible for package customers to change it to their own endpoints.
Is any of my potential solutions feasible?
1) Use a Loopback URL which points to a packaged Visualforce page that redirects based on a dynamic URL provided in the Canvas parameters.
2) Use something like externally stored endpoint information. Custom settings or Named Credentials that could be used inside the Canvas.
3) Let the User create the Connected Canvas App outside of the Managed Package but reference it inside my package. E.g. A Lightning Component where I pass the DeveloperName of the Canvas App.