diff options
author | Richard van der Hoff <1389908+richvdh@users.noreply.github.com> | 2019-07-08 14:54:22 +0100 |
---|---|---|
committer | Amber Brown <hawkowl@atleastfornow.net> | 2019-07-08 23:54:22 +1000 |
commit | f9e99f95340c2489ab38c6782ac16440455777f3 (patch) | |
tree | c29a728523eb6c6b0d13ee31dc3571379636b1bd /synapse/rest | |
parent | Move get_or_create_user to test code (#5628) (diff) | |
download | synapse-f9e99f95340c2489ab38c6782ac16440455777f3.tar.xz |
Factor out some redundant code in the login impl (#5639)
* Factor out some redundant code in the login impl Also fixes a redundant access_token which was generated during jwt login. * changelog
Diffstat (limited to 'synapse/rest')
-rw-r--r-- | synapse/rest/client/v1/login.py | 49 |
1 files changed, 10 insertions, 39 deletions
diff --git a/synapse/rest/client/v1/login.py b/synapse/rest/client/v1/login.py index f961178235..b13043cc64 100644 --- a/synapse/rest/client/v1/login.py +++ b/synapse/rest/client/v1/login.py @@ -283,19 +283,7 @@ class LoginRestServlet(RestServlet): 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 @@ -323,35 +311,18 @@ class LoginRestServlet(RestServlet): 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) |