feat: enhance jsonschema for third_party config #1990
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
The JSON schema for the
third_party
configuration currently does not accurately represent dependencies between properties. These changes address the following issues:providers
or at least one provider incustom_providers
isenabled
but any one ofthird_party.redirect_url
/third_party.error_redirect_url
/third_party.allowed_redirect_urls
is omitted - this should not happen, i.e. if a provider isenabled
thenthird_party.redirect_url
,third_party.error_redirect_url
,third_party.allowed_redirect_urls
are requiredcustom_provider
omits a property that would only be required if the provider was enabled (display_name
,client_id
,secret
,scopes
) - this should not happen, if acustom_provider
is notenabled
then all other configurations are optionalHow to test
Generate the JSON schema for the configuration using the
schema generate config
cmd. Then do one of the following:backend/config/config.yaml
)