Match MSC

pull/8320/head
Will Hunt 2020-09-16 18:20:07 +01:00
parent 5c04407cdf
commit c3c1cc7162
2 changed files with 7 additions and 2 deletions

View File

@ -57,7 +57,7 @@ class JoinRules:
class LoginType: class LoginType:
PASSWORD = "m.login.password" PASSWORD = "m.login.password"
APPSERVICE = "uk.half-shot.unstable.login.appservice" APPSERVICE = "uk.half-shot.msc2778.login.application_service"
EMAIL_IDENTITY = "m.login.email.identity" EMAIL_IDENTITY = "m.login.email.identity"
MSISDN = "m.login.msisdn" MSISDN = "m.login.msisdn"
RECAPTCHA = "m.login.recaptcha" RECAPTCHA = "m.login.recaptcha"

View File

@ -240,7 +240,12 @@ class LoginRestServlet(RestServlet):
else: else:
qualified_user_id = UserID(identifier["user"], self.hs.hostname).to_string() qualified_user_id = UserID(identifier["user"], self.hs.hostname).to_string()
if login_submission["type"] == LoginType.APPSERVICE and appservice is not None: if login_submission["type"] == LoginType.APPSERVICE:
if appservice is None or not appservice.is_interested_in_user(
qualified_user_id
):
raise LoginError(403, "Invalid access_token", errcode=Codes.FORBIDDEN)
result = await self._complete_login(qualified_user_id, login_submission) result = await self._complete_login(qualified_user_id, login_submission)
return result return result