diff options
author | Quentin Gliech <quentingliech@gmail.com> | 2020-05-08 14:30:40 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-08 08:30:40 -0400 |
commit | 616af44137c78d481024da83bb51ed0d50a49522 (patch) | |
tree | 0dff524691b7619ccb157755c4d138f33ec82ef9 /synapse/app | |
parent | Add room details admin endpoint (#7317) (diff) | |
download | synapse-616af44137c78d481024da83bb51ed0d50a49522.tar.xz |
Implement OpenID Connect-based login (#7256)
Diffstat (limited to 'synapse/app')
-rw-r--r-- | synapse/app/homeserver.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/synapse/app/homeserver.py b/synapse/app/homeserver.py index cbd1ea475a..bc8695d8dd 100644 --- a/synapse/app/homeserver.py +++ b/synapse/app/homeserver.py @@ -192,6 +192,11 @@ class SynapseHomeServer(HomeServer): } ) + if self.get_config().oidc_enabled: + from synapse.rest.oidc import OIDCResource + + resources["/_synapse/oidc"] = OIDCResource(self) + if self.get_config().saml2_enabled: from synapse.rest.saml2 import SAML2Resource @@ -422,6 +427,13 @@ def setup(config_options): # Check if it needs to be reprovisioned every day. hs.get_clock().looping_call(reprovision_acme, 24 * 60 * 60 * 1000) + # Load the OIDC provider metadatas, if OIDC is enabled. + if hs.config.oidc_enabled: + oidc = hs.get_oidc_handler() + # Loading the provider metadata also ensures the provider config is valid. + yield defer.ensureDeferred(oidc.load_metadata()) + yield defer.ensureDeferred(oidc.load_jwks()) + _base.start(hs, config.listeners) hs.get_datastore().db.updates.start_doing_background_updates() |