There is a “baseUrl” field in the descriptor. In our (I guess almost everyone?) case, the baseUrl is the same as the origin of the descriptor or a relative path to the same origin.
For example, if the descriptor is at “https://example.com/descriptor” then the baseUrl would be “https://example.com/relative/path”.
Why do we have to repeat origin (https://example.com) here? Are there any concerns if we just give baseUrl as “/relative/path” and let the platform deduce the origin?
In fact, our backend that serves the descriptor does the same under the hood.
I cannot answer for why the platform works the way it does so I can only offer a practical point. Connect simply will not accept a relative URL as the
baseUrl. The docs may not explain well but they do clearly specify:
The baseUrl must start with https:// to ensure that all data is sent securely between our cloud instances and your app.
Note: each app must have a unique baseUrl. If you would like to serve multiple apps from the same host, consider adding a path prefix into the baseUrl.
Relative URLs can’t start with a protocol and would not be unique.
Thanks, @ibuchanan for your reply. I have read the docs. This is more to:
- Understand the rationality behind the design;
- Maybe a feature request to make protocol and domain optional from baseUrl.
If we check the ACE implementation, we will notice that ACE also dynamically generates the baseUrl. Bitbucket