Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Factor out some redundant code in the login impl #5639

Merged
merged 2 commits into from
Jul 8, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/5639.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Factor out some redundant code in the login implementation.
49 changes: 10 additions & 39 deletions synapse/rest/client/v1/login.py
Original file line number Diff line number Diff line change
Expand Up @@ -283,19 +283,7 @@ def do_token_login(self, login_submission):
yield auth_handler.validate_short_term_login_token_and_get_user_id(token)
)

device_id = login_submission.get("device_id")
initial_display_name = login_submission.get("initial_device_display_name")
device_id, access_token = yield self.registration_handler.register_device(
user_id, device_id, initial_display_name
)

result = {
"user_id": user_id, # may have changed
"access_token": access_token,
"home_server": self.hs.hostname,
"device_id": device_id,
}

result = yield self._register_device_with_callback(user_id, login_submission)
defer.returnValue(result)

@defer.inlineCallbacks
Expand Down Expand Up @@ -323,35 +311,18 @@ def do_jwt_login(self, login_submission):
raise LoginError(401, "Invalid JWT", errcode=Codes.UNAUTHORIZED)

user_id = UserID(user, self.hs.hostname).to_string()
device_id = login_submission.get("device_id")
initial_display_name = login_submission.get("initial_device_display_name")

auth_handler = self.auth_handler
registered_user_id = yield auth_handler.check_user_exists(user_id)
if registered_user_id:
device_id, access_token = yield self.registration_handler.register_device(
registered_user_id, device_id, initial_display_name
)

result = {
"user_id": registered_user_id,
"access_token": access_token,
"home_server": self.hs.hostname,
}
else:
user_id, access_token = (
yield self.registration_handler.register(localpart=user)
)
device_id, access_token = yield self.registration_handler.register_device(
user_id, device_id, initial_display_name
registered_user_id = yield self.auth_handler.check_user_exists(user_id)
if not registered_user_id:
registered_user_id, _ = (
yield self.registration_handler.register(
localpart=user, generate_token=False
)
)

result = {
"user_id": user_id, # may have changed
"access_token": access_token,
"home_server": self.hs.hostname,
}

result = yield self._register_device_with_callback(
registered_user_id, login_submission
)
defer.returnValue(result)


Expand Down