The notion of that configuration object is documented here although it does not go into all the details (every property available under that object) and to be honest I believe some of them may be considered implementation details where the lack of documentation is intentional.
config object contains the set of configuration values that adjusts the behavior of the Hosted Login Page at runtime.
config.extraParams is covered by the same documentation linked above, but the full structure of properties like
config.internalOptions may be something that won’t ever be documented as it can be considered an implementation detail. Having said that I personally think that even if parts of this needs to be kept as an implementation details there are some that may and should be better documented so I’ll chase this up internally.
Meanwhile if the goal is to have this running locally for the purposes of development (with the consideration that not all logic could be tested to completion locally as you would still be running this outside of the Auth0 service) I would consider the following:
- instead of changing the template to have compensating logic (the try/catch) for when it’s running locally I would serve the template file from a simple HTTP server that does the placeholder replacement before sending the response to the browser.
- generate the placeholder value by performing the inverted set of operations used in the template; something like
var placeholder = window.btoa(unescape(encodeURIComponent(JSON.stringify(config)))); where
config would be the configuration object that you would want your local template page to receive.
The above still leaves you with the problem of creating that configuration object before serving the template, but has the benefit that you don’t do any actual modification to the template just for the purposes of development. With regards on how to build that configuration object that could be converted to placeholder it will depend on how much your hosted login page templates uses from the configuration placeholder and again, it would never be an equivalent experience. Personally, given this is to speed up development I would just navigate to the hosted login page for real and in the browser tools
JSON.stringify(config) and start with that. Nonetheless I will still follow this with regards to more documentation around this object as this seems to indeed be a gap.