diff options
author | Richard van der Hoff <richard@matrix.org> | 2016-07-15 13:19:07 +0100 |
---|---|---|
committer | Richard van der Hoff <richard@matrix.org> | 2016-07-18 16:39:44 +0100 |
commit | f863a52ceacf69ab19b073383be80603a2f51c0a (patch) | |
tree | 583ea5cd254a813664d6f02c53e22a262bf38cf9 /synapse/server.py | |
parent | Merge pull request #928 from matrix-org/rav/refactor_login (diff) | |
download | synapse-f863a52ceacf69ab19b073383be80603a2f51c0a.tar.xz |
Add device_id support to /login
Add a 'devices' table to the storage, as well as a 'device_id' column to refresh_tokens. Allow the client to pass a device_id, and initial_device_display_name, to /login. If login is successful, then register the device in the devices table if it wasn't known already. If no device_id was supplied, make one up. Associate the device_id with the access token and refresh token, so that we can get at it again later. Ensure that the device_id is copied from the refresh token to the access_token when the token is refreshed.
Diffstat (limited to 'synapse/server.py')
-rw-r--r-- | synapse/server.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/synapse/server.py b/synapse/server.py index d49a1a8a96..e8b166990d 100644 --- a/synapse/server.py +++ b/synapse/server.py @@ -25,6 +25,7 @@ from twisted.enterprise import adbapi from synapse.appservice.scheduler import ApplicationServiceScheduler from synapse.appservice.api import ApplicationServiceApi from synapse.federation import initialize_http_replication +from synapse.handlers.device import DeviceHandler from synapse.http.client import SimpleHttpClient, InsecureInterceptableContextFactory from synapse.notifier import Notifier from synapse.api.auth import Auth @@ -92,6 +93,7 @@ class HomeServer(object): 'typing_handler', 'room_list_handler', 'auth_handler', + 'device_handler', 'application_service_api', 'application_service_scheduler', 'application_service_handler', @@ -197,6 +199,9 @@ class HomeServer(object): def build_auth_handler(self): return AuthHandler(self) + def build_device_handler(self): + return DeviceHandler(self) + def build_application_service_api(self): return ApplicationServiceApi(self) |