mirror of
https://github.com/element-hq/synapse.git
synced 2024-11-28 23:20:09 +03:00
Make /register inhibit logins for ASes
This commit is contained in:
parent
e5556e6fd3
commit
68cb2b90ea
2 changed files with 9 additions and 4 deletions
|
@ -630,7 +630,9 @@ class RegistrationHandler:
|
||||||
"""
|
"""
|
||||||
await self._auto_join_rooms(user_id)
|
await self._auto_join_rooms(user_id)
|
||||||
|
|
||||||
async def appservice_register(self, user_localpart: str, as_token: str) -> str:
|
async def appservice_register(
|
||||||
|
self, user_localpart: str, as_token: str
|
||||||
|
) -> Tuple[str, ApplicationService]:
|
||||||
user = UserID(user_localpart, self.hs.hostname)
|
user = UserID(user_localpart, self.hs.hostname)
|
||||||
user_id = user.to_string()
|
user_id = user.to_string()
|
||||||
service = self.store.get_app_service_by_token(as_token)
|
service = self.store.get_app_service_by_token(as_token)
|
||||||
|
@ -653,7 +655,7 @@ class RegistrationHandler:
|
||||||
appservice_id=service_id,
|
appservice_id=service_id,
|
||||||
create_profile_with_displayname=user.localpart,
|
create_profile_with_displayname=user.localpart,
|
||||||
)
|
)
|
||||||
return user_id
|
return (user_id, service)
|
||||||
|
|
||||||
def check_user_id_not_appservice_exclusive(
|
def check_user_id_not_appservice_exclusive(
|
||||||
self, user_id: str, allowed_appservice: Optional[ApplicationService] = None
|
self, user_id: str, allowed_appservice: Optional[ApplicationService] = None
|
||||||
|
|
|
@ -771,9 +771,12 @@ class RegisterRestServlet(RestServlet):
|
||||||
body: JsonDict,
|
body: JsonDict,
|
||||||
should_issue_refresh_token: bool = False,
|
should_issue_refresh_token: bool = False,
|
||||||
) -> JsonDict:
|
) -> JsonDict:
|
||||||
user_id = await self.registration_handler.appservice_register(
|
user_id, appservice = await self.registration_handler.appservice_register(
|
||||||
username, as_token
|
username, as_token
|
||||||
)
|
)
|
||||||
|
if appservice.msc4190_device_management:
|
||||||
|
body["inhibit_login"] = True
|
||||||
|
|
||||||
return await self._create_registration_details(
|
return await self._create_registration_details(
|
||||||
user_id,
|
user_id,
|
||||||
body,
|
body,
|
||||||
|
@ -937,7 +940,7 @@ class RegisterAppServiceOnlyRestServlet(RestServlet):
|
||||||
|
|
||||||
as_token = self.auth.get_access_token_from_request(request)
|
as_token = self.auth.get_access_token_from_request(request)
|
||||||
|
|
||||||
user_id = await self.registration_handler.appservice_register(
|
user_id, _ = await self.registration_handler.appservice_register(
|
||||||
desired_username, as_token
|
desired_username, as_token
|
||||||
)
|
)
|
||||||
return 200, {"user_id": user_id}
|
return 200, {"user_id": user_id}
|
||||||
|
|
Loading…
Reference in a new issue