* add `oidc-config` setting allowing an admin user to configure parameters
* modify login page to show another button when oidc is configured
* add dependency `openid-client` `v5.4.0`
* add backend route to process "OAuth2 Authorization Code" flow
initialisation
* add backend route to process callback of above flow
* sign in the authenticated user with internal jwt token if internal
user with email matching the one retrieved from oauth claims exists
Note: Only Open ID Connect Discovery is supported which most modern
Identity Providers offer.
Tested with Authentik 2023.2.2 and Keycloak 18.0.2