Many parts of our proxy need configuration. The proxy component needs configuration for the adress, the port and TLS key files. Each service must specify the path where the service will be available and the URL the service is available. Furthermore it needs to specify the policy set which defines to verify if the access should be granted or denied. For every OpenID Connect Provider at least a configuration URL must be supplied. For the policy information point, the directory where the files with the AC entities must be specified. Some miscellaneous configuration, for example the logging level or paths of the log file can also be made. The complete configuration is encapsulated in the OIDCProxyConfig class.
We want to make the configuration as easy as possible. Therefore, our configuration file is in YAML (todo: ref) syntax. To parse the configuration file, we use pyyaml ([pyyaml]). PyYAML parses the configuration into a dictionary which we use in our config module.