oops, check all login types

This commit is contained in:
Matthew Hodgson 2018-01-19 18:23:56 +00:00
parent 8fe253f19b
commit 62d7d66ae5
1 changed files with 10 additions and 13 deletions

View File

@ -365,19 +365,16 @@ class RegisterRestServlet(RestServlet):
# /register/email/requestToken when we requested a 3pid, but that's not # /register/email/requestToken when we requested a 3pid, but that's not
# guaranteed. # guaranteed.
if ( if auth_result:
auth_result and for login_type in [LoginType.EMAIL_IDENTITY, LoginType.EMAIL_MSISDN]:
( if login_type in auth_result:
LoginType.EMAIL_IDENTITY in auth_result or medium = auth_result[login_type].threepid['medium']
LoginType.EMAIL_MSISDN in auth_result address = auth_result[login_type].threepid['address']
)
):
medium = auth_result[LoginType.EMAIL_IDENTITY].threepid['medium']
address = auth_result[LoginType.EMAIL_IDENTITY].threepid['address']
if not check_3pid_allowed(self.hs, medium, address): if not check_3pid_allowed(self.hs, medium, address):
raise SynapseError( raise SynapseError(
403, "Third party identifier is not allowed", Codes.THREEPID_DENIED, 403, "Third party identifier is not allowed",
Codes.THREEPID_DENIED,
) )
if registered_user_id is not None: if registered_user_id is not None: