By domain I am referring to a specific client's environment. Many clients will have their live production domain as well as various non-prod domains (mock, cert, etc).
In terms of using a route param, it is suggested to use the iss parameter as that is a more interoperable way of determining where your app is launched. In lieu of that though, one thing to remember is that only
one launch URI can be configured for your app. So by having a URL, as you mentioned, such as
https://our.application.com/v1/<partner-identifier>/oauth/launch would require that a new app be created, this means every single client domain you onboard to (so that would include a new instance of your app for each client nonprods [mock, cert, etc] and production) would require that you have a new app ID and client ID. As I mentioned this will become increasingly more difficult for both you and Cerner to manage and we would likely suggest during validation through our code Program that you refrain from doing this.
The second URL (
https://our.application.com/v1/oauth/launch?partner-identifier=<partner-identifier>) you posted is potentially the only viable alternative but would require some modifications for it to work and is also a less interoperable way of accomplishing your goal. In the code Console (where you registered your app) you would configure your launch URL as
https://our.application.com/v1/oauth/launch and when the app is onboarded we can append some pre-defined parameter that can be configured on per-client or per-domain basis. Say there is a client named Baseline East and you assign them an identifier from your application we can call it BLE as an example. When the app is configured to launch in the domain a query parameter can be configured which, when launched would result in a launch URL like so:
https://our.application.com/v1/oauth/launch?cerner_partner-identifier=BLEThe important thing to note is that the query parameter
must be prefixed by
cerner_. That effectively means you are coupling the implementation of your app to this custom parameter (this also is why it is recommended to utilize the iss parameter versus this approach). Please also note that while this is something that can be done when your app is being launched from Powerchart this is not something we support the ability to simulate within the code Console and so you will not be able to easily test this workflow through it.
Thanks,
Ben (Cerner)