diff options
author | Richard van der Hoff <1389908+richvdh@users.noreply.github.com> | 2019-09-25 12:10:26 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-25 12:10:26 +0100 |
commit | 990928abde4f3ccd7d43e6214abd7d36434953a9 (patch) | |
tree | 4df925d25760440333036494c083a99789df5d19 /synapse/handlers/auth.py | |
parent | Refactor the user-interactive auth handling (#6105) (diff) | |
download | synapse-990928abde4f3ccd7d43e6214abd7d36434953a9.tar.xz |
Stop advertising unsupported flows for registration (#6107)
If email or msisdn verification aren't supported, let's stop advertising them for registration. Fixes #6100.
Diffstat (limited to 'synapse/handlers/auth.py')
-rw-r--r-- | synapse/handlers/auth.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/synapse/handlers/auth.py b/synapse/handlers/auth.py index f920c2f6c1..333eb30625 100644 --- a/synapse/handlers/auth.py +++ b/synapse/handlers/auth.py @@ -61,7 +61,8 @@ class AuthHandler(BaseHandler): self.checkers = {} # type: dict[str, UserInteractiveAuthChecker] for auth_checker_class in INTERACTIVE_AUTH_CHECKERS: inst = auth_checker_class(hs) - self.checkers[inst.AUTH_TYPE] = inst + if inst.is_enabled(): + self.checkers[inst.AUTH_TYPE] = inst self.bcrypt_rounds = hs.config.bcrypt_rounds @@ -156,6 +157,14 @@ class AuthHandler(BaseHandler): return params + def get_enabled_auth_types(self): + """Return the enabled user-interactive authentication types + + Returns the UI-Auth types which are supported by the homeserver's current + config. + """ + return self.checkers.keys() + @defer.inlineCallbacks def check_auth(self, flows, clientdict, clientip): """ |